/* ==========================================================================================================
   THE HALAL VILLAGE FESTIVAL: the look of the /festival/ pages on thehalalvillage.com, applied to this
   site's header, footer and funnel pages (cart, checkout, pay, thank-you, my account).

   Tokens are the Winter Edition palette of the main site's festival.css and the calm funnel layout of
   its checkout.css. Fonts are self-hosted (assets/fonts, SIL OFL): Jost for text, Big Shoulders Display
   for headlines, Playfair Display and Monoton only where the older festival pages already used them.
   Header and footer classes are prefixed fx-; the funnel rules hang off body.fx-funnel.
   ========================================================================================================== */

@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/jost-300.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jost-400.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/jost-400i.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jost-500.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/jost-600.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/jost-700.woff2') format('woff2');}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/big-shoulders-display-900.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url('../fonts/playfair-display-600i.woff2') format('woff2');}
@font-face{font-family:'Monoton';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/monoton-400.woff2') format('woff2');}

:root{
  --navy:#191E4B; --blue:#146EA0; --bright:#1982B4; --ink:#05050A;
  --pale:#E3ECF1; --pale-2:#F4F8FB; --line:#DBE6ED; --muted:#3f4a57;
  --f-ink:#050f1d; --f-night:#0a2438; --f-deep:#0c3a56; --f-mid:#14496b; --f-blue:#3f93cc;
  --f-ice:#8fd0ee; --f-frost:#eaf6ff; --f-cream:#ffe9c4; --f-gold:#ffcf72; --f-amber:#f2a53c;
  --f-orange:#f0810f; --f-orange-deep:#e2740f;
  --f-display:'Big Shoulders Display','Arial Narrow','Impact',sans-serif;
  --font:'Jost',system-ui,sans-serif;
  --r-control:12px; --r-card:14px; --r-surface:22px;
  --shadow-card:0 14px 40px -22px rgba(12,40,80,.45); --shadow-soft:0 4px 24px -10px rgba(12,40,80,.30);
  --ease:cubic-bezier(.5,.1,.1,1); --maxw:1300px; --nav-h:74px;
}

/* One typeface for the whole site: the self-hosted Jost replaces the Typekit font. */
body,button,input,select,textarea{font-family:var(--font);}
body.fx{color:var(--ink);-webkit-font-smoothing:antialiased;}
.fx-shell{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
@media(max-width:760px){.fx-shell{padding:0 20px;}}
.fx-skip{position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-160%);background:#fff;color:var(--blue);font-size:15px;font-weight:600;padding:12px 20px;border-radius:var(--r-surface);border:1.5px solid var(--blue);}
.fx-skip:focus{transform:none;}
#fx-main{display:block;height:0;outline:0;}

/* ---------- header ---------- */
.header.fx-hdr{position:sticky;top:0;z-index:80;background:#fff;padding:0;border-bottom:1px solid var(--line);}
.admin-bar .header.fx-hdr{top:32px;}
@media(max-width:782px){.admin-bar .header.fx-hdr{top:46px;}}
.fx-nav{display:flex;align-items:center;gap:8px;height:var(--nav-h);}
.fx-nav__logo{flex:none;display:inline-flex;}
.fx-nav__logo img{height:56px;width:auto;display:block;}
.fx-nav__menu{display:flex;align-items:stretch;height:var(--nav-h);gap:2px;margin:0 auto 0 28px;}
.fx-nav__link{position:relative;display:inline-flex;align-items:center;gap:7px;height:var(--nav-h);padding:0 16px;font-size:16px;font-weight:500;color:var(--ink);text-decoration:none;transition:color .2s;}
.fx-nav__link::after{content:"";position:absolute;left:16px;right:16px;bottom:18px;height:3px;border-radius:2px;background:var(--f-orange);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.fx-nav__link:hover{color:var(--blue);}
.fx-nav__link:hover::after,.fx-nav__link.is-active::after{transform:scaleX(1);}
.fx-nav__link.is-active{color:var(--navy);}
.fx-nav__link--back{margin-left:12px;padding-left:20px;border-left:2px solid var(--line);color:var(--blue);font-weight:600;}
.fx-nav__link--back::after{display:none;}
.fx-nav__link--back svg{flex:none;}
.fx-nav__actions{display:flex;align-items:center;gap:14px;flex:none;margin-left:auto;}
.fx-nav__login{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;font-size:14.5px;font-weight:600;color:var(--navy);text-decoration:none;}
.fx-nav__login:hover{color:var(--blue);}
.fx-lang{display:inline-flex;background:var(--pale-2);border:1px solid var(--line);border-radius:22px;padding:3px;}
.fx-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;border-radius:18px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;}
.fx-lang a.is-active{background:var(--navy);color:#fff;}
.fx-cart{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--pale-2);color:var(--navy);transition:background .2s,transform .2s;}
.fx-cart:hover{background:#d6e6f0;transform:translateY(-1px);}
.fx-cart__count{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--f-orange);color:#fff;font-size:12px;font-weight:700;line-height:20px;text-align:center;}
.fx-burger{display:none;width:46px;height:46px;border-radius:50%;background:var(--pale-2);border:1px solid var(--line);align-items:center;justify-content:center;color:var(--navy);cursor:pointer;}
.fx-mnav{display:none;border-top:1px solid var(--line);background:#fff;padding:8px 20px 16px;}
.fx-mnav a{display:flex;align-items:center;min-height:52px;font-size:18px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);}
.fx-hdr.is-open .fx-mnav{display:block;}
@media(max-width:1020px){.fx-nav__link{padding:0 11px;font-size:15px;}.fx-nav__login span{display:none;}}
@media(max-width:860px){
  .fx-nav__menu{display:none;}
  .fx-burger{display:inline-flex;}
  .fx-nav__logo img{height:46px;}
  .fx-nav{gap:6px;}
  .fx-nav__actions{gap:8px;}
}
@media(max-width:400px){.fx-lang a{min-width:38px;}}

/* ---------- funnel hero: compact night band, icicle edge ---------- */
.fx-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:88px 0 34px;background:linear-gradient(180deg,var(--f-ink) 0%,var(--f-night) 42%,var(--f-mid) 100%);}
.fx-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;background-image:
  radial-gradient(circle at 40px 60px,rgba(255,255,255,.85) 1.4px,transparent 2.4px),
  radial-gradient(circle at 190px 150px,rgba(255,255,255,.6) 2px,transparent 3px),
  radial-gradient(circle at 260px 90px,rgba(255,255,255,.75) 1.2px,transparent 2.2px);background-size:300px 200px;}
.fx-hero__icicles{position:absolute;top:0;left:0;width:100%;height:72px;filter:drop-shadow(0 6px 8px rgba(0,10,25,.45));}
.fx-hero__eyebrow{margin:0 0 6px;font-family:var(--f-display);font-weight:900;font-size:clamp(15px,1.7vw,20px);letter-spacing:.28em;text-transform:uppercase;line-height:1.1;color:var(--f-ice);}
.fx-funnel .fx-hero__title,.fx-hero__title{margin:0;font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:.01em;line-height:.95;font-size:clamp(46px,6.2vw,76px);color:#fff !important;text-shadow:3px 3px 0 var(--f-amber),6px 6px 0 var(--f-ice);}
.fx-steps{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;}
.fx-steps li{display:inline-flex;align-items:center;gap:9px;padding:5px 16px 5px 6px;border-radius:999px;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.72);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);}
.fx-steps li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-family:var(--f-display);font-weight:900;font-size:16px;background:rgba(255,255,255,.14);color:#fff;}
.fx-steps .is-done{color:#fff;}
.fx-steps .is-done span{background:var(--f-ice);color:var(--f-night);}
.fx-steps .is-current{color:var(--f-night);background:linear-gradient(135deg,var(--f-gold),var(--f-orange));border-color:transparent;font-weight:600;}
.fx-steps .is-current span{background:var(--f-night);color:#fff;}
@media(max-width:560px){.fx-hero{padding:80px 0 26px;}.fx-hero__icicles{height:60px;}.fx-steps li{font-size:13px;padding-right:12px;}}

/* ---------- buttons (the festival's fest-btn) ---------- */
.fx-funnel .wc-block-components-button:not(.is-link),
.fx-funnel a.button,.fx-funnel button.button,.fx-funnel .woocommerce a.button,.fx-funnel .woocommerce button.button,.fx-funnel .woocommerce input.button,
.fx-funnel .woocommerce #respond input#submit,.fx-funnel button.woocommerce-Button,.fx-funnel a.woocommerce-Button,
.fx-funnel .woocommerce-form-login .woocommerce-button,
.fx-funnel #place_order,.fx-funnel .checkout-button,.fx-funnel .wc-block-cart__submit-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border:0;border-radius:999px;
  background:linear-gradient(135deg,var(--f-gold),var(--f-orange));color:var(--f-night);font:700 16px/1.2 var(--font);letter-spacing:.01em;text-transform:none;text-decoration:none;
  box-shadow:4px 4px 0 var(--f-ice);cursor:pointer;transition:transform .15s,box-shadow .15s;}
.fx-funnel .wc-block-components-button:not(.is-link):hover,
.fx-funnel a.button:hover,.fx-funnel button.button:hover,.fx-funnel .woocommerce a.button:hover,.fx-funnel .woocommerce button.button:hover,.fx-funnel .woocommerce input.button:hover,
.fx-funnel button.woocommerce-Button:hover,.fx-funnel a.woocommerce-Button:hover,.fx-funnel .woocommerce-form-login .woocommerce-button:hover,
.fx-funnel #place_order:hover,.fx-funnel .checkout-button:hover,.fx-funnel .wc-block-cart__submit-button:hover{
  background:linear-gradient(135deg,var(--f-gold),var(--f-orange));color:var(--f-night);transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--f-ice);}
.fx-funnel .wc-block-components-button:not(.is-link) .wc-block-components-button__text,.fx-funnel .wc-block-components-button__text{color:inherit;font-weight:700;}
.fx-funnel .wc-block-components-button.contained.outlined,
.fx-funnel .wc-block-components-totals-coupon__button{box-shadow:none;}
.fx-funnel .wc-block-components-button:focus-visible,.fx-funnel a:focus-visible,.fx-funnel button:focus-visible,.fx-funnel input:focus-visible,.fx-funnel select:focus-visible{outline:3px solid var(--f-ice);outline-offset:2px;}
.fx-funnel .wc-block-cart__submit-container{background:none;}
.fx-funnel .wc-block-cart__submit-button{width:100%;}
.fx-funnel .wc-block-checkout__actions_row{align-items:center;gap:16px;flex-wrap:wrap;}
.fx-funnel .wc-block-components-checkout-place-order-button{flex:1 1 220px;width:auto;}
.fx-funnel .wc-block-components-checkout-return-to-cart-button{white-space:nowrap;}
.fx-funnel .wc-block-components-checkout-return-to-cart-button{color:var(--blue);font-weight:600;text-decoration:none;}
.fx-funnel .wc-block-components-checkout-return-to-cart-button:hover{text-decoration:underline;}
.fx-funnel .wc-block-components-checkout-return-to-cart-button svg{fill:currentColor;}
.fx-funnel .container a:not([class]),.fx-funnel .wc-block-components-product-name,.fx-funnel .woocommerce-privacy-policy-link{color:var(--blue);}
.fx-funnel .wc-block-components-product-name{font-weight:600;text-decoration:none;color:var(--navy);}
.fx-funnel .wc-block-components-product-name:hover{color:var(--blue);text-decoration:underline;}

/* ---------- funnel shell ---------- */
body.fx-funnel{background:var(--pale-2);}
.fx-funnel .container{max-width:1180px;margin:0 auto;padding:clamp(28px,4vw,48px) 24px clamp(56px,7vw,88px);}
.fx-funnel .main-content,.fx-funnel .page-content-body{margin:0;padding:0;max-width:none;}
.fx-funnel .page-content-body > .wp-block-woocommerce-cart,.fx-funnel .page-content-body > .wp-block-woocommerce-checkout{margin:0;max-width:none;}
.fx-funnel h1,.fx-funnel h2,.fx-funnel h3,.fx-funnel h4{font-family:var(--font);letter-spacing:normal;text-transform:none;color:var(--navy);font-weight:600;}
.fx-funnel .wp-block-woocommerce-cart,.fx-funnel .wp-block-woocommerce-checkout{font-size:16px;color:var(--ink);}
.fx-funnel .wc-block-components-sidebar-layout{align-items:flex-start;}
.fx-funnel .wc-block-components-sidebar-layout.wc-block-components-sidebar-layout .wc-block-components-main{box-sizing:border-box;width:calc(65% - 14px);padding-right:0;margin-right:28px;}
.fx-funnel .wc-block-components-sidebar-layout.wc-block-components-sidebar-layout .wc-block-components-sidebar{box-sizing:border-box;width:calc(35% - 14px);padding-left:clamp(20px,2.4vw,28px);}
@media(max-width:782px){.fx-funnel .wc-block-components-sidebar-layout.wc-block-components-sidebar-layout .wc-block-components-main,.fx-funnel .wc-block-components-sidebar-layout.wc-block-components-sidebar-layout .wc-block-components-sidebar{width:100%;margin-right:0;}.fx-funnel .wc-block-components-sidebar{position:static;margin-top:20px;}}

/* cards: the form column and the summary */
.fx-funnel .wc-block-checkout__main,.fx-funnel .wc-block-cart__main{background:#fff;border:1px solid var(--line);border-radius:var(--r-surface);box-shadow:var(--shadow-card);padding:clamp(20px,3vw,34px);box-sizing:border-box;}
.fx-funnel .wc-block-components-sidebar{position:sticky;top:calc(var(--nav-h) + 20px);background:#fff;border:1px solid var(--line);border-radius:var(--r-surface);box-shadow:var(--shadow-card);padding:clamp(20px,2.4vw,28px);box-sizing:border-box;}
.admin-bar.fx-funnel .wc-block-components-sidebar{top:calc(var(--nav-h) + 52px);}
.fx-funnel .wc-block-components-checkout-step{margin:0 0 30px;padding:0;border:0;}
.fx-funnel .wc-block-components-checkout-step:last-child{margin-bottom:0;}
.fx-funnel .wc-block-components-checkout-step__title,.fx-funnel .wc-block-components-title,.fx-funnel .wc-block-cart__totals-title{font-size:21px;font-weight:600;color:var(--navy);letter-spacing:normal;text-transform:none;font-family:var(--font);margin:0;}
.fx-funnel .wc-block-cart__totals-title{display:block;padding:0 0 14px;text-align:left;font-size:20px;text-transform:none;font-weight:600;}
.fx-funnel .wc-block-components-checkout-step__description,.fx-funnel .wc-block-checkout__guest-checkout-notice{color:var(--muted);font-size:14.5px;}
.fx-funnel .wc-block-components-checkout-step__heading{margin-bottom:16px;}
.fx-funnel .wp-block-checkout-owner-fields h4{font-size:19px;margin:6px 0 4px;}
.fx-funnel .wp-block-checkout-owner-fields h5{font-size:15px;font-weight:600;color:var(--blue);margin:14px 0 10px;text-transform:none;letter-spacing:normal;}
.fx-funnel .wp-block-checkout-owner-fields,.fx-funnel .wp-block-checkout-owner-fields h4,.fx-funnel .wp-block-checkout-owner-fields label{color:var(--ink);}
.fx-funnel .wp-block-checkout-owner-fields > div > div{border-bottom:1px solid var(--line);}
.fx-funnel .wp-block-checkout-owner-fields > div > div:last-child{border-bottom:0;}

/* form fields, as on the main site: 12px radius, calm line, blue focus */
.fx-funnel .wc-block-components-text-input input,
.fx-funnel .wc-block-components-text-input input[type=text],.fx-funnel .wc-block-components-text-input input[type=email],
.fx-funnel .wc-block-components-text-input input[type=tel],.fx-funnel .wc-block-components-text-input input[type=password],
.fx-funnel .wc-block-components-textarea,.fx-funnel .wc-blocks-components-select .wc-blocks-components-select__select,
.fx-funnel .wc-block-components-address-form select,.fx-funnel .wc-block-components-form .wc-block-components-text-input input{
  border:1px solid var(--line);border-radius:var(--r-control);background:#fff;color:var(--ink);box-shadow:none;font-family:var(--font);font-size:16px;transition:border-color .25s,box-shadow .25s;}
.fx-funnel .wc-block-components-text-input input:focus,.fx-funnel .wc-blocks-components-select .wc-blocks-components-select__select:focus,.fx-funnel .wc-block-components-textarea:focus{
  border-color:var(--bright);box-shadow:0 0 0 3px rgba(25,130,180,.18);outline:0;}
.fx-funnel .wc-block-components-text-input label,.fx-funnel .wc-blocks-components-select__label{color:var(--muted);font-size:15px;}
.fx-funnel .wc-block-components-text-input.has-error input{border-color:#b3261e;}
.fx-funnel .wc-block-components-validation-error{color:#b3261e;}
.fx-funnel .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{border:1.5px solid var(--muted);border-radius:6px;background:#fff;}
.fx-funnel .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--f-night);border-color:var(--f-night);}
.fx-funnel .wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:#fff;}
.fx-funnel .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus{outline:3px solid var(--f-ice);outline-offset:2px;}
.fx-funnel .wc-block-components-address-card{border:1px solid var(--line);border-radius:var(--r-control);}

/* payment methods (Mollie): one clean list, orange accent for the chosen method, no purple */
.fx-funnel .wc-block-checkout__payment-method .wc-block-components-radio-control{border:0;}
.fx-funnel .wc-block-components-radio-control__option,.fx-funnel .wc-block-components-radio-control-accordion-option{
  margin:0 0 10px;padding:16px 18px 16px 52px;border:1px solid var(--line);border-radius:var(--r-control);background:#fff;box-shadow:none;transition:border-color .2s,background .2s;}
.fx-funnel .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option-checked,
.fx-funnel .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.fx-funnel .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.fx-funnel .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{
  border-color:var(--f-orange);background:var(--f-frost);box-shadow:inset 0 0 0 1px var(--f-orange);}
.fx-funnel .wc-block-components-radio-control__option:hover{border-color:var(--f-blue);}
/* inside Mollie's accordion the wrapper is the card; the label is plain */
.fx-funnel .wc-block-components-radio-control-accordion-option{padding:0;}
.fx-funnel .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{margin:0;border:0;border-radius:0;background:none;box-shadow:none;padding:16px 18px 16px 52px;}
.fx-funnel .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control-accordion-content{padding:0 18px 16px 52px;}
.fx-funnel .wc-block-components-radio-control__input{border:1.5px solid var(--muted);background:#fff;left:18px;}
.fx-funnel .wc-block-components-radio-control__input:checked{border-color:var(--f-night);}
.fx-funnel .wc-block-components-radio-control__input:checked::before{background:var(--f-night);}
.fx-funnel .wc-block-components-radio-control__label{font-weight:600;font-size:16px;color:var(--navy);}
.fx-funnel .wc-block-components-radio-control-accordion-content{padding:10px 0 0;color:var(--muted);font-size:14.5px;}
.fx-funnel .wc-block-components-payment-method-icons{margin-left:auto;gap:6px;}
.fx-funnel .wc-block-components-payment-method-icon,.fx-funnel .mollie-gateway-icon{height:26px;max-height:26px;width:auto;border-radius:5px;}
.fx-funnel .wc-block-components-radio-control__label-group,.fx-funnel .wc-block-components-payment-method-label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}

/* order summary and totals */
.fx-funnel .wc-block-components-order-summary-item__image img,.fx-funnel .wc-block-cart-item__image img{border-radius:10px;background:var(--pale-2);}
.fx-funnel .wc-block-components-order-summary-item__quantity{background:var(--f-night);color:#fff;border:2px solid #fff;box-shadow:none;}
.fx-funnel .wc-block-components-product-metadata,.fx-funnel .wc-block-components-product-metadata__description{color:var(--muted);font-size:14px;}
.fx-funnel .wc-block-components-product-details{font-size:14px;color:var(--muted);}
.fx-funnel .wc-block-components-product-details__name{font-weight:600;color:var(--navy);}
.fx-funnel .wc-block-components-totals-wrapper{border-color:var(--line);}
.fx-funnel .wc-block-components-totals-item__label,.fx-funnel .wc-block-components-totals-item__value{font-size:16px;}
.fx-funnel .wc-block-components-totals-footer-item{align-items:baseline;}
.fx-funnel .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:17px;font-weight:600;color:var(--navy);}
.fx-funnel .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,.fx-funnel .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount{font-size:30px;font-weight:700;color:var(--navy);}
.fx-funnel .wc-block-components-totals-taxes .wc-block-components-totals-item__value{font-size:15px;color:var(--muted);}
.fx-funnel .wc-block-components-panel__button{font-weight:600;color:var(--blue);}
.fx-funnel .wc-block-components-totals-coupon__form .wc-block-components-text-input{margin:0;}
.fx-funnel .wc-block-components-checkout-order-summary__title-text{font-size:20px;font-weight:600;color:var(--navy);}

/* cart table */
.fx-funnel table.wc-block-cart-items{border:0;}
.fx-funnel .wc-block-cart-items__header th,.fx-funnel .wc-block-cart-items__header-product,.fx-funnel .wc-block-cart-items__header-total{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.fx-funnel .wc-block-cart-items__row{border-color:var(--line);}
.fx-funnel .wc-block-cart-items th,.fx-funnel .wc-block-cart-items td{border-color:var(--line);}
.fx-funnel .wc-block-cart-item__total .wc-block-components-product-price,.fx-funnel .wc-block-cart-item__total{font-weight:700;color:var(--navy);}
.fx-funnel .wc-block-components-quantity-selector{border:1.5px solid var(--line);border-radius:999px;background:#fff;overflow:hidden;}
.fx-funnel .wc-block-components-quantity-selector::after{display:none;}
.fx-funnel .wc-block-components-quantity-selector__button{color:var(--blue);opacity:1;}
.fx-funnel .wc-block-cart-item__remove-link{color:var(--muted);font-size:14px;text-decoration:underline;}
.fx-funnel .wc-block-cart-item__remove-link:hover{color:var(--blue);}
.fx-funnel .wc-block-cart__payment-options img{height:26px;}
.fx-funnel .wc-block-components-notice-banner{border-radius:var(--r-control);font-family:var(--font);}
.fx-funnel .wc-block-components-notice-banner.is-error{border-color:#b3261e;background:#fdf1ef;}
.fx-funnel .wc-block-components-notice-banner.is-success{border-color:var(--f-blue);background:var(--f-frost);}
.fx-funnel .wc-block-components-notice-banner.is-info{border-color:var(--f-blue);background:var(--f-frost);}

/* ---------- classic pages: order-pay, order-received, my account ---------- */
.fx-funnel .woocommerce-notices-wrapper .woocommerce-error,.fx-funnel .woocommerce-notices-wrapper .woocommerce-message,.fx-funnel .woocommerce-notices-wrapper .woocommerce-info,
.fx-funnel .woocommerce > .woocommerce-error,.fx-funnel .woocommerce > .woocommerce-message,.fx-funnel .woocommerce > .woocommerce-info{margin:0 0 20px;padding:14px 18px;border:1px solid var(--f-blue);border-left-width:4px;border-radius:var(--r-control);background:var(--f-frost);color:var(--ink);list-style:none;}
.fx-funnel .woocommerce-error{border-color:#b3261e;background:#fdf1ef;}
.fx-funnel .woocommerce-error::before,.fx-funnel .woocommerce-message::before,.fx-funnel .woocommerce-info::before{display:none;}
.fx-funnel .woocommerce form .form-row{margin:0 0 16px;padding:0;}
.fx-funnel .woocommerce form .form-row label{display:block;margin:0 0 6px;font-weight:500;font-size:15px;color:var(--navy);}
.fx-funnel .woocommerce form .form-row input.input-text,.fx-funnel .woocommerce form .form-row textarea,.fx-funnel .woocommerce form .form-row select,
.fx-funnel .woocommerce input[type=text],.fx-funnel .woocommerce input[type=email],.fx-funnel .woocommerce input[type=tel],.fx-funnel .woocommerce input[type=password],.fx-funnel .woocommerce input[type=number],.fx-funnel .woocommerce select,.fx-funnel .woocommerce textarea{
  width:100%;min-height:50px;padding:0 16px;border:1px solid var(--line) !important;border-radius:var(--r-control);background:#fff;box-shadow:none;font:400 16px/1.2 var(--font);color:var(--ink);box-sizing:border-box;transition:border-color .25s,box-shadow .25s;}
.fx-funnel .woocommerce textarea{padding:14px 16px;min-height:110px;line-height:1.5;}
.fx-funnel .woocommerce form .form-row input.input-text:focus,.fx-funnel .woocommerce input:focus,.fx-funnel .woocommerce select:focus,.fx-funnel .woocommerce textarea:focus{border-color:var(--bright) !important;box-shadow:0 0 0 3px rgba(25,130,180,.18);outline:0;}

.fx-funnel table.shop_table,.fx-funnel .woocommerce-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;margin:0 0 28px;text-align:left;}
.fx-funnel table.shop_table th,.fx-funnel table.shop_table td{padding:14px 18px;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:15.5px;background:transparent;}
.fx-funnel table.shop_table thead th{background:var(--pale-2);font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.fx-funnel table.shop_table tfoot th{font-weight:600;color:var(--navy);}
.fx-funnel table.shop_table tr:last-child > *{border-bottom:0;}
.fx-funnel table.shop_table .order-total .amount,.fx-funnel table.shop_table tfoot tr:last-child td{font-weight:700;color:var(--navy);}
.fx-funnel table.shop_table td a{color:var(--blue);font-weight:500;}
.fx-funnel .woocommerce-order-details,.fx-funnel .woocommerce-customer-details,.fx-funnel .woocommerce-order-downloads{margin:0 0 28px;}
.fx-funnel .woocommerce-order-details__title,.fx-funnel .woocommerce-column__title,.fx-funnel .woocommerce-order-downloads__title,.fx-funnel .woocommerce-order h2{font-size:24px;margin:0 0 14px;}
.fx-funnel .woocommerce-order{background:#fff;border:1px solid var(--line);border-radius:var(--r-surface);box-shadow:var(--shadow-card);padding:clamp(20px,3vw,36px);}
.fx-funnel .woocommerce-order .woocommerce-order-details,.fx-funnel .woocommerce-order .woocommerce-customer-details{background:none;padding:0;border-radius:0;}
.fx-funnel .woocommerce-notice--success.woocommerce-thankyou-order-received{margin:0 0 24px;padding:16px 20px;border-left:4px solid var(--f-orange);border-radius:var(--r-control);background:var(--f-frost);color:var(--f-night);font-size:20px;font-weight:600;letter-spacing:normal;text-transform:none;}
.fx-funnel ul.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 30px;padding:0;list-style:none;}
.fx-funnel ul.woocommerce-order-overview li{margin:0;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--pale-2);font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-right:1px solid var(--line);float:none;}
.fx-funnel ul.woocommerce-order-overview li strong{display:block;margin-top:4px;font-size:18px;letter-spacing:normal;text-transform:none;color:var(--navy);font-weight:600;}
.fx-funnel .woocommerce-customer-details .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.fx-funnel .woocommerce-customer-details .col2-set .col-1,.fx-funnel .woocommerce-customer-details .col2-set .col-2{float:none;width:auto;}
.fx-funnel address{font-style:normal;line-height:1.6;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--pale-2);}
@media(max-width:640px){.fx-funnel .woocommerce-customer-details .col2-set{grid-template-columns:1fr;}}

/* order-pay: the classic checkout form without the block, with the same payment list */
.fx-funnel .thv-order-pay-wrap{max-width:900px;margin:0 auto;padding:0;}
.fx-funnel .thv-order-pay-wrap ul.wc_payment_methods,.fx-funnel .thv-order-pay-wrap ul.payment_methods{border:0;background:none;}
.fx-funnel .thv-order-pay-wrap ul.wc_payment_methods li,.fx-funnel .thv-order-pay-wrap ul.payment_methods li{border:1px solid var(--line);border-radius:var(--r-control);background:#fff;margin:0 0 10px;padding:16px 18px;}
.fx-funnel .thv-order-pay-wrap ul.wc_payment_methods li:has(input:checked){border-color:var(--f-orange);background:var(--f-frost);box-shadow:inset 0 0 0 1px var(--f-orange);}
.fx-funnel .thv-order-pay-wrap ul.wc_payment_methods li label{color:var(--navy);font-weight:600;font-size:16px;}
.fx-funnel .thv-order-pay-wrap input[type=radio]{accent-color:var(--f-night);width:18px;height:18px;}
.fx-funnel .thv-order-pay-wrap .payment_box{color:var(--muted);}

/* my account */
.fx-funnel.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start;max-width:none;margin:0;padding:0;}
body.fx-funnel.woocommerce-account:not(.logged-in) .woocommerce{display:block;min-height:0;padding:0;}
.fx-funnel .woocommerce-notices-wrapper{grid-column:1 / -1;}
.fx-funnel .woocommerce-MyAccount-navigation{background:#fff;border:1px solid var(--line);border-radius:var(--r-surface);box-shadow:var(--shadow-card);padding:10px;position:sticky;top:calc(var(--nav-h) + 20px);overflow:visible;}
.fx-funnel .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none;}
.fx-funnel .woocommerce-MyAccount-navigation ul li{margin:0;border:0;}
.fx-funnel .woocommerce-MyAccount-navigation ul li a{display:block;padding:12px 16px;border-radius:var(--r-control);color:var(--navy);font-weight:500;text-decoration:none;transition:background .2s,color .2s;}
.fx-funnel .woocommerce-MyAccount-navigation ul li a:hover{background:var(--pale-2);color:var(--blue);}
.fx-funnel .woocommerce-MyAccount-navigation ul li.is-active a{background:var(--f-night);color:#fff;}
.fx-funnel .woocommerce-MyAccount-navigation ul li.is-active a:hover{background:var(--f-night);color:#fff;}
.fx-funnel .woocommerce-MyAccount-content{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-surface);box-shadow:var(--shadow-card);padding:clamp(20px,3vw,34px);box-sizing:border-box;}
.fx-funnel .woocommerce-MyAccount-content > *:first-child{margin-top:0;}
.fx-funnel .woocommerce-MyAccount-content h2,.fx-funnel .woocommerce-MyAccount-content h3{font-size:24px;margin:0 0 14px;}
.fx-funnel .woocommerce-MyAccount-content .woocommerce-orders-table .button,.fx-funnel .woocommerce-MyAccount-content table .button{min-height:42px;padding:0 20px;font-size:14px;box-shadow:3px 3px 0 var(--f-ice);}
.fx-funnel .woocommerce-orders-table__cell-order-actions{white-space:nowrap;}
.fx-funnel .woocommerce-orders-table__cell-order-actions .button{margin:0 8px 0 0;vertical-align:middle;}
.fx-funnel .woocommerce-orders-table__cell-order-actions .button:last-child{margin-right:0;}
@media (max-width:767px){.fx-funnel .woocommerce-orders-table__cell-order-actions{white-space:normal;}.fx-funnel .woocommerce-orders-table__cell-order-actions .button{margin:0 8px 8px 0;}}
.fx-funnel .woocommerce-form-login,.fx-funnel .woocommerce-form-register,.fx-funnel form.woocommerce-ResetPassword{max-width:460px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-surface);box-shadow:var(--shadow-card);padding:clamp(22px,3.4vw,38px);}
.fx-funnel .woocommerce-form-login .woocommerce-form-row label,.fx-funnel .woocommerce-form-login label{display:block;margin:0 0 6px;font-weight:500;font-size:15px;color:var(--navy);}
.fx-funnel .woocommerce-form-login__rememberme{display:flex !important;align-items:center;gap:8px;margin:0 0 18px;font-size:15px;}
.fx-funnel .woocommerce-form-login__rememberme input{width:18px;min-height:0;height:18px;accent-color:var(--f-night);}
.fx-funnel .woocommerce-form-login .woocommerce-button{width:100%;}
.fx-funnel .woocommerce-form-login .lost_password a{color:var(--blue);font-size:15px;}
.fx-funnel .woocommerce-account-fields,.fx-funnel #customer_login h2{margin-top:0;}
@media(max-width:860px){
  .fx-funnel.woocommerce-account .woocommerce{grid-template-columns:1fr;gap:18px;}
  .fx-funnel .woocommerce-MyAccount-navigation{position:static;}
  .fx-funnel .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:6px;}
  .fx-funnel .woocommerce-MyAccount-navigation ul li a{padding:10px 14px;}
}
@media(max-width:600px){
  .fx-funnel .wc-block-checkout__main,.fx-funnel .wc-block-cart__main,.fx-funnel .wc-block-components-sidebar,.fx-funnel .woocommerce-order,.fx-funnel .woocommerce-MyAccount-content{border-radius:var(--r-card);}
  .fx-funnel table.shop_table th,.fx-funnel table.shop_table td{padding:12px 12px;font-size:14.5px;}
}

/* ---------- footer ---------- */
.fx-ftr{position:relative;background:var(--f-night);color:#fff;padding:64px 0 28px;margin-top:0;overflow:hidden;}
.fx-ftr::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,15,29,.0),rgba(5,15,29,.55));pointer-events:none;}
.fx-ftr .fx-shell{position:relative;}
.fx-ftr__grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:clamp(28px,5vw,64px);padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.16);}
.fx-ftr__logo{height:64px;width:auto;}
.fx-ftr__tag{margin:16px 0 0;max-width:290px;font-size:15px;line-height:1.6;font-weight:300;opacity:.85;color:#fff;}
.fx-ftr h2{margin:0 0 16px;font-size:15px;font-weight:600;opacity:.75;color:#fff;font-family:var(--font);text-transform:none;letter-spacing:normal;}
.fx-ftr p,.fx-ftr a{font-size:15px;font-weight:300;color:#fff;text-decoration:none;}
.fx-ftr p{margin:0 0 10px;line-height:1.6;opacity:.9;}
.fx-ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.fx-ftr li{margin:0;padding:0;}
.fx-ftr li a{display:inline-flex;align-items:center;min-height:32px;opacity:.85;}
.fx-ftr li a:hover,.fx-ftr p a:hover{opacity:1;text-decoration:underline;}
.fx-ftr__social{display:flex;gap:11px;margin-top:20px;}
.fx-ftr__social a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;transition:background .2s,color .2s;}
.fx-ftr__social a:hover{background:#fff;color:var(--f-night);}
.fx-ftr__bottom{padding-top:22px;font-size:14px;font-weight:300;opacity:.75;}
@media(max-width:860px){.fx-ftr__grid{grid-template-columns:1fr;gap:28px;}}
.whatsapp-float{position:fixed;bottom:25px;right:25px;width:60px;height:60px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.3);z-index:9999;transition:transform .2s;}
.whatsapp-float:hover{transform:scale(1.1);}
.whatsapp-float svg{width:32px;height:32px;}

@media(prefers-reduced-motion:reduce){.fx-funnel *,.fx-nav__link::after{transition:none !important;}}

/* thank-you page ([bestelling_overzicht]) and the ticket downloads under it */
.fx-funnel .order-received-container{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-surface);box-shadow:var(--shadow-card);padding:clamp(20px,3vw,36px);}
.fx-funnel .order-received-title{margin:0 0 20px;padding:14px 20px;border-left:4px solid var(--f-orange);border-radius:var(--r-control);background:var(--f-frost);font-size:24px;color:var(--f-night);}
.fx-funnel .order-received-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 30px;}
.fx-funnel .order-received-summary p{margin:0;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--pale-2);font-size:17px;color:var(--navy);}
.fx-funnel .order-received-summary p strong{display:block;font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
.fx-funnel .order-received-container h2{font-size:24px;margin:0 0 14px;}
.fx-funnel table.woocommerce-table--order-downloads:not(:has(td)){display:none;}
.fx-funnel .thv-tickets-section{margin-top:30px;}
.fx-funnel .thv-tickets-section h3{margin:0 0 16px;font-size:24px;color:var(--navy);}
.fx-funnel .thv-download-all{margin:0 0 18px;}
.fx-funnel .thv-ticket-cards{display:flex;flex-direction:column;gap:12px;}
.fx-funnel .thv-ticket-card{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;border:1px solid var(--line);border-left:4px solid var(--f-orange);border-radius:var(--r-card);background:var(--pale-2);}
.fx-funnel .thv-ticket-info{display:flex;flex-direction:column;gap:2px;}
.fx-funnel .thv-ticket-type{font-weight:600;color:var(--navy);font-size:17px;}
.fx-funnel .thv-ticket-attendee{color:var(--muted);}
.fx-funnel .thv-ticket-code{color:var(--muted);font-size:14px;opacity:.8;}
.fx-funnel .thv-ticket-download,.fx-funnel #thv-download-all-btn{display:inline-flex;align-items:center;min-height:46px;padding:0 24px;border-radius:999px;background:linear-gradient(135deg,var(--f-gold),var(--f-orange));color:var(--f-night) !important;font-weight:700;text-decoration:none;box-shadow:3px 3px 0 var(--f-ice);white-space:nowrap;}
.fx-funnel .thv-ticket-download:hover,.fx-funnel #thv-download-all-btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--f-ice);}
.fx-funnel section.woocommerce-order-downloads:not(:has(td)){display:none;}
.fx-funnel table.order-details{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;margin:0 0 28px;}
.fx-funnel table.order-details th,.fx-funnel table.order-details td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:15px;}
.fx-funnel table.order-details th{background:var(--pale-2);font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.fx-funnel table.order-details tr:last-child td{border-bottom:0;}
.fx-funnel p.order-again{margin:0 0 30px;}

/* main.css ships a global `.button{...!important}` (outlined, uppercase); the funnel buttons beat it on purpose */
.fx-funnel .button,.fx-funnel a.button,.fx-funnel button.button,.fx-funnel #place_order{
  display:inline-flex !important;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--f-gold),var(--f-orange)) !important;background-color:transparent !important;
  border:0 !important;border-radius:999px !important;color:var(--f-night) !important;
  font-size:16px !important;font-weight:700 !important;letter-spacing:.01em !important;line-height:1.2 !important;text-transform:none !important;padding:0 30px !important;min-height:54px;}
.fx-funnel .button:hover,.fx-funnel a.button:hover,.fx-funnel button.button:hover,.fx-funnel #place_order:hover{
  background:linear-gradient(135deg,var(--f-gold),var(--f-orange)) !important;background-color:transparent !important;color:var(--f-night) !important;}
.fx-funnel .woocommerce-MyAccount-content .button{min-height:42px;padding:0 20px !important;font-size:14px !important;}
.fx-funnel .thv-order-pay-wrap{padding:clamp(28px,4vw,48px) 24px 0;}
.fx-funnel .thv-order-pay-wrap .woocommerce-privacy-policy-text,.fx-funnel .thv-order-pay-wrap .woocommerce-terms-and-conditions-wrapper p{font-size:15px;color:var(--muted);line-height:1.55;}
.fx-funnel .thv-order-pay-wrap form#order_review{margin-top:8px;}
@media(max-width:782px){.fx-funnel .wc-block-components-checkout-place-order-button{flex:0 0 auto;width:100%;}.fx-funnel .wc-block-checkout__actions_row{flex-direction:column-reverse;align-items:stretch;}.fx-funnel .wc-block-components-checkout-return-to-cart-button{justify-content:center;}}

.fx-notice{margin:24px 0;padding:14px 18px;border:1px solid #b3261e;border-left-width:4px;border-radius:var(--r-control);background:#fdf1ef;color:var(--ink);font-size:16px;font-weight:500;}
