/* ==========================================================================
   LiQUiD Paradise — cart · checkout · thank-you, in festival dress.

   The WooCommerce block checkout keeps all of its own behaviour; this file
   only re-colours and re-spaces it: ink background, calm cards, one gold
   action. The Stripe card fields live in an iframe we cannot restyle, so
   they sit on a light panel where their dark text stays readable.
   ========================================================================== */

/* ---------- page frame (below the fixed festival nav) ---------- */
body.liquid-commerce main{
  max-width:1160px;margin:0 auto;
  padding:7.2rem clamp(16px,4vw,40px) 5rem;
  color:#f4f2ec;
}
body.liquid-commerce main a{color:var(--gold,#d9b36a)}
body.liquid-commerce main h1,
body.liquid-commerce main h2,
body.liquid-commerce main .wc-block-components-title,
body.liquid-commerce main .wc-block-components-checkout-step__title{
  font-family:var(--font-d,inherit);letter-spacing:.02em;color:#f4f2ec;
}

/* ---------- generic text inside the blocks ---------- */
body.liquid-commerce .wc-block-components-checkout-step__description,
body.liquid-commerce .wc-block-components-checkbox__label,
body.liquid-commerce .wc-block-components-radio-control__label,
body.liquid-commerce .wc-block-components-totals-item,
body.liquid-commerce .wc-block-components-product-name,
body.liquid-commerce .wc-block-components-order-summary-item__description,
body.liquid-commerce .wc-block-components-formatted-money-amount{
  color:#e9e4d8;
}
body.liquid-commerce .wc-block-components-checkout-step__description{opacity:.7}

/* ---------- the step cards ---------- */
body.liquid-commerce .wc-block-components-checkout-step,
body.liquid-commerce .wc-block-components-radio-control-accordion-option,
body.liquid-commerce .wc-block-checkout__payment-method{
  background:transparent;
}
body.liquid-commerce .wc-block-checkout__main .wc-block-components-checkout-step{
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  padding:1.4rem 1.5rem;
  margin-bottom:1.1rem;
  background:rgba(255,255,255,.028);
}

/* ---------- inputs ---------- */
body.liquid-commerce .wc-block-components-text-input input,
body.liquid-commerce .wc-block-components-combobox .components-combobox-control__suggestions-container input,
body.liquid-commerce .wc-block-components-form .wc-block-components-text-input input,
body.liquid-commerce .wc-block-components-country-input input,
body.liquid-commerce .wc-block-components-state-input input,
body.liquid-commerce main select,
body.liquid-commerce main textarea{
  /* SOLID colours, deliberately: the Stripe gateway samples these computed
     styles to paint its own card fields. Semi-transparent values flatten
     against white inside Stripe's iframe — white-on-white card numbers. */
  background:#161e31 !important;
  border:1px solid #4d5874 !important;
  color:#f4f2ec !important;
  border-radius:10px !important;
}
body.liquid-commerce .wc-block-components-text-input input:focus,
body.liquid-commerce main select:focus,
body.liquid-commerce main textarea:focus{
  border-color:var(--gold,#d9b36a) !important;
  box-shadow:0 0 0 1px var(--gold,#d9b36a) !important;
  outline:none;
}
body.liquid-commerce .wc-block-components-text-input label,
body.liquid-commerce .wc-block-components-combobox label,
body.liquid-commerce .wc-block-components-country-input label,
body.liquid-commerce .wc-block-components-state-input label{
  color:rgba(244,242,236,.62) !important;
}
/* checkboxes & radios pick up the gold */
body.liquid-commerce main input[type="checkbox"],
body.liquid-commerce main input[type="radio"]{accent-color:var(--gold,#d9b36a)}
body.liquid-commerce .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.35);
}
body.liquid-commerce .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{
  background:var(--gold,#d9b36a);border-color:var(--gold,#d9b36a);
}
body.liquid-commerce .wc-block-components-checkbox__mark{color:#241a06}

/* ---------- payment: dark like everything else; Stripe derives its field
   colours from the input rules above, so text stays light on dark ---------- */
body.liquid-commerce .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content{
  background:#0b1120;border-radius:12px;padding:14px;
}
body.liquid-commerce .wc-block-components-radio-control-accordion-option{
  border-color:rgba(255,255,255,.13) !important;
}

/* ---------- order summary sidebar ---------- */
body.liquid-commerce .wc-block-checkout__sidebar .wc-block-components-panel,
body.liquid-commerce .wc-block-checkout__sidebar{
  color:#e9e4d8;
}
body.liquid-commerce .wc-block-checkout__sidebar > .wc-block-components-totals-wrapper,
body.liquid-commerce .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{
  border:1px solid rgba(217,179,106,.45);
  border-radius:16px;
  background:rgba(217,179,106,.05);
  padding:.4rem 1.1rem;
}
body.liquid-commerce .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.liquid-commerce .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  color:var(--goldx,#d9b36a);color:#d9b36a;font-family:var(--font-d,inherit);
}

/* ---------- THE button ---------- */
body.liquid-commerce .wc-block-components-checkout-place-order-button,
body.liquid-commerce .wc-block-cart__submit-button{
  border:none;
  background:linear-gradient(115deg,#b8923f,#d9b36a 30%,#f0d9a8 50%,#d9b36a 70%,#b8923f);
  background-size:220% 220%;
  animation:gradShift 6s ease infinite;
  color:#241a06;
  font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  border-radius:100px;
  padding:1.05em 2em;
  box-shadow:0 12px 40px -10px rgba(217,179,106,.55);
  transition:transform .3s,box-shadow .3s;
}
body.liquid-commerce .wc-block-components-checkout-place-order-button:hover,
body.liquid-commerce .wc-block-cart__submit-button:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 54px -10px rgba(217,179,106,.8);
  color:#241a06;
}
@media(prefers-reduced-motion:reduce){
  body.liquid-commerce .wc-block-components-checkout-place-order-button,
  body.liquid-commerce .wc-block-cart__submit-button{animation:none}
}

/* ---------- cart page ---------- */
body.liquid-commerce .wc-block-cart-items,
body.liquid-commerce .wc-block-cart-items th,
body.liquid-commerce .wc-block-cart-items td{
  color:#e9e4d8;border-color:rgba(255,255,255,.12) !important;
}
body.liquid-commerce .wc-block-cart-item__quantity .wc-block-components-quantity-selector{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.28);border-radius:10px;
}
body.liquid-commerce .wc-block-components-quantity-selector input,
body.liquid-commerce .wc-block-components-quantity-selector button{
  color:#fff;background:transparent;
}
body.liquid-commerce .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block{
  border:1px solid rgba(217,179,106,.45);border-radius:16px;
  background:rgba(217,179,106,.05);padding:.4rem 1.1rem;
}
body.liquid-commerce .wc-block-components-sidebar-layout .wc-block-components-product-badge{
  color:#d9b36a;border-color:#d9b36a;
}

/* ---------- Apple Pay / Google Pay ----------------------------------------
   The express buttons ship at the very top of the form, above everything.
   That is wrong here: paying with Face ID skips our form entirely, and the one
   thing the festival must have is a real address to send the tickets to — the
   guest list is built from it. So the block is reordered to sit directly under
   the contact section, and assets/js/checkout.js keeps it locked until an
   email has been typed. Reordering is CSS only: the checkout page is shared
   with mobius.tokyo, so its block markup is never touched. */
body.liquid-commerce .wc-block-checkout__form,
body.liquid-commerce .wc-block-checkout__main{display:flex;flex-direction:column}
body.liquid-commerce .wc-block-checkout__form > *,
body.liquid-commerce .wc-block-checkout__main > *{order:3}
body.liquid-commerce .wc-block-checkout__form > .wp-block-woocommerce-checkout-contact-information-block,
body.liquid-commerce .wc-block-checkout__main > .wp-block-woocommerce-checkout-contact-information-block{order:1}
/* The block ships inside an unclassed <div>; checkout.js tags that wrapper. */
body.liquid-commerce .wc-block-checkout__form > .lq-express-holder,
body.liquid-commerce .wc-block-checkout__main > .lq-express-holder,
body.liquid-commerce .wc-block-checkout__form > .wp-block-woocommerce-checkout-express-payment-block,
body.liquid-commerce .wc-block-checkout__main > .wp-block-woocommerce-checkout-express-payment-block{order:2}

body.liquid-commerce .wc-block-components-express-payment--checkout{
  position:relative;
  border:1px solid rgba(217,179,106,.45);
  background:rgba(217,179,106,.05);
  border-radius:14px;
  padding:1rem 1.1rem;
  margin:0 0 1.4rem;
}
body.liquid-commerce .wc-block-components-express-payment__title{
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold,#d9b36a);margin:0 0 .7rem;
}
/* WooCommerce's "Or continue below" rule, in festival ink */
body.liquid-commerce .wc-block-components-express-payment-continue-rule{
  color:rgba(244,242,236,.5);font-size:.82rem;letter-spacing:.08em;margin:.9rem 0 .2rem;
}
body.liquid-commerce .wc-block-components-express-payment-continue-rule::before,
body.liquid-commerce .wc-block-components-express-payment-continue-rule::after{
  background:rgba(255,255,255,.16);
}
body.liquid-commerce .wc-block-components-express-payment__title-container,
body.liquid-commerce .wc-block-components-express-payment__event-buttons{margin-top:0}

/* Locked until an email exists — dimmed and unclickable, with the reason
   written UNDERNEATH. A caption laid across the buttons reads as a rendering
   fault on a small screen, which is exactly how it was reported. */
body.liquid-commerce .wc-block-components-express-payment--checkout.lq-locked
  .wc-block-components-express-payment__event-buttons{
  opacity:.32;
  filter:grayscale(.5);
  pointer-events:none;
}
body.liquid-commerce .lq-express-lock{
  margin:.85rem 0 0;
  font-size:.85rem;line-height:1.7;text-align:center;color:#f0d9a8;
}
@media(prefers-reduced-motion:no-preference){
  body.liquid-commerce .wc-block-components-express-payment--checkout
    .wc-block-components-express-payment__event-buttons{transition:opacity .25s,filter .25s}
}

/* ---------- while the payment runs -----------------------------------------
   WooCommerce's busy state drops the checkout to 25% opacity, which on ink
   reads as the screen washing out to white with no explanation. This sits over
   it: the festival's own ground, one gold ring, and words that say the payment
   is running and the page should stay open. Covers the card route and the
   wallets alike. */
body.liquid-commerce .lq-paying{
  position:fixed;inset:0;z-index:2147483000;   /* above anything a payment sheet paints */
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(120% 90% at 50% 40%,rgba(11,17,32,.94),rgba(4,6,15,.97));
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  /* No fade. None. Twice this overlay was on the page, full size, at the top
     layer — and invisible, which is what the owner kept photographing as "the
     wash with nothing on it". First it waited for requestAnimationFrame to add
     a class; then it used a CSS animation instead. Both fail the same way: a
     browser freezes animation and frame callbacks when the page is not in the
     foreground, and the page is not in the foreground while a payment sheet is
     up. Whatever reveals this overlay must not depend on the page being
     awake. So it is simply opaque. */
  opacity:1;
  padding:2rem 1.6rem calc(2rem + env(safe-area-inset-bottom,0px));
}
body.liquid-commerce .lq-paying-in{text-align:center;max-width:22rem}
body.liquid-commerce .lq-paying-t{
  margin:1.6rem 0 .4rem;font-size:1.02rem;font-weight:700;color:#f4f2ec;line-height:1.5;
}
body.liquid-commerce .lq-paying-s{
  margin:0;font-size:.86rem;line-height:1.8;color:rgba(244,242,236,.62);
}
/* One ring, gold on ink — the festival's own colour rather than a grey dot. */
body.liquid-commerce .lq-paying-ring{
  width:54px;height:54px;margin:0 auto;border-radius:50%;
  border:2px solid rgba(217,179,106,.28);
  border-top-color:#d9b36a;
  border-right-color:rgba(217,179,106,.7);
  box-shadow:0 0 26px -6px rgba(217,179,106,.45);
  /* If the browser freezes the spin — and mid-payment it may — a gold ring
     sitting still next to the words is still a clear sign of work in hand. */
}
@media(prefers-reduced-motion:no-preference){
  body.liquid-commerce .lq-paying-ring{animation:lqSpin 1s linear infinite}
}
/* Reduced motion still needs a sign of life: the ring breathes instead. */
@media(prefers-reduced-motion:reduce){
  body.liquid-commerce .lq-paying-ring{animation:lqPulse 1.8s ease-in-out infinite}
}
@keyframes lqSpin{to{transform:rotate(360deg)}}
@keyframes lqPulse{0%,100%{opacity:.45}50%{opacity:1}}

/* ---------- notices, errors, small print ---------- */
body.liquid-commerce .wc-block-components-validation-error p,
body.liquid-commerce .wc-block-components-validation-error{color:#ff8a80}
body.liquid-commerce .wc-block-components-notice-banner.is-error{
  background:#2b0e0e;border-color:#7a2e2e;color:#ffd7d2;
}
body.liquid-commerce .wc-block-components-notice-banner.is-info{
  background:rgba(217,179,106,.06);border-color:rgba(217,179,106,.4);color:#e9e4d8;
}
body.liquid-commerce .wc-block-components-notice-banner.is-info svg{fill:var(--gold,#d9b36a)}
body.liquid-commerce .wc-block-components-notice-banner.is-success{
  background:#0d2213;border-color:#2e7d32;color:#c9f2d0;
}
body.liquid-commerce .wc-terms-and-conditions,
body.liquid-commerce .wc-block-checkout__terms{color:rgba(244,242,236,.55)}

/* express-payment separators keep their contrast */
body.liquid-commerce .wc-block-components-express-payment-continue-rule{color:rgba(244,242,236,.5)}

/* thank-you page (classic markup on the order-received endpoint) */
body.liquid-commerce .woocommerce-order p,
body.liquid-commerce .woocommerce-order li,
body.liquid-commerce .woocommerce-order th,
body.liquid-commerce .woocommerce-order td{color:#e9e4d8}
body.liquid-commerce .woocommerce-order table{border-color:rgba(255,255,255,.12)}

@media(max-width:760px){
  body.liquid-commerce main{padding-top:4.8rem}
  /* The page template opens with a 100px spacer block — room the desktop
     layout can afford and a phone screen cannot. Reclaimed. */
  body.liquid-commerce main > .wp-block-spacer{display:none}

  /* On a phone the account menu used to fill the entire first screen: six
     full-width buttons, and the tickets themselves below a fold nobody knew
     was there. It becomes one swipeable row of pills instead, so whatever
     the guest opened — their QR codes, usually — starts immediately. */
  body.liquid-commerce .woocommerce-MyAccount-navigation{margin:0 0 1.1rem}
  body.liquid-commerce .woocommerce-MyAccount-navigation ul{
    display:flex;gap:.45rem;margin:0;padding:0 0 .35rem;
    overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  body.liquid-commerce .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
  body.liquid-commerce .woocommerce-MyAccount-navigation li{flex:0 0 auto;margin:0}
  body.liquid-commerce .woocommerce-MyAccount-navigation a{
    margin:0;white-space:nowrap;border-radius:100px;
    padding:.5em 1.05em;font-size:.88rem;
  }
  /* The pill you are on is the one that matters; the rest sit back. */
  body.liquid-commerce .woocommerce-MyAccount-navigation .is-active a{
    background:rgba(217,179,106,.12);
  }
}

/* The LiQUiD account offer — optional, but worth a guest's attention:
   next year's checkout in seconds, tickets in one place. Stripe's own
   "Link" account upsell is disabled in the gateway settings; accounts
   belong to the festival, not to the payment company. */
body.liquid-commerce .wc-block-checkout__guest-checkout-notice{display:none}
body.liquid-commerce .wc-block-checkout__create-account{
  border:1px solid rgba(217,179,106,.45);
  background:rgba(217,179,106,.06);
  border-radius:12px;
  padding:.9rem 1.1rem;
  margin-top:.9rem;
}

/* Lean billing: name + one address line. Country stays prefilled (JP) but
   invisible; phone is optional and hidden. City/state/postcode are removed
   server-side (locale filter), these are belt-and-braces. */
body.liquid-commerce .wc-block-components-address-form__phone,
body.liquid-commerce .wc-block-components-address-form__country,
body.liquid-commerce .wc-block-components-address-form__city,
body.liquid-commerce .wc-block-components-address-form__state,
body.liquid-commerce .wc-block-components-address-form__postcode{display:none}

/* Agreement checkbox + promoter question appear only when a villa is in
   the basket; everyone else agrees via the line above Place Order. */
body.liquid-commerce #order-fields{display:none}
body.liquid-commerce.liquid-cart-villa #order-fields{display:block}

/* An empty festival basket shipped with WooCommerce's stock "New in store"
   grid — which, on this install, is the Mobius Lounge subscriptions. Wrong
   brand, wrong product, and a link off to mobius.tokyo for someone who came
   to buy a ticket. Everything after the heading goes; assets/js/checkout.js
   puts one gold road back to the tickets in its place. */
body.liquid-commerce .wp-block-woocommerce-empty-cart-block > hr,
body.liquid-commerce .wp-block-woocommerce-empty-cart-block > hr ~ *:not(.liquid-empty-cta){
  display:none;
}

/* Add payment method — the one page still built from classic WooCommerce
   markup. Its stock .woocommerce-PaymentBox is near-white, while Stripe
   samples the surrounding dark page and paints its own labels and mandate
   text light: white words on a lavender panel, which is what the owner
   photographed. The panel goes dark like everything else and both become
   readable. Stripe's own fields already follow the input rules above. */
body.liquid-commerce .woocommerce-Payment,
body.liquid-commerce #add_payment_method #payment{
  background:transparent !important;border:none !important;
}
body.liquid-commerce .woocommerce-PaymentBox,
body.liquid-commerce .payment_box{
  background:#0b1120 !important;
  color:#e9e4d8 !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:12px !important;
  padding:1.1rem 1.2rem !important;
}
/* the little pointer that ties the panel to its radio button */
body.liquid-commerce .woocommerce-PaymentBox::before,
body.liquid-commerce .payment_box::before{
  border-bottom-color:#0b1120 !important;
}
body.liquid-commerce .woocommerce-PaymentBox p,
body.liquid-commerce .payment_box p{color:#e9e4d8 !important}
body.liquid-commerce ul.wc_payment_methods,
body.liquid-commerce ul.woocommerce-PaymentMethods{
  list-style:none;padding:0;margin:0 0 1.2rem;
}
body.liquid-commerce ul.wc_payment_methods > li{margin-bottom:.6rem}
body.liquid-commerce ul.wc_payment_methods label{color:#f4f2ec}

/* ---------- My LiQUiD (the account area, classic WooCommerce markup) ---------- */
body.liquid-commerce .woocommerce-MyAccount-navigation ul{list-style:none;padding:0}
body.liquid-commerce .woocommerce-MyAccount-navigation a{
  display:block;padding:.55em .9em;border:1px solid rgba(255,255,255,.13);
  border-radius:10px;margin-bottom:.5rem;color:#e9e4d8;
}
body.liquid-commerce .woocommerce-MyAccount-navigation .is-active a{
  border-color:var(--gold,#d9b36a);color:var(--gold,#d9b36a);
}
body.liquid-commerce .woocommerce-MyAccount-content{color:#e9e4d8}
body.liquid-commerce .woocommerce-MyAccount-content a{color:var(--gold,#d9b36a)}
body.liquid-commerce .woocommerce table.shop_table,
body.liquid-commerce .woocommerce table.shop_table th,
body.liquid-commerce .woocommerce table.shop_table td{
  border-color:rgba(255,255,255,.13);color:#e9e4d8;
}
body.liquid-commerce .woocommerce form .form-row input,
body.liquid-commerce .woocommerce form .form-row textarea{
  background:#161e31;border:1px solid #4d5874;color:#f4f2ec;border-radius:10px;padding:.6em .8em;
}

/* --------------------------------------------------------------------------
   Commerce pages: survive Safari's compositor.

   These overlays were suspected (and removed) during the 2026-08-25 Safari
   login-void hunt. They turned out NOT to be the cause — the real one is the
   float collapse fixed further down — but they stay removed on commerce
   pages regardless: `.grain::after` is a fixed overlay NINE times the
   viewport running a stepped transform animation (already on record making
   Instagram's in-app browser lag — see the mobile-performance notes), and
   the `.aurora` blobs add blur(90px) + mix-blend-mode above every form.
   Decorative atmosphere has no business above a payment form in any
   browser. The nav also loses its backdrop blur here for the same reason:
   fewer composited layers over the money path, fewer ways to break.
   -------------------------------------------------------------------------- */
/* `grain` sits on <body> itself, so these must be compound selectors —
   a descendant " .grain" here matches nothing and fixes nothing. */
body.woocommerce-account.grain::after,
body.woocommerce-cart.grain::after,
body.woocommerce-checkout.grain::after,
body.liquid-commerce.grain::after{ content:none !important; display:none !important; }

body.woocommerce-account .aurora,
body.woocommerce-cart .aurora,
body.woocommerce-checkout .aurora,
body.liquid-commerce .aurora{ display:none !important; }

/* --------------------------------------------------------------------------
   THE actual Safari login-void fix, found by making the page diagnose itself
   (elementFromPoint + offsetHeight beacons, since Safari automation is locked
   behind a user setting):

     .col2-set  = 422px, float:left     <- Login/Register columns, floated
     .woocommerce = 0px                 <- parent never contains the float
     footer     = slides up, opaque, z-index 5, buries the forms

   Chrome happens to contain the float; Safari does not, and everything below
   the first labels disappears under the footer. flow-root makes the wrapper
   contain its floated children in every browser — the modern clearfix, no
   pseudo-elements, no magic. Safari has supported it since 13.
   -------------------------------------------------------------------------- */
body.woocommerce-account .woocommerce{ display:flow-root; }

body.woocommerce-account nav,
body.woocommerce-account .nav-glass,
body.woocommerce-account header [class*="nav"]{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  background:rgba(5,7,13,.97) !important;
}
body.woocommerce-account .woocommerce form.woocommerce-form-login .form-row input,
body.woocommerce-account .woocommerce form.woocommerce-form-register .form-row input{
  border-color:#6b7896;
  transform:translateZ(0);
}
body.liquid-commerce .woocommerce-button,
body.liquid-commerce .woocommerce button.button{
  background:linear-gradient(115deg,#b8923f,#d9b36a 30%,#f0d9a8 50%,#d9b36a 70%,#b8923f);
  color:#241a06;border:none;border-radius:100px;padding:.8em 1.6em;font-weight:700;
}

/* Empty cart: the shared shop's "New in store" grid surfaces MOBIUS
   subscription products on the festival domain — hide every trace and
   let checkout.js offer festival tickets instead. */
body.liquid-commerce .wp-block-woocommerce-empty-cart-block .wp-block-heading,
body.liquid-commerce .wp-block-woocommerce-empty-cart-block ul.products,
body.liquid-commerce .wp-block-woocommerce-empty-cart-block .wc-block-grid,
body.liquid-commerce .wp-block-woocommerce-empty-cart-block .cross-sells,
body.liquid-commerce .wp-block-woocommerce-empty-cart-block .wp-block-separator{display:none}

/* ---------- My LiQUiD: content polish (address, forms, orders, dashboard) -- */
body.liquid-commerce .woocommerce-MyAccount-content h2,
body.liquid-commerce .woocommerce-MyAccount-content h3{
  font-size:1.15rem;letter-spacing:.04em;margin:0 0 .9rem;color:#f4f2ec;
}
body.liquid-commerce .woocommerce-MyAccount-content>p{line-height:1.9;color:rgba(233,228,216,.85)}
body.liquid-commerce .woocommerce-Address,
body.liquid-commerce .woocommerce-MyAccount-content address{
  border:1px solid rgba(217,179,106,.4);background:rgba(217,179,106,.05);
  border-radius:14px;padding:1.1rem 1.3rem;font-style:normal;line-height:2;
  max-width:420px;margin:.4rem 0 1.4rem;
}
body.liquid-commerce .woocommerce-Address-title{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
body.liquid-commerce .woocommerce-Address-title .edit{font-size:.85rem}
body.liquid-commerce .woocommerce-MyAccount-content .form-row label{
  display:block;margin-bottom:.35em;color:rgba(233,228,216,.8);font-size:.9rem;
}
body.liquid-commerce .woocommerce-MyAccount-content .form-row{margin-bottom:1.1rem}
body.liquid-commerce .woocommerce-MyAccount-content fieldset{
  border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:1.2rem 1.4rem;margin:1.6rem 0;
}
body.liquid-commerce .woocommerce-MyAccount-content legend{
  padding:0 .6em;letter-spacing:.06em;color:var(--gold,#d9b36a);font-size:.92rem;
}
body.liquid-commerce .woocommerce table.shop_table{
  border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden;width:100%;
}
body.liquid-commerce .woocommerce table.shop_table th{
  background:rgba(255,255,255,.05);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.8em 1em;
}
body.liquid-commerce .woocommerce table.shop_table td{padding:.9em 1em}
body.liquid-commerce .woocommerce table.shop_table .woocommerce-button{
  padding:.45em 1.2em;font-size:.82rem;
}
body.liquid-commerce .lq-dash-links{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
body.liquid-commerce .lq-dash-links a{text-decoration:none}
body.liquid-commerce .lq-dash-links .lq-ghost{
  display:inline-block;border:1px solid var(--gold,#d9b36a);color:var(--gold,#d9b36a);
  border-radius:100px;padding:.8em 1.6em;font-weight:700;
}

/* Gold gradient buttons must ALWAYS carry dark text — the account area's
   gold link color was winning the cascade and painting gold on gold. */
body.liquid-commerce .woocommerce-button,
body.liquid-commerce .woocommerce button.button,
body.liquid-commerce .woocommerce-MyAccount-content a.woocommerce-button,
body.liquid-commerce .lq-dash-links a.woocommerce-button,
body.liquid-commerce .btn-solid-gold{color:#241a06!important}

/* WooCommerce notices (email-verification prompt etc.) in festival dress
   instead of the default white box. */
body.liquid-commerce .woocommerce-MyAccount-content .woocommerce-info,
body.liquid-commerce .woocommerce-MyAccount-content .woocommerce-message{
  background:rgba(217,179,106,.06);border:1px solid rgba(217,179,106,.4);
  border-radius:14px;color:#e9e4d8;padding:1rem 1.3rem;margin-bottom:1.4rem;
}
body.liquid-commerce .woocommerce-MyAccount-content .woocommerce-info a,
body.liquid-commerce .woocommerce-MyAccount-content .woocommerce-message a{color:var(--gold,#d9b36a)}

/* No coupons at the festival — hide any residue of the coupon UI. */
body.liquid-commerce .wc-block-components-totals-coupon,
body.liquid-commerce .wp-block-woocommerce-cart-order-summary-coupon-form-block,
body.liquid-commerce .wc-block-components-totals-coupon-link{display:none!important}
