:root{--ecq-ink:#071522;--ecq-gold:#e5a313;--ecq-gold-text:#875900;--ecq-paper:#f4f1ea;--ecq-line:rgba(7,21,34,.14)}

/* My account: preserve the theme gutter instead of hiding mobile overflow. */
@media(max-width:600px){
  body.woocommerce-account .ms-dashboard-content.row{margin-left:0!important;margin-right:0!important}
  body.woocommerce-account .ms-dashboard-content.row>.woocommerce-MyAccount-navigation,
  body.woocommerce-account .ms-dashboard-content.row>.woocommerce-MyAccount-content{padding-left:0!important;padding-right:0!important}
}
body.woocommerce-account form.woocommerce-EditAccountForm #account_display_name_description em{color:var(--color-contrast-higher,#262626)!important}
/* End account-only visual fixes. */

/* Checkout must scroll clear of the transparent header at every viewport.
   Keep the approved header design and all non-checkout pages untouched. */
body.woocommerce-checkout .main-header__layout{position:absolute!important}

/* Preview access renders the real checkout, not the public coming-soon cover.
   Restore the theme's current palette only when that cover is absent. */
body.woocommerce-checkout.colmena-coming-soon-public:not(:has(.wp-block-cover.coming-soon-cover)){color:var(--color-contrast-higher,#262626)!important;background:var(--color-bg,#f4f4f4)!important}

/* Keep the receipt confirmation legible on its pale background. */
body.woocommerce-order-received p.woocommerce-notice--success.woocommerce-thankyou-order-received{color:#175c36!important}

/* These checkout cards follow the active theme palette in both light and dark
   mode. Keep their foreground adaptive without changing surfaces, native fields,
   theme chrome, checkout layout or Stripe's embedded fields. */
body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout :is(.wp-block-woocommerce-checkout-fields-block,.wp-block-woocommerce-checkout-order-summary-block){color:var(--color-contrast-higher,#262626)!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout :is(.wp-block-woocommerce-checkout-fields-block,.wp-block-woocommerce-checkout-order-summary-block) :is(.wc-block-components-checkbox__label,.wc-block-components-checkbox__label span,.wc-block-components-product-name,.wc-block-components-product-price,.wc-block-components-formatted-money-amount,.wc-block-components-order-summary-item__description,.wc-block-components-order-summary__button-text,.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-totals-item__description,.wc-block-checkout__terms){color:var(--color-contrast-higher,#262626)!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout :is(.wp-block-woocommerce-checkout-fields-block,.wp-block-woocommerce-checkout-order-summary-block) a:not(.wp-element-button):not(.wc-block-components-button),
body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon-link{color:var(--color-contrast-higher,#262626)!important;text-decoration:underline;text-underline-offset:3px}
/* Quantity badges remain gold in both modes, so their own text stays dark. */
body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__quantity *{color:var(--ecq-ink)!important}
/* Only the existing gold place-order button needs dark foreground text. */
body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-fields-block .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-fields-block .wc-block-components-checkout-place-order-button .wc-block-components-button__text{color:var(--ecq-ink)!important}

/* First-party consent: permanent, subscription-free and deliberately compact. */
.ecq-consent [hidden]{display:none!important}.ecq-consent-open{overflow:hidden}
.ecq-consent__banner{position:fixed;z-index:2147483000;left:clamp(14px,2.5vw,34px);right:clamp(14px,2.5vw,34px);bottom:clamp(14px,2.5vw,30px);display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:22px;max-width:1280px;margin:auto;padding:22px 24px;border:1px solid rgba(7,21,34,.18);border-radius:22px;background:#fcfaf5;color:var(--ecq-ink);box-shadow:0 24px 80px rgba(7,21,34,.24)}
.ecq-consent__mark{position:relative;width:42px;height:48px;background:var(--ecq-ink);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.ecq-consent__mark:after{content:"";position:absolute;inset:6px;background:#fcfaf5;clip-path:inherit}.ecq-consent__mark span{position:absolute;z-index:1;width:8px;height:8px;right:1px;top:20px;border-radius:50%;background:var(--ecq-gold)}
.ecq-consent__copy{max-width:720px}.ecq-consent__eyebrow{margin:0 0 6px!important;color:var(--ecq-gold-text)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase}.ecq-consent__copy h2,.ecq-consent__preferences h2{margin:0 0 7px!important;color:var(--ecq-ink)!important;font-size:clamp(22px,2vw,30px)!important;line-height:1.05!important;letter-spacing:-.035em!important}.ecq-consent__copy>p:not(.ecq-consent__eyebrow),.ecq-consent__preferences>p:not(.ecq-consent__eyebrow){margin:0 0 7px!important;color:#4d555e!important;font-size:13px!important;line-height:1.5!important}.ecq-consent__copy a{color:var(--ecq-gold-text)!important;font-size:12px!important;font-weight:750!important;text-decoration:underline!important;text-underline-offset:3px}
.ecq-consent__actions,.ecq-consent__preference-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.ecq-consent__button{min-height:44px;padding:11px 15px;border:1px solid var(--ecq-ink);border-radius:11px;font:inherit;font-size:12px;font-weight:800;line-height:1.2;cursor:pointer}.ecq-consent__button--secondary{border-color:rgba(7,21,34,.28);background:transparent;color:var(--ecq-ink)}.ecq-consent__button--reject{background:var(--ecq-ink);color:#fff}.ecq-consent__button--accept{border-color:#9b6900;background:var(--ecq-gold);color:#071522}.ecq-consent__button:hover{transform:translateY(-1px)}
.ecq-consent__backdrop{position:fixed;z-index:2147483001;inset:0;background:rgba(7,21,34,.66);backdrop-filter:blur(5px)}.ecq-consent__preferences{position:fixed;z-index:2147483002;left:50%;top:50%;width:min(620px,calc(100% - 28px));max-height:calc(100vh - 28px);overflow:auto;transform:translate(-50%,-50%);padding:clamp(26px,5vw,46px);border:1px solid rgba(7,21,34,.18);border-radius:24px;background:#fcfaf5;color:var(--ecq-ink);box-shadow:0 28px 100px rgba(0,0,0,.34)}.ecq-consent__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid rgba(7,21,34,.2);border-radius:50%;background:#fff;color:var(--ecq-ink);font-size:25px;line-height:1;cursor:pointer}.ecq-consent__category{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:14px;padding:17px;border:1px solid var(--ecq-line);border-radius:14px;background:#fff;color:var(--ecq-ink);cursor:pointer}.ecq-consent__category div{display:grid;gap:4px}.ecq-consent__category strong{font-size:14px}.ecq-consent__category span{color:#59616a;font-size:12px;line-height:1.45}.ecq-consent__category input{width:22px;height:22px;accent-color:#9b6900}.ecq-consent__preference-actions{margin-top:22px}
.ecq-consent__revisit{position:fixed;z-index:2147482999;left:18px;bottom:18px;width:44px;height:44px;border:0;background:var(--ecq-gold);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);cursor:pointer;filter:drop-shadow(0 7px 13px rgba(7,21,34,.26))}.ecq-consent__revisit span{position:absolute;left:18px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--ecq-ink)}.ecq-consent__noscript{position:fixed;z-index:2147483000;right:16px;bottom:16px;max-width:360px;padding:14px;background:#fcfaf5;color:#071522;border:1px solid #071522}

/* Visible keyboard focus across the custom theme. */
body.colmena-brand-system :where(a,button,input,select,textarea,[role="button"]):focus-visible{outline:3px solid #f0bd48!important;outline-offset:4px!important}

/* Home and catalogue gold used as text must pass contrast on pale surfaces. */
body.page-id-1234 .colmena-home .colmena-kicker{color:var(--ecq-gold-text)!important}
body.woocommerce-shop .colmena-catalog-v2__controls-heading>div>p{color:var(--ecq-gold-text)!important}

/* Retire the six unused demo-client tiles without touching the approved copy. */
body.page-id-4981 .elementor-element-539454f{display:none!important}

/* FAQ closing call-to-action was effectively white on white. */
body.page-id-4683 .elementor-element-3c6c290 .elementor-heading-title,
body.page-id-4683 .elementor-element-61d709e,
body.page-id-4683 .elementor-element-61d709e p{color:var(--ecq-ink)!important}

/* Privacy consent remains legible on the dark contact panel. */
body.page-id-4727 .wpcf7-acceptance .wpcf7-list-item-label{color:#e7e9eb!important}
body.page-id-4727 .wpcf7-acceptance .wpcf7-list-item-label a{color:#f0bd48!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* The product profile already carries its availability and digital products have no useful quantity choice. */
body.single-product .ms-single-product__content:has(.stock-notification.in-stock) p.stock.in-stock{display:none!important}
body.single-product form.cart .ms-variations--qty:has(.quantity.hidden){display:none!important}

/* Crawlable first-party link to the source of each product claim. */
.ecq-official-sources{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:clamp(36px,7vw,96px);width:min(1180px,calc(100% - 48px));margin:52px auto 0;padding:clamp(34px,5vw,64px);border:1px solid var(--ecq-line);border-radius:26px;background:var(--ecq-paper);color:var(--ecq-ink)}
.ecq-official-sources *{box-sizing:border-box}.ecq-official-sources__eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 18px;color:var(--ecq-gold-text);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ecq-official-sources__eyebrow span{display:block;width:16px;height:14px;background:var(--ecq-gold);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.ecq-official-sources h2{margin:0 0 17px!important;color:var(--ecq-ink)!important;font-size:clamp(28px,3vw,44px)!important;line-height:1.05!important;letter-spacing:-.04em!important}
.ecq-official-sources>div>p:last-child{max-width:690px;margin:0;color:#535b64;font-size:15px;line-height:1.65}
.ecq-official-sources ul{display:grid;align-content:center;gap:11px;margin:0!important;padding:0!important;list-style:none!important}
.ecq-official-sources li{margin:0!important}.ecq-official-sources a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--ecq-line);border-radius:14px;background:#fff;color:var(--ecq-ink)!important;font-size:13px;font-weight:800;line-height:1.35;text-decoration:none!important;transition:transform .18s,border-color .18s,box-shadow .18s}
.ecq-official-sources a:hover{transform:translateY(-2px);border-color:rgba(229,163,19,.75);box-shadow:0 12px 25px rgba(7,21,34,.08)}
.ecq-official-sources a span{color:var(--ecq-gold-text);font-size:17px}

.ecq-legal-nav{box-sizing:border-box;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;padding:20px 24px;border-top:1px solid rgba(255,255,255,.14);background:#071522;color:#dfe4e8;font-size:12px;line-height:1.4}
.ecq-legal-nav a{color:#fff!important;text-decoration:underline;text-decoration-color:#e5a313;text-underline-offset:4px}.ecq-legal-nav span{color:#e5a313}

@media(max-width:900px){.ecq-consent__banner{grid-template-columns:auto 1fr}.ecq-consent__actions{grid-column:1/-1;justify-content:stretch}.ecq-consent__button{flex:1}.ecq-official-sources{grid-template-columns:1fr;width:min(100% - 28px,1180px);padding:30px 24px}.ecq-official-sources h2{font-size:32px!important}}
@media(max-width:560px){.ecq-consent__banner{grid-template-columns:1fr;padding:20px}.ecq-consent__mark{display:none}.ecq-consent__actions{display:grid;grid-template-columns:1fr 1fr}.ecq-consent__button--secondary{grid-column:1/-1;grid-row:2}.ecq-consent__preference-actions{display:grid}.ecq-consent__button{width:100%}}
/* Tablet checkout needs the full card width even while WooCommerce keeps its
   is-large class. Stack the existing components; do not replace their markup. */
@media(max-width:900px){
  body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{flex-direction:column!important;gap:24px!important}
  body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout>.wc-block-checkout__main,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout>.wc-block-checkout__sidebar{box-sizing:border-box!important;flex:0 1 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
  body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout>.wc-block-checkout__main{order:0!important}
  body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout>.wc-block-checkout__sidebar{order:-1!important;position:static!important;top:auto!important;align-self:stretch!important}
  body.woocommerce-checkout .main-header__layout{position:absolute!important}
}
/* Keep the airy header at the top, but let it scroll away on compact commerce pages
   instead of covering checkout fields and catalogue filters. */
@media(max-width:620px){
  body.woocommerce-shop .main-header__layout,
  body.woocommerce-checkout .main-header__layout,
  body.single-product .main-header__layout{position:absolute!important}
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block{padding:12px!important}
  body.woocommerce-checkout .wc-block-components-order-summary{padding:0!important}
  body.woocommerce-checkout .wc-block-components-order-summary-item{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:7px 12px!important;width:100%!important}
  body.woocommerce-checkout .wc-block-components-order-summary-item__description{min-width:0!important;width:auto!important}
  body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-size:13px!important;line-height:1.4!important;overflow-wrap:break-word!important;word-break:normal!important}
  body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices{display:none!important}
  body.woocommerce-checkout .wc-block-components-order-summary-item__total-price{grid-column:2;justify-self:end}
}
/* Mobile receipt only: keep every download value and link visible in a card.
   The native table headers remain available to assistive technology; each
   visible cell repeats its existing WooCommerce data-title as its label. */
@media(max-width:600px){
  body.woocommerce-order-received ul.ms-woocommerce-order-overview.woocommerce-order-overview{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding:0!important;margin-left:0!important;margin-right:0!important}
  body.woocommerce-order-received ul.ms-woocommerce-order-overview.woocommerce-order-overview>li{float:none!important;box-sizing:border-box!important;width:auto!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
  body.woocommerce-order-received ul.ms-woocommerce-order-overview.woocommerce-order-overview>li strong{display:block!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
  body.woocommerce-order-received .woocommerce-order-downloads table.woocommerce-table--order-downloads,
  body.woocommerce-order-received .woocommerce-order-downloads table.woocommerce-table--order-downloads tbody{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;border:0!important}
  body.woocommerce-order-received .woocommerce-order-downloads table.woocommerce-table--order-downloads thead{display:table-header-group!important;position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  body.woocommerce-order-received .woocommerce-order-downloads table.woocommerce-table--order-downloads tbody tr{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 14px!important;padding:14px!important;border:1px solid var(--ecq-line)!important;border-radius:14px!important}
  body.woocommerce-order-received .woocommerce-order-downloads table.woocommerce-table--order-downloads tbody td{display:block!important;float:none!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:8px 0!important;border:0!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
  body.woocommerce-order-received .woocommerce-order-downloads table.woocommerce-table--order-downloads tbody td[data-title]::before{content:attr(data-title) ": ";display:block!important;float:none!important;margin-bottom:4px!important;font-weight:700!important;text-align:left!important}
  body.woocommerce-order-received .woocommerce-order-downloads table.woocommerce-table--order-downloads tbody td a{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
  body.woocommerce-order-received .woocommerce-order-downloads table.woocommerce-table--order-downloads .download-file a.woocommerce-MyAccount-downloads-file.button{display:inline-block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:44px!important;padding:12px 14px!important;line-height:1.4!important;text-align:center!important}
}
@media(prefers-reduced-motion:reduce){.ecq-official-sources a,.ecq-consent__button{transition:none!important}}
