/*
Theme Name: FX Event
Theme URI: https://fx-event.pl/
Author: FX Event
Author URI: https://fx-event.pl/
Description: Equestrian tournament & shop theme for FX Event. Faithful reproduction of the FX Event design with WooCommerce-powered shop, cart and checkout. Polish-language, sticky orange/charcoal branding, bundled Barlow/Cinzel/Oswald fonts.
Version: 1.1.11
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fx-event
Tags: e-commerce, two-columns, custom-menu, featured-images, full-width-template, sticky-post
WC requires at least: 7.0
WC tested up to: 9.5
*/

/* ==========================================================================
   FX Event — design tokens
   Orange #E8741C · Charcoal #1a1714 / #1f1f1f · Sand #f5f3f1
   Cinzel (logo) · Oswald (headings/UI) · Barlow (body)
   ========================================================================== */
:root{
  --fx-orange:#E8741C;
  --fx-dark:#1a1714;
  --fx-ink:#1f1f1f;
  --fx-sand:#f5f3f1;
  --fx-card:#ffffff;
  --fx-line:#e9e5e0;
  --fx-line-2:#e6e2dd;
  --fx-muted:#6d675f;
  --fx-muted-2:#8a857d;
  --fx-body:#4a453f;
  --fx-max:1200px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--fx-sand);
  color:var(--fx-ink);
  font-family:'Barlow',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.6;
}
a{color:var(--fx-orange);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;height:auto;}

.fx-container{max-width:var(--fx-max);margin:0 auto;padding:0 24px;}

/* Prose pages (Polityka prywatności, Regulamin and other plain content pages) */
.fx-prose{max-width:820px;font-family:Barlow,sans-serif;font-size:16px;line-height:1.7;color:#3a3631;}
.fx-prose h1,.fx-prose h2,.fx-prose h3,.fx-prose h4{font-family:Oswald,sans-serif;color:#1f1f1f;line-height:1.25;}
.fx-prose h2{font-size:23px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:36px 0 10px;padding-bottom:9px;border-bottom:2px solid var(--fx-orange);}
.fx-prose h3{font-size:18px;font-weight:600;letter-spacing:.4px;margin:26px 0 6px;}
.fx-prose p{margin:0 0 14px;}
.fx-prose ul,.fx-prose ol{margin:0 0 16px;padding-left:22px;}
.fx-prose li{margin-bottom:7px;}
.fx-prose a{text-decoration:underline;}
.fx-prose strong{color:#1f1f1f;}
.fx-prose > :first-child{margin-top:0;}
.fx-prose blockquote{margin:0 0 16px;padding:10px 16px;border-left:3px solid var(--fx-orange);background:#faf8f5;color:#5b554d;}

/* Starting-fee quantity rendered as a "konie" dropdown on the product page */
.fx-qty-horses select{min-width:130px;height:auto;padding:10px 12px;border:1px solid #d8d3cc;border-radius:3px;background:#fff;font-family:Barlow,sans-serif;font-size:15px;color:#1f1f1f;}

/* Reusable buttons (used in static templates and to restyle WooCommerce) */
.fx-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--fx-orange);color:#fff;border:none;border-radius:3px;
  font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;
  letter-spacing:1.2px;text-transform:uppercase;padding:14px 24px;cursor:pointer;
  transition:background .15s ease;
}
.fx-btn:hover{background:#cf6312;color:#fff;text-decoration:none;}
.fx-btn--ghost{
  background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);font-weight:500;
}
.fx-btn--ghost:hover{background:rgba(255,255,255,.08);color:#fff;}
.fx-btn--dark{background:var(--fx-dark);}
.fx-btn--dark:hover{background:#000;}

/* Section heading with orange underline */
.fx-heading{
  font-family:'Oswald',sans-serif;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;color:var(--fx-ink);margin:0;
}
.fx-rule{width:64px;height:3px;background:var(--fx-orange);margin:14px auto 0;}

/* Dark diagonal texture used across heroes */
.fx-texture{background:repeating-linear-gradient(45deg,#23201c,#23201c 14px,#1e1b18 14px,#1e1b18 28px);}

/* Sponsors: logo on top, optional name below (text-only fallback if no logo) */
.fx-sponsors{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:32px 30px;}
.fx-sponsor{display:flex;flex-direction:column;align-items:center;gap:8px;}
.fx-sponsor__logo{max-height:100px;max-width:240px;width:auto;height:auto;object-fit:contain;}
.fx-sponsor__name{font-family:'Barlow',sans-serif;font-size:13px;letter-spacing:.5px;color:var(--fx-muted);}
.fx-sponsor__text{font-family:'Oswald',sans-serif;font-weight:700;font-size:26px;letter-spacing:1px;color:var(--fx-ink);opacity:.65;}

/* ==========================================================================
   Header / footer
   ========================================================================== */
.fx-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #ece8e3;box-shadow:0 1px 0 rgba(0,0,0,.02);}
.fx-header__inner{max-width:var(--fx-max);margin:0 auto;padding:0 24px;height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.fx-logo{display:flex;flex-direction:column;align-items:center;line-height:1;text-decoration:none;}
.fx-logo:hover{text-decoration:none;}
.fx-logo__fx{font-family:'Cinzel',serif;font-weight:700;font-size:30px;color:var(--fx-orange);letter-spacing:1px;}
.fx-logo__sub{display:flex;align-items:center;gap:6px;margin-top:4px;}
.fx-logo__line{width:13px;height:1px;background:#1f1f1f;display:block;}
.fx-logo__word{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:4px;color:#1f1f1f;}
/* Uploaded logos: header (Site Logo, light bg), footer (dark-bg version), hero. */
.fx-header .custom-logo-link{display:block;line-height:0;}
.fx-header .custom-logo{max-height:52px;width:auto;height:auto;display:block;}
.fx-logo-img{display:inline-block;line-height:0;}
.fx-logo-img img{max-height:92px;width:auto;height:auto;display:block;}
.fx-hero-logo{display:block;max-width:min(100%,840px);max-height:280px;width:auto;height:auto;}
.fx-nav{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0;}
.fx-nav a{font-family:'Oswald',sans-serif;font-weight:500;font-size:14px;letter-spacing:1.2px;text-transform:uppercase;color:#2a2a2a;}
.fx-nav a:hover{color:var(--fx-orange);text-decoration:none;}
.fx-nav .current-menu-item>a,.fx-nav .current_page_item>a{color:var(--fx-orange);font-weight:600;}
.fx-header__actions{display:flex;align-items:center;gap:18px;}
.fx-account-link{display:flex;align-items:center;gap:7px;color:#1f1f1f;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.8px;text-transform:uppercase;}
.fx-account-link:hover{color:var(--fx-orange);text-decoration:none;}
.fx-cart-link{position:relative;display:flex;align-items:center;color:#1f1f1f;}
.fx-cart-count{position:absolute;top:-7px;right:-9px;background:var(--fx-orange);color:#fff;font-family:'Oswald',sans-serif;font-size:11px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.fx-burger{display:none;background:none;border:none;cursor:pointer;padding:6px;}

/* Page hero (dark band with breadcrumb + title), reused by static + WooCommerce pages */
.fx-page-hero{position:relative;background:var(--fx-dark);overflow:hidden;}
.fx-page-hero__tex{position:absolute;inset:0;background:repeating-linear-gradient(45deg,#23201c,#23201c 14px,#1e1b18 14px,#1e1b18 28px);opacity:.7;}
.fx-page-hero__inner{position:relative;max-width:var(--fx-max);margin:0 auto;padding:46px 24px;}
.fx-crumb{font-family:'Barlow',sans-serif;font-size:13px;color:rgba(255,255,255,.6);letter-spacing:1px;margin-bottom:10px;}
.fx-crumb a{color:rgba(255,255,255,.6);}
.fx-crumb a:hover{color:#fff;}
.fx-page-hero h1{font-family:'Oswald',sans-serif;font-weight:700;font-size:40px;letter-spacing:3px;text-transform:uppercase;color:#fff;margin:0;}

.fx-footer{background:var(--fx-dark);color:#cfc8c0;}
.fx-footer a{color:#cfc8c0;}
.fx-footer a:hover{color:#fff;text-decoration:none;}

/* ==========================================================================
   WooCommerce — restyled to the FX aesthetic (hooks + CSS, no template copies)
   ========================================================================== */
.fx-wc{max-width:var(--fx-max);margin:0 auto;padding:48px 24px 72px;}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,
.woocommerce .woocommerce-message{border-top-color:var(--fx-orange);font-family:'Barlow',sans-serif;}
.woocommerce-message::before,.woocommerce-info::before{color:var(--fx-orange);}

/* Product grid */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:#fff;border:1px solid var(--fx-line);border-radius:6px;overflow:hidden;
  padding:0 0 18px;text-align:left;margin-bottom:22px;
}
.woocommerce ul.products li.product a img{margin:0;border-radius:0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Oswald',sans-serif;font-weight:600;font-size:18px;color:var(--fx-ink);
  padding:16px 18px 6px;letter-spacing:.3px;
}
.woocommerce ul.products li.product .price{
  color:var(--fx-orange);font-family:'Oswald',sans-serif;font-weight:700;font-size:21px;
  padding:0 18px;display:block;
}
.woocommerce ul.products li.product .price del{color:var(--fx-muted-2);font-weight:400;font-size:15px;}
.woocommerce ul.products li.product .button{
  margin:14px 18px 0;background:var(--fx-orange);color:#fff;border-radius:3px;
  font-family:'Oswald',sans-serif;font-weight:600;font-size:12px;letter-spacing:1px;
  text-transform:uppercase;padding:11px 16px;
}
.woocommerce ul.products li.product .button:hover{background:#cf6312;}
.woocommerce span.onsale{
  background:var(--fx-dark);color:#fff;font-family:'Oswald',sans-serif;font-weight:600;
  font-size:11px;letter-spacing:1px;text-transform:uppercase;border-radius:2px;min-height:0;
  min-width:0;padding:5px 10px;line-height:1;top:10px;left:10px;margin:0;
}

/* Sort/result bar */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{font-family:'Barlow',sans-serif;color:var(--fx-muted);}
.woocommerce .woocommerce-ordering select{
  border:1px solid #d8d3cc;border-radius:4px;padding:8px 12px;background:#fff;
}

/* Single product */
.woocommerce div.product .product_title{
  font-family:'Oswald',sans-serif;font-weight:700;font-size:38px;color:var(--fx-ink);letter-spacing:.5px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--fx-orange);font-family:'Oswald',sans-serif;font-weight:700;font-size:34px;
}
.woocommerce div.product .woocommerce-product-details__short-description{
  font-family:'Barlow',sans-serif;font-size:16px;line-height:1.6;color:var(--fx-body);
}
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background:var(--fx-orange);color:#fff;border-radius:3px;
  font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;
  padding:14px 24px;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:hover{background:#cf6312;}
.woocommerce .quantity .qty{
  border:1px solid #d8d3cc;border-radius:4px;font-family:'Oswald',sans-serif;font-weight:600;padding:10px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--fx-ink);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--fx-orange);}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--fx-line-2);}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;letter-spacing:1px;text-transform:uppercase;
}
.woocommerce .star-rating span{color:var(--fx-orange);}
.woocommerce .related>h2,.woocommerce .upsells>h2,.woocommerce .cross-sells>h2{
  font-family:'Oswald',sans-serif;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--fx-ink);
}

/* Cards: cart / checkout / account */
.woocommerce table.shop_table{
  border:1px solid var(--fx-line);border-radius:6px;font-family:'Barlow',sans-serif;background:#fff;
}
.woocommerce table.shop_table th{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-size:13px;color:var(--fx-muted-2);}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce .cart_totals h2,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order{background:#fff;}
.woocommerce-checkout #order_review_heading,
.woocommerce form .form-row label,
.woocommerce-billing-fields h3,.woocommerce-additional-fields h3{font-family:'Oswald',sans-serif;}
.woocommerce .cart_totals h2,.woocommerce-cart .cart_totals,.woocommerce h3#order_review_heading{
  font-family:'Oswald',sans-serif;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container .select2-selection{
  border:1px solid #d8d3cc;border-radius:3px;padding:12px 14px;font-family:'Barlow',sans-serif;
}
.select2-container--default .select2-selection--single{border:1px solid #d8d3cc;border-radius:3px;height:46px;}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px;}

/* Order received / thank-you */
.woocommerce-order .woocommerce-thankyou-order-received{
  font-family:'Oswald',sans-serif;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--fx-ink);
}

/* Headings inside WC content */
.woocommerce-products-header__title.page-title{
  font-family:'Oswald',sans-serif;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--fx-ink);
}

/* --------------------------------------------------------------------------
   WooCommerce Cart/Checkout BLOCKS (default since WC 8/9). Classic shortcode
   pages are styled above; these rules brand the block experience too.
   -------------------------------------------------------------------------- */
.wc-block-components-button,
.wc-block-components-product-button__button,
.wc-block-cart__submit-button,
.wc-block-cart .wp-block-button__link,
.wc-block-checkout .wp-block-button__link,
.wp-block-woocommerce-cart .wp-element-button,
.wp-block-woocommerce-checkout .wp-element-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button{
  background:var(--fx-orange) !important;color:#fff !important;border-radius:3px !important;
  font-family:'Oswald',sans-serif !important;font-weight:600 !important;letter-spacing:1.2px !important;
  text-transform:uppercase !important;border:none !important;
}
.wc-block-components-button:hover,
.wc-block-components-product-button__button:hover,
.wc-block-cart .wp-block-button__link:hover{background:#cf6312 !important;}
.wc-block-components-button.wc-block-components-button--outlined{
  background:transparent !important;color:var(--fx-orange) !important;box-shadow:inset 0 0 0 1px var(--fx-orange) !important;
}
.wc-block-components-title,
.wc-block-cart__totals-title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title,
.wc-block-components-checkout-step__title{
  font-family:'Oswald',sans-serif !important;font-weight:600 !important;letter-spacing:.5px !important;color:var(--fx-ink) !important;
}
.wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__total-price,
.wc-block-formatted-money-amount{font-family:'Oswald',sans-serif;font-weight:600;color:var(--fx-ink);}
.wc-block-components-product-price__value{color:var(--fx-orange);font-family:'Oswald',sans-serif;font-weight:600;}
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select .wc-block-components-select__container{
  border-radius:3px !important;font-family:'Barlow',sans-serif !important;
}
.wc-block-cart,.wc-block-checkout{font-family:'Barlow',sans-serif;}
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-block{background:#fff;border:1px solid var(--fx-line);border-radius:6px;}

/* ==========================================================================
   FX Cart (classic shortcode, template override) — matches the design
   ========================================================================== */
.fx-btn--outline{background:transparent;color:var(--fx-muted-2);border:1px solid #d8d3cc;}
.fx-btn--outline:hover{background:#f3f0ec;color:var(--fx-ink);}
.fx-ta-right{text-align:right;}

.fx-cart-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:36px;align-items:start;}
.fx-cart-main{min-width:0;}
.fx-cart-table{background:#fff;border:1px solid var(--fx-line);border-radius:6px;overflow:hidden;}
.fx-cart-head,
.fx-cart-row{display:grid;grid-template-columns:2.4fr 1fr 1.2fr 1fr 40px;gap:12px;align-items:center;}
.fx-cart-head{padding:16px 24px;background:#faf8f5;border-bottom:1px solid var(--fx-line-2);font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--fx-muted-2);}
.fx-cart-row{padding:18px 24px;border-bottom:1px solid #f0ece6;}
.fx-cart-product{display:flex;align-items:center;gap:14px;min-width:0;}
.fx-cart-thumb,.fx-cart-thumb-img{flex:0 0 auto;width:56px;height:56px;border-radius:5px;border:1px solid var(--fx-line-2);}
.fx-cart-thumb{background:repeating-linear-gradient(45deg,#eceae6,#eceae6 7px,#e4e1dc 7px,#e4e1dc 14px);display:block;}
.fx-cart-thumb-img{object-fit:cover;}
.fx-cart-product__name{font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;color:var(--fx-ink);}
.fx-cart-product__name a{color:var(--fx-ink);}
.fx-cart-product__cat{font-family:'Barlow',sans-serif;font-size:12px;color:#a8a29a;text-transform:uppercase;letter-spacing:.5px;}
.fx-cart-price{font-family:'Barlow',sans-serif;font-size:15px;color:var(--fx-body);}
.fx-cart-subtotal{font-family:'Oswald',sans-serif;font-weight:700;font-size:16px;color:var(--fx-ink);}
.fx-cart-remove{display:flex;justify-content:center;}
.fx-cart-remove__btn{display:flex;align-items:center;justify-content:center;color:#b5aea5;padding:6px;border-radius:4px;}
.fx-cart-remove__btn:hover{color:var(--fx-orange);background:#fdf3ea;text-decoration:none;}
/* Quantity stepper (WC number input + JS +/- buttons) */
.fx-cart-qty .quantity{display:inline-flex;align-items:center;border:1px solid #d8d3cc;border-radius:4px;overflow:hidden;width:fit-content;}
.fx-cart-qty .fx-qty-btn{background:#f3f0ec;width:30px;height:36px;border:none;display:flex;align-items:center;justify-content:center;font-size:16px;color:#7a746c;cursor:pointer;}
.fx-cart-qty .fx-qty-btn:hover{background:#e8e3dc;color:var(--fx-ink);}
.fx-cart-qty .quantity input.qty{width:42px;height:36px;text-align:center;border:none;border-left:1px solid #ece8e3;border-right:1px solid #ece8e3;font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;background:#fff;-moz-appearance:textfield;}
.fx-cart-qty .quantity input.qty::-webkit-outer-spin-button,
.fx-cart-qty .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.fx-cart-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 24px;background:#faf8f5;}
.fx-coupon{display:flex;align-items:center;gap:12px;flex:1;flex-wrap:wrap;}
.fx-coupon .input-text{flex:1;min-width:160px;padding:12px 14px;border:1px solid #d8d3cc;border-radius:4px;font-size:14px;background:#fff;font-family:'Barlow',sans-serif;}
.fx-cart-actions .fx-btn{padding:13px 20px;font-size:12px;}

/* Summary / Podsumowanie card (also used by mini totals) */
/* WooCommerce-layout.css floats .cart-collaterals .cart_totals at width:48%;
   our FX grid column owns the width, so reset it. */
.fx-cart-side .cart-collaterals,
.fx-cart-side .cart_totals,
.fx-cart-side .cross-sells{width:100% !important;float:none !important;}
.fx-summary{background:#fff;border:1px solid var(--fx-line);border-radius:6px;padding:28px;}
.fx-summary__title{font-family:'Oswald',sans-serif;font-weight:600;font-size:16px;letter-spacing:1.5px;text-transform:uppercase;color:var(--fx-ink);margin:0 0 20px;padding-bottom:14px;border-bottom:2px solid var(--fx-orange);}
.fx-summary__row{display:flex;justify-content:space-between;padding:11px 0;font-family:'Barlow',sans-serif;font-size:15px;color:var(--fx-body);}
.fx-summary__row--divider{border-bottom:1px solid #f0ece6;}
.fx-summary__val{font-weight:600;color:var(--fx-ink);}
.fx-summary__free{font-weight:600;color:#1f8a5b;}
.fx-summary__total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0 22px;}
.fx-summary__total > span:first-child{flex:0 0 auto;font-family:'Oswald',sans-serif;font-weight:600;font-size:17px;letter-spacing:1px;text-transform:uppercase;color:var(--fx-ink);}
.fx-summary__total-val{font-family:'Oswald',sans-serif;font-weight:700;font-size:26px;line-height:1.15;color:var(--fx-orange);text-align:right;}
.fx-summary__total-val .woocommerce-Price-amount{color:var(--fx-orange);}
/* "(zawiera X zł podatek)" — own line, small and muted; NOT the big orange total. */
.fx-summary__total-val .includes_tax{display:block;margin-top:6px;font-family:'Barlow',sans-serif;font-weight:400;font-size:12px;line-height:1.3;letter-spacing:0;text-transform:none;color:#8a857d;}
.fx-summary__total-val .includes_tax .woocommerce-Price-amount{color:#8a857d;font-size:12px;font-weight:400;}
.wc-proceed-to-checkout{margin:0;}
.wc-proceed-to-checkout .checkout-button,
.fx-summary .checkout-button{display:flex;align-items:center;justify-content:center;width:100%;background:var(--fx-orange);color:#fff;border:none;border-radius:3px;font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;letter-spacing:1.4px;text-transform:uppercase;padding:16px;cursor:pointer;}
.wc-proceed-to-checkout .checkout-button:hover{background:#cf6312;color:#fff;text-decoration:none;}
.fx-continue{display:block;text-align:center;margin-top:16px;font-family:'Barlow',sans-serif;font-size:14px;color:var(--fx-muted-2);}
.fx-continue:hover{color:var(--fx-orange);text-decoration:none;}

/* ==========================================================================
   FX Checkout + confirmation
   ========================================================================== */
.fx-hidden{display:none !important;}
.fx-checkout-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start;}
.fx-checkout-main,.fx-checkout-side{background:#fff;border:1px solid var(--fx-line);border-radius:6px;padding:32px;}
.fx-checkout-side{padding:28px;}
.woocommerce-billing-fields h3,
.fx-checkout-side h3#order_review_heading{font-family:'Oswald',sans-serif;font-weight:600;font-size:18px;letter-spacing:1.5px;text-transform:uppercase;color:var(--fx-ink);margin:0 0 24px;}
.fx-checkout-side h3#order_review_heading{font-size:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--fx-orange);}
.woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;}
/* WooCommerce-layout.css floats .form-row-first/.form-row-last at width:47%;
   the FX grid governs columns, so let each row fill its cell. */
.fx-checkout-grid .form-row{width:auto !important;float:none !important;}
.woocommerce form .form-row{margin:0 0 4px;padding:6px 0;}
.woocommerce form .form-row label{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#7a746c;margin-bottom:7px;display:block;}
.woocommerce form .form-row-wide,
.woocommerce form .form-row.notes,
.woocommerce form #billing_address_1_field,
.woocommerce form #order_comments_field{grid-column:1 / -1;}
.woocommerce form .form-row textarea{min-height:84px;}
.woocommerce form .form-row label .optional{display:none;}
.woocommerce-additional-fields > h3{display:none;}
.woocommerce-checkout .woocommerce-form-coupon-toggle{display:none;}
.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{accent-color:var(--fx-orange);width:18px;height:18px;margin-right:6px;vertical-align:middle;}
.woocommerce #payment #place_order{opacity:1;}
/* Order review table inside checkout */
.fx-order-list{margin:0 0 4px;}
.fx-order-list__item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0ece6;}
.fx-order-list__item .fx-name{font-family:'Barlow',sans-serif;font-size:14.5px;color:var(--fx-body);}
.fx-order-list__item .fx-q{color:#a8a29a;}
.fx-order-list__item .fx-line{font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;color:var(--fx-ink);}
.woocommerce-checkout #payment{background:transparent;border:none;border-radius:0;}
.woocommerce-checkout #payment ul.payment_methods{border:none;padding:0;margin:0 0 16px;}
.woocommerce-checkout #payment ul.payment_methods li{background:#fff;border:1px solid var(--fx-line-2);border-radius:5px;padding:13px 14px;margin-bottom:10px;list-style:none;font-family:'Barlow',sans-serif;font-size:15px;color:var(--fx-body);}
.woocommerce-checkout #payment ul.payment_methods li input[type=radio]:checked+label{color:var(--fx-ink);font-weight:600;}
.woocommerce-checkout #payment ul.payment_methods li label{font-family:'Barlow',sans-serif;}
.woocommerce-checkout #payment div.payment_box{background:#faf8f5;border-radius:5px;font-family:'Barlow',sans-serif;font-size:13.5px;}
.woocommerce-checkout #payment div.payment_box::before{display:none;}
.woocommerce-checkout #payment .form-row.place-order{padding:0;margin-top:4px;}
.woocommerce #payment #place_order,
.woocommerce-checkout button#place_order{width:100%;background:var(--fx-orange);color:#fff;border:none;border-radius:3px;font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;letter-spacing:1.4px;text-transform:uppercase;padding:17px;cursor:pointer;float:none;}
.woocommerce #payment #place_order:hover{background:#cf6312;}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{font-family:'Barlow',sans-serif;font-size:13.5px;color:var(--fx-body);}

/* --------------------------------------------------------------------------
   Przelewy24 gateway (woo-przelewy24) — harmonize with FX. The plugin ships
   only a minimal styles.css on the front end (no Bootstrap), so these rules
   apply the FX palette/fonts to its checkout components: the bank-method grid,
   BLIK one-click buttons, the regulation checkbox and the BLIK/card inputs.
   -------------------------------------------------------------------------- */
.p24-payment-container{font-family:'Barlow',sans-serif;color:var(--fx-body);}
.p24-payment-container .p24-payment__logo,
.p24-payment-container img{max-width:100%;}

/* Bank/method grid */
.p24-methods__items{gap:10px;}
.p24-method-item{
  border:1px solid var(--fx-line-2) !important;border-radius:5px !important;background:#fff !important;
  transition:border-color .12s ease,box-shadow .12s ease;cursor:pointer;
}
.p24-method-item:hover{border-color:var(--fx-orange) !important;}
.p24-method-item--active{
  outline:none !important;border-color:var(--fx-orange) !important;
  box-shadow:0 0 0 1px var(--fx-orange) inset !important;background:#fdf3ea !important;
}
.p24-method-item span{font-family:'Barlow',sans-serif;font-size:12.5px;color:var(--fx-ink);}

/* BLIK / card one-click buttons */
.p24-1click{border-radius:5px !important;border:1px solid var(--fx-line-2);font-family:'Barlow',sans-serif;}
.p24-1click--active{border-color:var(--fx-orange) !important;box-shadow:0 0 0 1px var(--fx-orange) inset;}
.p24-1clicks__or:after,.p24-1clicks__or:before{background:var(--fx-line-2);}
.p24-1clicks__label,.p24-1clicks__or{font-family:'Oswald',sans-serif;letter-spacing:.5px;color:var(--fx-muted-2);text-transform:uppercase;font-size:12px;}

/* Regulation consent + BLIK/card text inputs */
.p24-payment-container label.checkbox{
  display:flex;align-items:flex-start;gap:10px;font-family:'Barlow',sans-serif;
  font-size:13.5px;line-height:1.5;color:var(--fx-body);margin-top:12px;
}
.p24-payment-container label.checkbox input[type=checkbox]{accent-color:var(--fx-orange);width:18px;height:18px;flex:0 0 auto;margin-top:1px;}
.p24-payment-input input[type="text"],
.p24-blik-code-input input[type="text"]{
  border:1px solid #d8d3cc !important;border-radius:3px !important;
  font-family:'Oswald',sans-serif;letter-spacing:2px;padding:12px 14px;background:#fff;
}
.p24-payment-input input[type="text"]:focus,
.p24-blik-code-input input[type="text"]:focus{border-color:var(--fx-orange) !important;outline:none;}
/* Gateway logo beside the payment-method title in the list */
.woocommerce-checkout #payment ul.payment_methods li input[id^="payment_method_p24-"]+label img{max-height:26px;width:auto;vertical-align:middle;margin-left:6px;}

/* Confirmation / thank-you */
.fx-confirm{max-width:760px;margin:0 auto;text-align:center;}
.fx-confirm__check{width:84px;height:84px;border-radius:50%;background:var(--fx-orange);display:flex;align-items:center;justify-content:center;margin:0 auto 26px;}
.fx-confirm h1{font-family:'Oswald',sans-serif;font-weight:700;font-size:36px;letter-spacing:1.5px;text-transform:uppercase;color:var(--fx-ink);margin:0 0 12px;}
.fx-confirm__lead{font-family:'Barlow',sans-serif;font-size:17px;color:var(--fx-muted);margin:0 0 36px;}
.fx-confirm__meta{background:#fff;border:1px solid var(--fx-line);border-radius:6px;padding:26px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;text-align:left;}
.fx-confirm__meta dt{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#a8a29a;margin-bottom:6px;}
.fx-confirm__meta dd{font-family:'Oswald',sans-serif;font-weight:600;font-size:16px;color:var(--fx-ink);margin:0;}
.fx-confirm__meta dd.fx-accent{color:var(--fx-orange);font-weight:700;}
.fx-confirm__details{background:#fff;border:1px solid var(--fx-line);border-radius:6px;padding:26px 28px;text-align:left;margin-bottom:30px;}
.fx-confirm__details h3{font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;color:var(--fx-ink);margin:0 0 16px;}
.fx-confirm__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}

/* ==========================================================================
   My Account (Moje konto) — FX sidebar nav + content
   ========================================================================== */
/* Two columns only when the account navigation is present (logged in); the
   logged-out login form stays full width. */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){
  display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start;
}
/* WooCommerce's clearfix ::before/::after would otherwise become grid items and
   shove the nav/content out of their columns. */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::before,
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::after{
  display:none;
}
/* Reset WooCommerce's float + 30/70 widths so each fills its grid column. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  width:auto !important;float:none !important;margin:0;
}
.woocommerce-MyAccount-navigation ul{
  list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--fx-line);
  border-radius:6px;overflow:hidden;
}
.woocommerce-MyAccount-navigation li{margin:0;}
.woocommerce-MyAccount-navigation li a{
  display:block;padding:13px 18px;font-family:'Oswald',sans-serif;font-weight:500;
  font-size:13.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--fx-ink);
  border-bottom:1px solid var(--fx-line);
}
.woocommerce-MyAccount-navigation li:last-child a{border-bottom:none;}
.woocommerce-MyAccount-navigation li a:hover{background:#faf8f5;color:var(--fx-orange);text-decoration:none;}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--fx-orange);color:#fff;}
.woocommerce-MyAccount-content{font-family:'Barlow',sans-serif;color:var(--fx-body);}
.woocommerce-MyAccount-content a{color:var(--fx-orange);}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1000px){
  .fx-facts{grid-template-columns:repeat(3,1fr) !important;}
}
@media (max-width:900px){
  .fx-nav{gap:18px;}
  .fx-page-hero h1{font-size:32px;}
  .fx-why,.fx-two-col,.fx-feature,.fx-rozpiska,.fx-contact{grid-template-columns:1fr !important;}
  .fx-rozpiska aside{position:static !important;}
  .fx-cart-grid,.fx-checkout-grid{grid-template-columns:1fr;}
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:1fr;}
  .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr;}
  .fx-confirm__meta{grid-template-columns:repeat(2,1fr);}
  .fx-cart-head{display:none;}
  .fx-cart-row{grid-template-columns:1fr 1fr;gap:8px 12px;}
  .fx-cart-product{grid-column:1 / -1;}
  .fx-cart-subtotal{text-align:left;}
}
@media (max-width:768px){
  .fx-footer__grid{grid-template-columns:1fr 1fr !important;gap:28px !important;}
}
@media (max-width:560px){
  .fx-facts{grid-template-columns:repeat(2,1fr) !important;}
  .fx-contact-grid{grid-template-columns:1fr !important;}
  .fx-footer__grid{grid-template-columns:1fr !important;}
  .fx-footer__last{align-items:flex-start !important;text-align:left !important;}
  .fx-page-hero h1{font-size:26px;}
  .fx-hero-logo{max-height:192px;}
}
@media (max-width:768px){
  .fx-nav{
    display:none;position:absolute;top:84px;left:0;right:0;background:#fff;flex-direction:column;
    gap:0;padding:8px 0;border-bottom:1px solid #ece8e3;box-shadow:0 8px 16px rgba(0,0,0,.06);
  }
  .fx-nav.is-open{display:flex;}
  .fx-nav li{width:100%;}
  .fx-nav a{display:block;padding:14px 24px;}
  .fx-burger{display:inline-flex;}
  .fx-header__actions .fx-btn{display:none;}
  .fx-account-link__label{display:none;}
}
