/* Centurion: WordPress / Elementor / WooCommerce glue for Daisy's ccc.css.
   ccc.css is Daisy's file copied verbatim; everything site-specific lives here. */

/* ---------- Elementor containers: theme classes own the layout ---------- */
.ccc-site .elementor .e-con,.ccc-site .elementor .e-con-inner{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;--content-width:100%;--container-max-width:100%;--margin-top:0px;--margin-bottom:0px;padding:0;gap:0;max-width:100%}
.ccc-site .elementor .e-con{--width:100%}
.ccc-site .elementor-widget-html,.ccc-site .elementor-widget:not(:last-child){margin:0!important}
.ccc-site .elementor-widget-html > .elementor-widget-container{padding:0;margin:0}
.ccc-site .elementor-element.e-con{overflow:visible}
.ccc-site{overflow-x:clip}
.ccc-site #main:focus{outline:none}
.ccc-site h1,.ccc-site h2,.ccc-site h3,.ccc-site h4{color:inherit}
.ccc-site .t-h1,.ccc-site .t-h2,.ccc-site .t-display{font-family:var(--ccc-display)}
.ccc-site button:focus:not(:focus-visible){outline:none}
.ccc-site [hidden]{display:none!important}

/* ---------- header: dropdowns, drawer, scrim ---------- */
.hdr .skip:not(:focus){clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
.hdr .menu{z-index:60}
.hdr .ccc-dd > button[aria-expanded="true"]{background:rgba(255,255,255,.08)}
.hdr .drawer{max-height:calc(100vh - var(--ccc-hdr));max-height:calc(100dvh - var(--ccc-hdr));overflow-y:auto;overscroll-behavior:contain}
.ccc-scrim{position:fixed;inset:0;z-index:39;background:rgba(0,0,0,.55)}
html.ccc-drawer-open,html.ccc-drawer-open body{overflow:hidden}
.hdr .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hdr .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hdr .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hdr .burger span{transition:transform .2s var(--ccc-ease),opacity .2s}
@media (min-width:1061px){.hdr .drawer{display:none!important}.ccc-scrim{display:none!important}}
@media (max-width:420px){.hdr .bar{gap:12px}.hdr .ccc-hdr-cta{padding:10px 14px!important}}
body.admin-bar .hdr{top:32px}
@media (max-width:782px){body.admin-bar .hdr{top:46px}}

/* ---------- forms ---------- */
.ccc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ccc-form-msg{margin-top:16px}
.ccc-form-msg.is-error{display:flex;gap:12px;padding:14px 16px;border-radius:var(--ccc-r-sm);background:#fdecec;color:var(--ccc-error);font-weight:600}
.ccc-done{text-align:center;padding:24px 0 8px;scroll-margin-top:110px}
.ccc-done:focus{outline:none}
form[data-ccc-form]{scroll-margin-top:100px}
.ccc-done .tickc{width:64px;height:64px;border-radius:50%;background:var(--ccc-purple);color:#fff;display:grid;place-items:center;margin:0 auto 18px;font-size:28px}
.on-dark .ccc-done,.card[style*="background: rgb(0, 0, 0)"] .ccc-done{color:#fff}
form[data-ccc-form] button[type=submit][aria-busy="true"]{opacity:.7;cursor:progress}
.req .steps{display:flex;flex-wrap:wrap;gap:8px 18px}
.req .steps .st{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--ccc-muted)}
.req .steps .st i{font-style:normal;width:28px;height:28px;border-radius:50%;border:2px solid var(--ccc-line);display:grid;place-items:center;font-size:13px}
.req .steps .st.on{color:var(--ccc-black)}
.req .steps .st.on i{background:var(--ccc-purple);border-color:var(--ccc-purple);color:#fff}
.req .steps .st.done i{background:var(--ccc-purple-tint);border-color:var(--ccc-purple);color:var(--ccc-purple)}
.coach.select .tick{display:none}
.coach.select.is-on .tick{display:grid}
.coach.select:has(input:focus-visible),.nopref:has(input:focus-visible){outline:3px solid var(--ccc-purple);outline-offset:2px}
.nopref:not(.is-on){box-shadow:none;border-color:var(--ccc-line);background:#fff}

/* ---------- team ---------- */
.coach.open .bio{-webkit-line-clamp:unset}

/* ---------- video facades (privacy-enhanced YouTube, loaded on tap) ---------- */
.vcard.is-playing{cursor:default}
.vcard iframe,.vcard video.ccc-live{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2;background:#000}
.vcard.is-playing .play,.vcard.is-playing .vt{display:none}

/* square video tiles (social feed) */
.vcard.sq{aspect-ratio:1}
.vcard.sq .vt{font-size:14px;line-height:1.3;padding:14px}
.qr img{display:block}

/* ---------- shop listing ---------- */
.pbar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;margin-bottom:24px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips .chip{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:var(--ccc-r-pill);border:1.5px solid var(--ccc-silver);background:#fff;font-weight:600;font-size:14px;color:var(--ccc-ink);cursor:pointer;font-family:var(--ccc-body);line-height:1.2}
.chips .chip.on{background:var(--ccc-black);border-color:var(--ccc-black);color:#fff}
.chips .chip:hover{border-color:var(--ccc-ink);background:#fff;color:var(--ccc-ink)}
.chips .chip:focus{background:#fff;color:var(--ccc-ink)}
.chips .chip.on:hover,.chips .chip.on:focus{background:var(--ccc-black);color:#fff}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1000px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.pgrid{grid-template-columns:1fr}}
.prod .soonph{position:relative;background:var(--ccc-purple)}
.prod .soonph img{width:40%}
.prod.is-soon{cursor:default}
.prod.is-soon:hover{border-color:var(--ccc-silver)}
.prod .pp .woocommerce-Price-amount{font:inherit;color:inherit}
.prod .pph img{height:auto}

/* ---------- product template (Daisy's Product_v1) ---------- */
.crumbs{font-size:14px;color:var(--ccc-muted);display:flex;gap:8px;flex-wrap:wrap;padding:18px 0 0}
.crumbs a{color:var(--ccc-purple);text-decoration:none;font-weight:500}
.pd{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,4vw,56px);align-items:start;padding:24px 0 clamp(40px,5vw,64px)}
@media (max-width:900px){.pd{grid-template-columns:1fr}}
.gal{display:grid;gap:12px}
.gal .main{aspect-ratio:1;background:#000;border-radius:var(--ccc-r-lg);display:grid;place-items:center;padding:32px;overflow:hidden}
.gal .main img{max-width:100%;max-height:100%;object-fit:contain;width:auto;height:auto}
.gal .thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.gal .thumbs button{aspect-ratio:1;background:#000;border:1.5px solid var(--ccc-silver);border-radius:var(--ccc-r-sm);display:grid;place-items:center;padding:8px;cursor:pointer}
.gal .thumbs button.on{border-color:var(--ccc-purple)}
.ccc-buy .price{font-family:var(--ccc-display);font-weight:800;font-size:48px;line-height:1;color:var(--ccc-black)}
.ccc-buy .price .woocommerce-Price-amount{font:inherit}
.ccc-buy .price small{font-family:var(--ccc-body);font-weight:500;font-size:15px;color:var(--ccc-muted);margin-left:8px}
.sw{display:flex;flex-wrap:wrap;gap:8px}
.sw button{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px 8px 12px;border:1.5px solid var(--ccc-line);border-radius:var(--ccc-r-pill);background:#fff;color:var(--ccc-ink);font-weight:600;font-size:14px;cursor:pointer}
.sw button i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}
.sw button[aria-pressed="true"]{border-color:var(--ccc-purple);background:var(--ccc-purple-tint);color:var(--ccc-black)}
.sw button:hover,.sw button:focus{background:#fff;color:var(--ccc-ink);border-color:var(--ccc-ink)}
.sw button[aria-pressed="true"]:hover,.sw button[aria-pressed="true"]:focus{background:var(--ccc-purple-tint);border-color:var(--ccc-purple);color:var(--ccc-black)}
.sw button:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.qty{display:inline-grid;grid-template-columns:48px 64px 48px;border:1.5px solid var(--ccc-line);border-radius:var(--ccc-r-sm);overflow:hidden;background:#fff}
.qty button{border:0;background:#fff;color:var(--ccc-ink);font-size:20px;cursor:pointer;min-height:50px;padding:0}
.qty button:hover,.qty button:focus{background:var(--ccc-purple-tint);color:var(--ccc-black)}
.qty input{border:0;text-align:center;font-weight:600;font-size:16px;min-height:50px;width:100%;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.specs{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;font-size:15px}
.specs dt{font-weight:600;color:var(--ccc-black)}
.specs dd{margin:0}
.related{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:900px){.related{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.related{grid-template-columns:1fr}}

/* Woo add-to-cart form inside .ccc-atc */
.ccc-atc form.cart{display:grid;gap:20px}
.ccc-atc table.variations{border:0;margin:0;width:100%;border-collapse:collapse}
.ccc-atc table.variations tr{display:grid;gap:10px;margin-bottom:16px}
.ccc-atc table.variations th,.ccc-atc table.variations td{padding:0;border:0;text-align:left;background:none}
.ccc-atc table.variations th label{font-weight:600;font-size:15px;color:var(--ccc-black)}
.ccc-atc table.variations select.ccc-enhanced{position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none}
.ccc-atc .reset_variations{display:inline-block;margin-top:8px;font-size:14px;color:var(--ccc-purple)}
.ccc-atc .woocommerce-variation-price{display:none}
.ccc-atc .woocommerce-variation-availability p,.ccc-atc .stock{font-size:14px;color:var(--ccc-success);margin:0}
.ccc-atc .woocommerce-variation-add-to-cart,.ccc-atc form.cart:not(.variations_form){display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ccc-atc .quantity{display:inline-grid;grid-template-columns:48px 64px 48px;border:1.5px solid var(--ccc-line);border-radius:var(--ccc-r-sm);overflow:hidden;background:#fff}
.ccc-atc .quantity input.qty{border:0;text-align:center;font-weight:600;font-size:16px;min-height:50px;width:100%;-moz-appearance:textfield;padding:0}
.ccc-atc .quantity input.qty::-webkit-outer-spin-button,.ccc-atc .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ccc-atc .quantity button{border:0;background:#fff;color:var(--ccc-ink);font-size:20px;cursor:pointer;min-height:50px;padding:0}
.ccc-atc .quantity button:hover,.ccc-atc .quantity button:focus{background:var(--ccc-purple-tint);color:var(--ccc-black)}
.ccc-atc .single_add_to_cart_button{flex:1 1 0;min-width:220px;min-height:60px;padding:16px 30px;font-size:18px;font-weight:600;border-radius:var(--ccc-r-sm);background:var(--ccc-purple);border:2px solid var(--ccc-purple);color:#fff;cursor:pointer;font-family:var(--ccc-body)}
.ccc-atc .single_add_to_cart_button:hover,.ccc-atc .single_add_to_cart_button:focus{background:var(--ccc-purple-deep);border-color:var(--ccc-purple-deep);color:#fff}
.ccc-atc .single_add_to_cart_button.disabled{opacity:.5;cursor:not-allowed}

/* Woo notices, cart, checkout, account pages */
.ccc-woo-notices{padding-top:18px}
.ccc-woo-notices:not(:has(.woocommerce-message,.woocommerce-error,.woocommerce-info,.wc-block-components-notice-banner)){display:none}
.ccc-site .woocommerce-message,.ccc-site .woocommerce-info,.ccc-site .woocommerce-error,.ccc-site .wc-block-components-notice-banner{border-radius:var(--ccc-r-sm);border-top-color:var(--ccc-purple);background:var(--ccc-purple-tint);color:var(--ccc-black);font-size:15px}
.ccc-site .woocommerce-message .button,.ccc-site .woocommerce-message a.button{background:var(--ccc-purple);color:#fff;border-radius:var(--ccc-r-sm);font-weight:600;padding:10px 16px}
.ccc-site .woocommerce-message::before{color:var(--ccc-purple)}
body.woocommerce-cart #main,body.woocommerce-checkout #main,body.woocommerce-account #main{max-width:var(--ccc-max);margin:0 auto;padding:clamp(32px,5vw,64px) var(--ccc-gutter)}
body.woocommerce-cart .page-header .entry-title,body.woocommerce-checkout .page-header .entry-title,body.woocommerce-account .page-header .entry-title{font-family:var(--ccc-display);font-weight:800;text-transform:uppercase;font-size:clamp(44px,5vw,72px);line-height:.95;margin:0 0 24px;color:var(--ccc-black)}
.ccc-site .wc-block-components-button:not(.is-link),.ccc-site .wc-block-cart__submit-button,.ccc-site .wc-block-components-checkout-place-order-button{background:var(--ccc-purple)!important;color:#fff!important;border-radius:var(--ccc-r-sm)!important;font-weight:600}
.ccc-site .wc-block-components-button:not(.is-link):hover{background:var(--ccc-purple-deep)!important}
.ccc-site .wp-block-woocommerce-cart a,.ccc-site .wp-block-woocommerce-checkout a{color:var(--ccc-purple)}

/* ---------- legal / policy pages (classic content) ---------- */
.ccc-legal{max-width:46em}
.ccc-legal h2{font-family:var(--ccc-body);font-weight:700;font-size:22px;line-height:1.25;margin:36px 0 10px;color:var(--ccc-black)}
.ccc-legal h3{font-family:var(--ccc-body);font-weight:700;font-size:18px;margin:24px 0 8px;color:var(--ccc-black)}
.ccc-legal ul{padding-left:20px;margin:0 0 1em}
.ccc-legal li{margin-bottom:6px}
.ccc-legal .notice{margin:0 0 28px}

/* ---------- footer credit ---------- */
.ftr .ccc-credit{color:#cfcfcf}
.ftr .ccc-credit:hover{color:var(--ccc-lilac)}
.ftr .soc a:hover,.ftr .soc a:focus-visible{border-color:var(--ccc-lilac)}

/* ---------- QA polish (Oct 2026): accessibility and layout-shift fixes ---------- */
/* Footer column headings are h2 (heading order); keep the h4 look. */
.ftr h2.fh{margin:0 0 14px;font-family:inherit;font-size:14px;font-weight:700;line-height:inherit;color:#fff;letter-spacing:.02em;text-transform:none}
/* Links inside a line of text need more than colour to stand out (WCAG 1.4.1). */
.ftr .top li a[href^="tel:"],.ftr .top li a[href^="mailto:"],.ftr .ccc-credit{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.check a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
/* `.on-dark a` (lilac) was beating the button colours: buttons keep their own text colour on dark bands. */
.on-dark a.btn-primary,.on-dark a.btn-black,.on-dark a.btn-ghost-light{color:#fff}
.on-dark a.btn-white:not(:hover){color:var(--ccc-purple)}
/* Images given width/height by the theme (ccc_img_dims) keep their natural CSS sizing. */
:where(img[data-ccc-sz]){width:auto;height:auto}
/* Empty basket "New in store" grid: Woo block buttons were purple text on dark grey (1.3:1). */
.ccc-site .wc-block-grid__product .wp-block-button__link{background:var(--ccc-purple);color:#fff;border-radius:var(--ccc-r-sm)}
.ccc-site .wc-block-grid__product .wp-block-button__link:hover,.ccc-site .wc-block-grid__product .wp-block-button__link:focus{background:var(--ccc-purple-deep);color:#fff}
