/* ══════════════════════════════════════════════════════════
   WordPress / Elementor / WooCommerce glue.
   The design itself is styles.css + pages.css, untouched.
   ══════════════════════════════════════════════════════════ */

/* ---------- Elementor: each Fitlexa widget IS a full section — no extra spacing ---------- */
.elementor .e-con:has(> .elementor-widget[class*="elementor-widget-fx_"]),
.elementor .e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-fx_"]){
  --padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;
  --margin-top:0;--margin-bottom:0;--gap:0;--row-gap:0;--column-gap:0;
  --container-max-width:100%;--content-width:100%;padding:0;gap:0}
.elementor .e-con > .e-con-inner:has(> .elementor-widget[class*="elementor-widget-fx_"]){max-width:100%;padding:0;gap:0}
.elementor .elementor-widget[class*="elementor-widget-fx_"]{margin:0;width:100%;max-width:100%}
.elementor .elementor-widget[class*="elementor-widget-fx_"] > .elementor-widget-container{margin:0;padding:0}
.elementor .elementor-widget:not(:last-child)[class*="elementor-widget-fx_"]{margin-block-end:0}

/* inside the Elementor editor nothing waits for a scroll reveal */
body.elementor-editor-active [data-reveal],
body.elementor-editor-preview [data-reveal]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}

/* ---------- plain WordPress page content (pages not built with Elementor) ---------- */
.fx-content{font-size:15px;line-height:1.75;color:var(--tx2)}
.fx-content h2{font-size:clamp(22px,2.6vw,30px);margin:28px 0 12px;color:var(--tx)}
.fx-content h3{font-size:19px;margin:22px 0 10px;color:var(--tx)}
.fx-content p{margin:0 0 14px}
.fx-content ul,.fx-content ol{margin:0 0 16px 20px}
.fx-content a{color:var(--flame);font-weight:700}

/* ---------- WooCommerce base (its own CSS is switched off) ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{list-style:none;margin:0 0 18px;padding:14px 18px;
  border-radius:var(--r-m);border:1px solid var(--line);background:var(--cream);font-size:13.5px;font-weight:600}
.woocommerce-error{border-color:rgba(255,74,28,.4);background:rgba(255,74,28,.06)}
.woocommerce-error li{margin:2px 0}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:12px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce-page a.button,.woocommerce-page button.button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;
  background:var(--ink);color:#fff;font-weight:800;font-size:13px;letter-spacing:.04em;border:0;cursor:pointer;
  text-transform:uppercase;transition:transform .25s var(--ez),background .25s}
.woocommerce a.button:hover,.woocommerce button.button:hover{transform:translateY(-2px)}
.woocommerce button.button.alt,#place_order{background:var(--volt);color:var(--ink);width:100%;padding:17px 22px;font-size:14px}

.woocommerce form .form-row{display:flex;flex-direction:column;gap:7px;margin:0}
.woocommerce form .form-row label{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--tx2)}
.woocommerce form .form-row label .required{color:var(--flame);text-decoration:none}
.woocommerce form .form-row label .optional{text-transform:none;font-weight:600;color:var(--tx3)}
.woocommerce form .form-row .woocommerce-input-wrapper{display:block;width:100%}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce form .form-row .select2-selection{
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-s);padding:13px 15px;font-size:14px;
  font-weight:500;width:100%;min-height:48px;font-family:inherit;color:var(--tx)}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{
  border-color:var(--ink);box-shadow:0 0 0 3px rgba(10,11,13,.07);outline:0}
.woocommerce form .form-row textarea{min-height:110px}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--flame)}
.select2-container .select2-selection--single{height:48px;display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
@media(max-width:860px){.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{font-size:16px}}

/* ---------- checkout ---------- */
.woocommerce-checkout .cartp{grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr)}
@media(max-width:940px){.woocommerce-checkout .cartp{grid-template-columns:minmax(0,1fr)}}
.fx-co-main,.fx-co-sum{min-width:0}
.fx-co-sum{position:sticky;top:96px}
@media(max-width:940px){.fx-co-sum{position:static}}
.fx-co-trust{font-size:11.5px;color:var(--tx3);text-align:center;margin-top:14px}
#customer_details h3{font-size:20px;margin:0 0 18px}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.woocommerce-billing-fields__field-wrapper .form-row-wide,.woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-additional-fields__field-wrapper .form-row{grid-column:1/-1}
@media(max-width:720px){.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}}
.woocommerce-shipping-fields,.woocommerce-additional-fields{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
#ship-to-different-address{font-size:14px;text-transform:none;letter-spacing:0}
#ship-to-different-address label{display:flex;align-items:center;gap:10px;cursor:pointer}
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;font-size:13.5px}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:9px 0;text-align:left;vertical-align:top}
.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table th:last-child{text-align:right}
.woocommerce-checkout-review-order-table thead{display:none}
.woocommerce-checkout-review-order-table .cart_item td{border-bottom:1px solid var(--line)}
.woocommerce-checkout-review-order-table .product-name{font-weight:700;padding-right:12px}
.woocommerce-checkout-review-order-table .product-quantity{color:var(--tx3);font-weight:600}
.woocommerce-checkout-review-order-table .variation{font-size:11.5px;color:var(--tx3);font-weight:500;margin-top:3px}
.woocommerce-checkout-review-order-table .variation dt,.woocommerce-checkout-review-order-table .variation dd{display:inline;margin:0}
.woocommerce-checkout-review-order-table .variation dd p{display:inline;margin:0}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{
  border-top:1px solid var(--line);padding-top:16px;font-size:14px;font-weight:800}
.woocommerce-checkout-review-order-table .order-total .amount{font-family:'Anton',sans-serif;font-size:27px;font-weight:400}
#shipping_method{list-style:none;margin:0;padding:0}
#shipping_method li{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.woocommerce-checkout-payment{margin-top:18px}
.wc_payment_methods{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}
.wc_payment_method{padding:15px;border:1.5px solid var(--line);border-radius:var(--r-m);background:var(--paper)}
.wc_payment_method:has(input:checked){border-color:var(--ink);background:#fff}
.wc_payment_method > label{font-size:13.5px;font-weight:800;cursor:pointer;margin-left:6px}
.wc_payment_method input{accent-color:var(--ink)}
.payment_box{font-size:12.5px;color:var(--tx2);margin-top:10px;line-height:1.6}
.woocommerce-terms-and-conditions-wrapper{font-size:12px;color:var(--tx3);margin-bottom:14px}
.woocommerce-form-coupon-toggle .woocommerce-info{background:var(--paper)}
.checkout_coupon{display:flex;gap:10px;margin-bottom:18px}
.checkout_coupon .form-row{flex:1}

/* ---------- account ---------- */
.woocommerce-account .fx-content{font-size:14px;line-height:1.6}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:start}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{grid-column:1/-1}
@media(max-width:860px){.woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)}}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:8px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--cream)}
.woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;border-radius:var(--r-s);font-weight:700;font-size:13.5px;color:var(--tx2)}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--ink);color:#fff}
@media(max-width:860px){.woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;gap:4px}.woocommerce-MyAccount-navigation a{white-space:nowrap}}
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content table{width:100%;border-collapse:collapse;font-size:13.5px}
.woocommerce-MyAccount-content th,.woocommerce-MyAccount-content td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce-account:not(.logged-in) .u-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media(max-width:860px){.woocommerce-account:not(.logged-in) .u-columns{grid-template-columns:minmax(0,1fr)}}
.woocommerce-account .u-column1,.woocommerce-account .u-column2{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);padding:26px}
.woocommerce-form-login,.woocommerce-form-register{display:flex;flex-direction:column;gap:14px}
.woocommerce-form__label-for-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;text-transform:none;letter-spacing:0}
.woocommerce-LostPassword a{font-size:13px;font-weight:700;color:var(--flame)}
.woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(max-width:720px){.woocommerce-Addresses{grid-template-columns:minmax(0,1fr)}}
.woocommerce-Address{border:1px solid var(--line);border-radius:var(--r-m);padding:18px}

/* ---------- order received ---------- */
.woocommerce-order-overview{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.woocommerce-order-overview li{border:1px solid var(--line);border-radius:var(--r-m);padding:14px;font-size:12px;color:var(--tx3)}
.woocommerce-order-overview li strong{display:block;color:var(--tx);font-size:15px;margin-top:4px}
.woocommerce-table--order-details{width:100%;border-collapse:collapse;font-size:13.5px}
.woocommerce-table--order-details th,.woocommerce-table--order-details td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}

/* ---------- product reviews (WooCommerce's real reviews) ---------- */
.fx-reviews{max-width:880px}
.fx-reviews .woocommerce-Reviews-title{font-size:16px;margin-bottom:14px}
.fx-reviews ol.commentlist{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:14px}
.fx-reviews .comment_container{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--paper)}
.fx-reviews .comment_container img.avatar{width:44px;height:44px;border-radius:50%}
.fx-reviews .star-rating{color:#F5A524;font-size:13px;letter-spacing:.06em}
.fx-reviews .meta{font-size:12px;color:var(--tx3);margin:4px 0}
.fx-reviews .meta strong{color:var(--tx)}
.fx-reviews .description p{font-size:14px;line-height:1.7;color:var(--tx2)}
.fx-reviews #review_form_wrapper{border:1px solid var(--line);border-radius:var(--r-l);padding:22px;background:var(--cream)}
.fx-reviews .comment-reply-title{font-size:18px;font-weight:800;display:block;margin-bottom:12px}
.fx-reviews .comment-form{display:flex;flex-direction:column;gap:12px}
.fx-reviews .comment-form label{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--tx2);display:block;margin-bottom:6px}
.fx-reviews .comment-form input[type=text],.fx-reviews .comment-form input[type=email],.fx-reviews .comment-form textarea{
  width:100%;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-s);padding:12px 14px;font:inherit;font-size:14px}
.fx-reviews .woocommerce-verification-required,.fx-reviews .woocommerce-noreviews{font-size:13.5px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
