/* =========================================================
   QUELLOWIFI · CART + CHECKOUT (WooCommerce blocks)
   Loaded only on the cart/checkout pages by novamira-sandbox/qw-checkout-design.php.
   Same tokens as the site CSS (Elementor Globals when present, prototype values otherwise).
   ========================================================= */
body.qw-store{
  --qw-ink:var(--e-global-color-qwink,#0A0B0D);
  --qw-ink-2:var(--e-global-color-qwink2,#131518);
  --qw-ink-3:var(--e-global-color-qwink3,#1D2024);
  --qw-paper:var(--e-global-color-qwpaper,#EDEAE4);
  --qw-paper-2:var(--e-global-color-qwpaper2,#E2DED6);
  --qw-grey:var(--e-global-color-qwgrey,#8B8D91);
  --qw-grey-d:var(--e-global-color-qwgreyd,#5A5D62);
  --qw-signal:var(--e-global-color-qwsignal,#7CF7C6);
  --qw-signal-ink:var(--e-global-color-qwsigink,#06281C);
  --qw-hair-d:rgba(237,234,228,.12);
  --qw-hair-l:rgba(10,11,13,.14);
  --qw-f-display:'Inter Tight','Helvetica Neue',Arial,sans-serif;
  --qw-f-body:'Geist','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --qw-f-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --qw-ease:cubic-bezier(.22,1,.36,1);
  --qw-pad:clamp(20px,4vw,64px);
  --qw-field:color-mix(in srgb,var(--qw-paper) 45%,#fff);
  background:var(--qw-paper);color:var(--qw-ink);font-family:var(--qw-f-body);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
body.qw-store a{color:inherit}
body.qw-store :focus-visible{outline:2px solid var(--qw-ink);outline-offset:3px}

/* ---------- theme chrome replaced by the slim checkout header/footer ---------- */
body.qw-store #site-header,body.qw-store .site-header,body.qw-store #site-footer,body.qw-store .site-footer,
body.qw-store .page-header{display:none}
body.qw-store .site-main{max-width:1240px;width:100%;margin:0 auto;padding:clamp(28px,4vw,56px) var(--qw-pad) clamp(64px,8vw,112px)}
body.qw-store .site-main .page-content{margin:0}

.qw-ck-head{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--qw-paper) 88%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--qw-hair-l)}
.qw-ck-head__in{max-width:1240px;margin:0 auto;padding:0 var(--qw-pad);height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.qw-ck-logo{display:flex;align-items:center;gap:10px;font-family:var(--qw-f-display);font-weight:700;font-size:21px;line-height:1;letter-spacing:-.04em;text-decoration:none}
.qw-ck-logo i{width:22px;height:22px;border-radius:7px;border:1.5px solid currentColor;position:relative;display:block;flex:none}
.qw-ck-logo i::after{content:"";position:absolute;left:5px;right:5px;bottom:4px;height:2px;border-radius:2px;background:var(--qw-signal)}
.qw-ck-chip{display:inline-flex;align-items:center;gap:9px;font-family:var(--qw-f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  padding:8px 13px;border-radius:999px;background:var(--qw-ink);color:var(--qw-paper)}
.qw-ck-dot{width:7px;height:7px;border-radius:50%;background:var(--qw-signal);box-shadow:0 0 0 0 rgba(124,247,198,.6);animation:qw-ck-ping 2.4s infinite}
@keyframes qw-ck-ping{0%{box-shadow:0 0 0 0 rgba(124,247,198,.55)}70%{box-shadow:0 0 0 8px rgba(124,247,198,0)}100%{box-shadow:0 0 0 0 rgba(124,247,198,0)}}
.qw-ck-back{font-family:var(--qw-f-mono);font-size:12px;letter-spacing:.04em;text-decoration:none;color:var(--qw-grey-d)!important;transition:color .3s}
.qw-ck-back:hover{color:var(--qw-ink)!important}

/* ---------- intro above the checkout form ---------- */
.qw-ck-intro{margin:0 0 clamp(28px,4vw,48px)}
.qw-ck-index{display:flex;justify-content:space-between;gap:16px;margin:0 0 clamp(24px,3.4vw,44px);padding-bottom:18px;border-bottom:1px solid var(--qw-hair-l);
  font-family:var(--qw-f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--qw-grey-d)}
.qw-ck-index b{font-weight:500;color:var(--qw-ink)}
.qw-ck-title{font-family:var(--qw-f-display);font-weight:700;font-size:clamp(2.4rem,5.2vw,4.6rem);line-height:.95;letter-spacing:-.045em;margin:0;color:var(--qw-ink)}
.qw-ck-lede{margin:18px 0 0;max-width:52ch;font-size:clamp(1rem,1.25vw,1.15rem);color:var(--qw-grey-d)}
.qw-ck-facts{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.qw-ck-facts li{display:inline-flex;align-items:center;gap:8px;font-family:var(--qw-f-mono);font-size:11.5px;letter-spacing:.04em;
  padding:7px 12px;border-radius:999px;border:1px solid var(--qw-hair-l);color:var(--qw-ink)}
.qw-ck-facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--qw-signal);box-shadow:0 0 0 1px rgba(10,11,13,.25)}

/* ---------- block checkout / cart: base ---------- */
body.qw-store .wp-block-woocommerce-checkout,body.qw-store .wp-block-woocommerce-cart{max-width:none;margin:0;padding:0;font-family:var(--qw-f-body);color:var(--qw-ink)}
body.qw-store .wc-block-components-sidebar-layout{gap:clamp(24px,3vw,48px);flex-wrap:nowrap;margin:0}
body.qw-store .wc-block-components-main{padding-right:0}
body.qw-store .wc-block-components-sidebar{padding-left:0}

/* step headings: mono index + display title (replaces the default numbered rail) */
body.qw-store .wc-block-checkout__form{counter-reset:qwstep}
body.qw-store .wc-block-components-checkout-step{counter-increment:qwstep;position:relative;margin:0 0 clamp(28px,3.4vw,40px);padding:0}
body.qw-store .wc-block-components-checkout-step::after,body.qw-store .wc-block-components-checkout-step__container::after,
body.qw-store .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container::after{display:none!important;content:none!important}
body.qw-store .wc-block-components-checkout-step__heading{margin:0 0 16px;padding-top:18px;border-top:1px solid var(--qw-hair-l);display:flex;align-items:baseline;justify-content:space-between;gap:12px}
body.qw-store .wc-block-components-checkout-step__title{font-family:var(--qw-f-display);font-weight:700;font-size:clamp(1.3rem,1.8vw,1.6rem);letter-spacing:-.025em;line-height:1.15;margin:0;color:var(--qw-ink)}
body.qw-store .wc-block-components-checkout-step__title::before,
body.qw-store .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before{
  content:counter(qwstep,decimal-leading-zero);position:static;display:inline-block;margin-right:14px;vertical-align:.32em;
  font-family:var(--qw-f-mono);font-weight:400;font-size:12px;letter-spacing:.08em;color:var(--qw-grey-d);
  width:auto;height:auto;border:0;background:none;transform:none;left:auto;top:auto}
body.qw-store .wc-block-components-checkout-step__container,body.qw-store .wc-block-components-checkout-step__content{padding:0;margin:0}
body.qw-store .wc-block-components-checkout-step__description{color:var(--qw-grey-d);font-size:14.5px;margin:0 0 14px}
body.qw-store .wc-block-components-checkout-step__heading-content,body.qw-store .wc-block-components-checkout-step__heading-content a{font-size:13px;color:var(--qw-grey-d)}

/* fields */
body.qw-store .wc-block-components-text-input input,body.qw-store .wc-block-components-text-input textarea,
body.qw-store .wc-blocks-components-select .wc-blocks-components-select__select,
body.qw-store .wc-block-components-combobox .wc-block-components-combobox-control input,
body.qw-store .wc-block-components-textarea{
  background:var(--qw-field)!important;border:1px solid var(--qw-hair-l)!important;border-radius:12px!important;color:var(--qw-ink)!important;
  font-family:var(--qw-f-body)!important;font-size:16px!important;box-shadow:none!important;transition:border-color .25s,box-shadow .25s}
body.qw-store .wc-block-components-text-input input:focus,body.qw-store .wc-block-components-text-input textarea:focus,
body.qw-store .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.qw-store .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.qw-store .wc-block-components-textarea:focus{border-color:var(--qw-ink)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--qw-signal) 55%,transparent)!important;outline:none}
body.qw-store .wc-block-components-text-input label,body.qw-store .wc-blocks-components-select__label,
body.qw-store .wc-block-components-combobox .wc-block-components-combobox-control label{color:var(--qw-grey-d)!important;font-family:var(--qw-f-body)}
body.qw-store .wc-block-components-text-input.has-error input,body.qw-store .has-error .wc-blocks-components-select__select{border-color:#b3261e!important}
body.qw-store .wc-block-components-validation-error{font-size:13px}
body.qw-store .wc-block-components-address-card{border:1px solid var(--qw-hair-l);border-radius:14px;background:var(--qw-field);padding:16px 18px}

/* checkboxes + radios */
body.qw-store .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{border:1.5px solid var(--qw-grey-d);border-radius:5px;background:var(--qw-field)}
body.qw-store .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--qw-ink);border-color:var(--qw-ink)}
body.qw-store .wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--qw-signal)}
body.qw-store .wc-block-components-radio-control--highlight-checked,body.qw-store .wc-block-components-radio-control-accordion-option,
body.qw-store .wc-block-components-radio-control__option{border-radius:14px}
body.qw-store .wc-block-components-radio-control--highlight-checked::after{border-radius:14px;border-color:var(--qw-hair-l)}
body.qw-store .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
body.qw-store .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted{box-shadow:inset 0 0 0 1.5px var(--qw-ink);border-radius:14px}
body.qw-store .wc-block-components-radio-control__input{border:1.5px solid var(--qw-grey-d)}
body.qw-store .wc-block-components-radio-control__input:checked{border-color:var(--qw-ink)}
body.qw-store .wc-block-components-radio-control__input:checked::before{background:var(--qw-ink)}
body.qw-store .wc-block-components-radio-control__label,body.qw-store .wc-block-components-radio-control__secondary-label{font-weight:500}

/* place order: the site's primary pill */
body.qw-store .wc-block-components-button:not(.is-link){font-family:var(--qw-f-body);font-weight:500;font-size:16px;border-radius:999px;min-height:56px;padding:0 28px;box-shadow:none;transition:background .35s var(--qw-ease),color .35s var(--qw-ease),transform .35s var(--qw-ease)}
body.qw-store .wc-block-components-checkout-place-order-button,body.qw-store .wc-block-cart__submit-button{
  background:var(--qw-signal)!important;color:var(--qw-signal-ink)!important;border:0!important;width:auto;min-width:220px}
body.qw-store .wc-block-components-checkout-place-order-button:hover,body.qw-store .wc-block-cart__submit-button:hover{background:var(--qw-ink)!important;color:var(--qw-paper)!important}
body.qw-store .wc-block-components-checkout-place-order-button:focus-visible,body.qw-store .wc-block-cart__submit-button:focus-visible{outline:2px solid var(--qw-ink);outline-offset:3px}
body.qw-store .wc-block-checkout__actions{margin-top:8px;padding-top:24px;border-top:1px solid var(--qw-hair-l)}
body.qw-store .wc-block-checkout__actions_row{align-items:center;gap:16px}
body.qw-store .wc-block-components-checkout-return-to-cart-button{font-family:var(--qw-f-mono);font-size:12px;letter-spacing:.04em;color:var(--qw-grey-d);text-decoration:none}
body.qw-store .wc-block-components-checkout-return-to-cart-button:hover{color:var(--qw-ink)}
body.qw-store .wc-block-checkout__terms{font-size:13px;color:var(--qw-grey-d);margin:0 0 18px}

/* notices */
body.qw-store .wc-block-components-notice-banner{border-radius:14px;font-size:14.5px;border-width:1px;background:var(--qw-field)}
body.qw-store .wc-block-components-notice-banner.is-error{border-color:#b3261e}
body.qw-store .wc-block-components-notice-banner.is-info,body.qw-store .wc-block-components-notice-banner.is-success{border-color:var(--qw-hair-l)}
body.qw-store .wc-block-components-notice-banner > svg{background:var(--qw-ink);fill:var(--qw-signal)}

/* ---------- order summary: dark card, mint total ---------- */
body.qw-store .wc-block-checkout__sidebar,body.qw-store .wc-block-cart__sidebar{
  background-color:var(--qw-ink);color:var(--qw-paper);border-radius:24px;padding:clamp(22px,2.6vw,34px)!important;
  background-image:radial-gradient(600px 320px at 50% 0,color-mix(in srgb,var(--qw-signal) 10%,transparent),transparent 70%);align-self:flex-start}
body.qw-store .wc-block-checkout__sidebar.is-sticky{top:96px}
body.qw-store .wc-block-checkout__sidebar *,body.qw-store .wc-block-cart__sidebar *{border-color:var(--qw-hair-d)}
/* summary text: dark on the light page by default (on phones WooCommerce shows the summary in the main column),
   light inside the dark sidebar card */
body.qw-store .wc-block-components-order-summary .wc-block-components-panel__button,
body.qw-store .wc-block-components-checkout-order-summary__title,body.qw-store .wc-block-cart__totals-title{
  font-family:var(--qw-f-mono)!important;font-size:12px!important;font-weight:400!important;letter-spacing:.08em;text-transform:uppercase;color:var(--qw-grey-d)!important;margin:0 0 6px;padding:0}
body.qw-store .wc-block-components-checkout-order-summary__title-text{font:inherit;color:inherit}
body.qw-store .wc-block-components-order-summary-item{padding:16px 0}
body.qw-store .wc-block-components-order-summary-item__image{width:56px}
body.qw-store .wc-block-components-order-summary-item__image img{width:56px;height:auto;max-width:none;border-radius:12px;background:var(--qw-paper-2);padding:6px;box-sizing:border-box}
body.qw-store .wc-block-components-order-summary-item__quantity{background:var(--qw-signal);color:var(--qw-signal-ink);border:0;box-shadow:none;font-family:var(--qw-f-mono);font-size:11px}
body.qw-store .wc-block-components-product-name{font-family:var(--qw-f-display);font-weight:600;font-size:1.05rem;letter-spacing:-.015em;color:var(--qw-ink)!important;text-decoration:none}
body.qw-store .wc-block-components-order-summary-item__description,body.qw-store .wc-block-components-product-metadata,
body.qw-store .wc-block-components-product-metadata__description p{font-size:12.5px;line-height:1.45;color:var(--qw-grey-d)}
body.qw-store .wc-block-components-order-summary-item__total-price,body.qw-store .wc-block-components-order-summary-item .wc-block-components-formatted-money-amount{color:var(--qw-ink);font-variant-numeric:tabular-nums}
body.qw-store .wc-block-components-totals-wrapper{padding:14px 0;border-top:1px solid var(--qw-hair-l)!important}
body.qw-store .wc-block-components-totals-item{color:var(--qw-ink);font-size:14.5px}
body.qw-store .wc-block-components-totals-item__value{font-variant-numeric:tabular-nums}
body.qw-store .wc-block-components-totals-item__description{color:var(--qw-grey-d)}
body.qw-store .wc-block-components-totals-footer-item{align-items:baseline}
body.qw-store .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-family:var(--qw-f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--qw-grey-d)}
body.qw-store .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.qw-store .wc-block-components-totals-footer-item-tax-value{font-family:var(--qw-f-display);font-weight:700;font-size:clamp(1.9rem,2.6vw,2.4rem);letter-spacing:-.04em;color:var(--qw-ink)}
/* inside the dark sidebar card */
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) .wc-block-components-checkout-order-summary__title,
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) .wc-block-cart__totals-title{color:var(--qw-grey)!important}
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) .wc-block-components-order-summary-item__image img{background:var(--qw-paper)}
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) .wc-block-components-product-name{color:var(--qw-paper)!important}
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) :is(.wc-block-components-order-summary-item__description,.wc-block-components-product-metadata,.wc-block-components-product-metadata__description p){color:rgba(237,234,228,.62)}
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) :is(.wc-block-components-order-summary-item__total-price,.wc-block-components-formatted-money-amount){color:var(--qw-paper)}
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) .wc-block-components-totals-wrapper{border-top-color:var(--qw-hair-d)!important}
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) .wc-block-components-totals-item{color:rgba(237,234,228,.78)}
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) .wc-block-components-totals-item__description{color:rgba(237,234,228,.55)}
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{color:var(--qw-grey)}
body.qw-store :is(.wc-block-checkout__sidebar,.wc-block-cart__sidebar) :is(.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,.wc-block-components-totals-footer-item-tax-value){color:var(--qw-signal)}
body.qw-store .wc-block-checkout__sidebar .wc-block-components-panel__button,body.qw-store .wc-block-cart__sidebar .wc-block-components-panel__button{color:var(--qw-paper)!important;font-size:14.5px}
body.qw-store .wc-block-checkout__sidebar .wc-block-components-panel__button-icon,body.qw-store .wc-block-cart__sidebar .wc-block-components-panel__button-icon{fill:var(--qw-paper)}
body.qw-store .wc-block-checkout__sidebar .wc-block-components-text-input input,body.qw-store .wc-block-cart__sidebar .wc-block-components-text-input input{
  background:var(--qw-ink-3)!important;border-color:var(--qw-hair-d)!important;color:var(--qw-paper)!important}
body.qw-store .wc-block-checkout__sidebar .wc-block-components-text-input label,body.qw-store .wc-block-cart__sidebar .wc-block-components-text-input label{color:var(--qw-grey)!important}
body.qw-store .wc-block-checkout__sidebar .wc-block-components-button:not(.is-link),body.qw-store .wc-block-cart__sidebar .wc-block-components-totals-coupon__button{
  background:var(--qw-paper);color:var(--qw-ink);border:0;min-height:48px}
body.qw-store .wc-block-checkout__sidebar a,body.qw-store .wc-block-cart__sidebar a{color:var(--qw-paper)}

/* ---------- cart page specifics ---------- */
body.qw-store .wc-block-cart-items{border-color:var(--qw-hair-l)}
body.qw-store .wc-block-cart-items th{font-family:var(--qw-f-mono);font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--qw-grey-d)}
body.qw-store .wc-block-cart-items .wc-block-components-product-name{color:var(--qw-ink)!important}
body.qw-store .wc-block-cart-items .wc-block-components-product-metadata,body.qw-store .wc-block-cart-items .wc-block-components-product-metadata__description p{color:var(--qw-grey-d)}
body.qw-store .wc-block-cart-item__image img{border-radius:12px;background:var(--qw-paper-2);padding:6px;box-sizing:border-box}
body.qw-store .wc-block-cart-item__remove-link{color:var(--qw-grey-d)!important;font-size:13px}
body.qw-store .wc-block-cart__empty-cart__title{font-family:var(--qw-f-display);font-weight:700;letter-spacing:-.03em}

/* ---------- checkout: no site chrome, payment icons, legal links ---------- */
body.qw-checkout .wc-block-checkout__sidebar.is-sticky{top:24px}
.qw-ck-pay{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:18px}
.qw-ck-pay img{display:block;width:44px;height:44px;margin:-7px 0}
.qw-ck-legal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;margin:clamp(48px,6vw,80px) 0 0;padding-top:22px;border-top:1px solid var(--qw-hair-l);
  font-family:var(--qw-f-mono);font-size:12px;letter-spacing:.03em;color:var(--qw-grey-d);text-align:center}
.qw-ck-legal a{text-decoration:none}
.qw-ck-legal a:hover{color:var(--qw-ink);text-decoration:underline;text-underline-offset:3px}
.qw-ck-legal__sep{opacity:.5}
.qw-ck-legal__draft{opacity:.6}

/* ---------- slim footer (cart) ---------- */
.qw-ck-foot{border-top:1px solid var(--qw-hair-l)}
.qw-ck-foot__in{max-width:1240px;margin:0 auto;padding:22px var(--qw-pad);display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;
  font-family:var(--qw-f-mono);font-size:12px;letter-spacing:.03em;color:var(--qw-grey-d)}
.qw-ck-foot a{text-decoration:underline;text-underline-offset:3px}

/* ---------- responsive ---------- */
@media (max-width:767px){
  body.qw-store .wc-block-components-sidebar-layout{flex-direction:column}
  .qw-ck-head__in{height:60px}
  .qw-ck-chip{display:none}
  .qw-ck-index span:last-child{display:none}
  body.qw-store .wc-block-components-checkout-place-order-button{width:100%}
  body.qw-store .wc-block-checkout__sidebar,body.qw-store .wc-block-cart__sidebar{border-radius:20px}
}
@media (prefers-reduced-motion:reduce){.qw-ck-dot{animation:none}}

/* thank-you page: login arrives by email */
.qw-ck-note{margin:0 0 28px;padding:14px 18px;border:1px solid color-mix(in srgb,var(--qw-signal,#7CF7C6) 45%,transparent);border-radius:14px;background:color-mix(in srgb,var(--qw-signal,#7CF7C6) 8%,transparent);font-size:15px}
