/*
Theme Name: Cé'Chouette
Description: Thème WooCommerce de Cé'Chouette.
Version: 1.0.0
Text Domain: cechouette
*/

:root { --cc-ink:#233534; --cc-forest:#3f5851; --cc-green:#568965; --cc-sage:#789784; --cc-mist:#b5cabd; --cc-leaf:#d2dac2; --cc-linden:#cac591; --cc-paper:#f5f5ef; --cc-white:#fff; --cc-line:#dfe6df; --cc-radius:26px; --cc-section-space:clamp(3rem,7vw,5rem); --cc-shadow:0 16px 45px rgba(35,53,52,.1); }
* { box-sizing:border-box; }
body { margin:0; background:var(--cc-paper); color:var(--cc-ink); font-family:Lato,"Open Sans",Arial,sans-serif; line-height:1.6; }
a { color:inherit; }
.cc-topnote { padding:.55rem 1rem; background:var(--cc-ink); color:#fff; font-size:.78rem; letter-spacing:.12em; text-align:center; text-transform:uppercase; }
.cc-site-header { position:sticky; top:0; z-index:10; border-bottom:1px solid rgba(63,88,81,.1); background:#fff; backdrop-filter:blur(9px); }
.cc-site-header__inner { display:grid; grid-template-columns:220px 1fr auto; align-items:center; gap:1.5rem; min-height:92px; }
.cc-brand img { display:block; width:220px; height:auto; }
.cc-navigation ul,.cc-site-footer ul { display:flex; justify-content:center; gap:1.3rem; margin:0; padding:0; list-style:none; }
.cc-navigation a,.cc-header-actions a,.cc-site-footer a { text-decoration:none; }
.cc-navigation a { padding:.5rem .1rem; font-size:.88rem; letter-spacing:.08em; text-transform:uppercase; }
.cc-header-actions { display:flex; gap:.75rem; font-size:.82rem; }
.cc-header-actions a,.cc-menu-toggle { display:grid; width:2.5rem; height:2.5rem; place-items:center; border:1px solid var(--cc-line); border-radius:50%; }
.cc-menu-toggle { display:none; padding:0; background:var(--cc-white); color:var(--cc-ink); cursor:pointer; }
.cc-menu-toggle:focus-visible { outline:2px solid var(--cc-forest); outline-offset:2px; }
.cc-menu-toggle__icon { display:grid; gap:3px; }
.cc-menu-toggle__icon span { display:block; width:1rem; height:2px; background:currentColor; }
.cc-content { width:min(1180px,92vw); margin-inline:auto; }
.cc-page-content > .wp-block-group,
.cc-page-content > .wp-block-cover { width:100%; }
.cc-section { padding:var(--cc-section-space) 0; }
.cc-eyebrow { margin:0 0 1rem; color:var(--cc-sage); font-size:.74rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
a.cc-eyebrow { display:inline-block; padding:.15rem .55rem; margin:-.15rem -.55rem .9rem; border-radius:999px; text-decoration:none; transition:background .15s ease; }
a.cc-eyebrow:hover,
a.cc-eyebrow:focus-visible { background:var(--cc-leaf); }
.cc-title { margin:.15em 0; font-size:clamp(2rem,4vw,3.5rem); font-weight:300; line-height:1.08; }
.cc-title--hero { font-size:clamp(3.1rem,6.4vw,6.1rem); letter-spacing:-.035em; }
.cc-title--hero span { color:var(--cc-sage); }
.cc-lead { color:#536561; font-size:1.18rem; text-wrap:balance; }
.cc-button { display:inline-block; padding:.9rem 1.4rem; border:1px solid var(--cc-forest); border-radius:999px; text-decoration:none; font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.cc-button--solid { background:var(--cc-forest); color:#fff; }
.cc-button--light { background:#fff; color:var(--cc-forest); }
.cc-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.cc-hero { display:grid; grid-template-columns:1.02fr .98fr; overflow:hidden; border-radius:36px; background:var(--cc-white); box-shadow:var(--cc-shadow); }
.cc-hero__copy { display:flex; flex-direction:column; justify-content:center; min-height:620px; padding:clamp(2rem,6vw,5rem); }
.cc-hero__image { min-height:420px; background:var(--cc-leaf) center/cover no-repeat; }
.cc-section-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.75rem; }
.cc-section-head__subtitle { margin:.75rem 0 0; color:#667671; }
.cc-section-head > p { max-width:27rem; margin:0; color:#667671; }
.cc-category-grid, .cc-partner-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.cc-category-card, .cc-partner-card { position:relative; display:block; min-height:210px; overflow:hidden; padding:2rem; border:1px solid rgba(63,88,81,.08); border-radius:var(--cc-radius); background:var(--cc-white); text-decoration:none; }
.cc-category-card__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.2; }
.cc-category-card__body { position:relative; }
.cc-category-card h2, .cc-partner-card h2 { margin:.4rem 0; font-size:2rem; font-weight:300; line-height:1.1; }
.cc-category-card small { color:var(--cc-sage); font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.cc-home-cats { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cc-home-cat { position:relative; display:block; min-height:210px; overflow:hidden; padding:34px; border:1px solid rgba(63,88,81,.08); border-radius:var(--cc-radius); background:var(--cc-white); color:inherit; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }
.cc-home-cat:hover,.cc-home-cat:focus-visible { transform:translateY(-3px); box-shadow:var(--cc-shadow); }
.cc-home-cat__body { position:relative; display:block; }
.cc-home-cat h3 { margin:.7rem 0; font-size:2rem; font-weight:300; line-height:1.1; }
.cc-home-cat p { max-width:290px; color:#697974; }
.cc-home-cat::after { content:""; position:absolute; right:-30px; bottom:-30px; width:110px; height:110px; border-radius:50%; background:var(--cc-leaf); opacity:.8; }
.cc-home-cat:nth-child(2)::after { background:var(--cc-mist); }
.cc-home-cat:nth-child(3)::after { background:var(--cc-linden); }
.woocommerce-account .woocommerce { display:grid !important; grid-template-columns:minmax(13rem,.34fr) minmax(0,1fr); gap:1.5rem; align-items:start; width:min(1180px,92vw); margin:clamp(3rem,7vw,5rem) auto; overflow:visible; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column:1 / -1; }
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { grid-column:1; grid-row:2; }
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { grid-column:2; grid-row:2; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float:none !important; width:auto !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin:0; padding:0; overflow:hidden; border:1px solid rgba(63,88,81,.1); border-radius:22px; background:var(--cc-white); list-style:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; border-bottom:1px solid var(--cc-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:.95rem 1.1rem; color:var(--cc-ink); text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible { background:var(--cc-leaf); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background:var(--cc-forest); color:var(--cc-white); font-weight:700; }
.woocommerce-account .woocommerce-MyAccount-content { padding:clamp(1.4rem,3vw,2.25rem); border:1px solid rgba(63,88,81,.1); border-radius:22px; background:var(--cc-white); box-shadow:0 8px 24px rgba(35,53,52,.05); }
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top:0; }
.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom:0; }
.woocommerce-account .woocommerce-MyAccount-content a { color:var(--cc-forest); font-weight:700; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title { margin-bottom:1.5rem; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 { font-size:1.45rem; font-weight:400; }
.woocommerce-account .woocommerce form .form-row { margin:0 0 1rem; padding:0; }
.woocommerce-account .woocommerce form .form-row label { display:block; margin-bottom:.35rem; color:var(--cc-ink); font-weight:700; }
.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce form .form-row select,
.woocommerce-account .woocommerce form .form-row textarea { padding:.75rem .85rem; border:1px solid var(--cc-mist); border-radius:10px; background:var(--cc-white); color:var(--cc-ink); }
.woocommerce-account .woocommerce form .form-row input.input-text:focus,
.woocommerce-account .woocommerce form .form-row select:focus,
.woocommerce-account .woocommerce form .form-row textarea:focus { border-color:var(--cc-forest); outline:2px solid rgba(86,137,101,.2); outline-offset:1px; }
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce .button { display:inline-block; padding:.8rem 1.05rem; border:0; border-radius:999px; background:var(--cc-forest); color:var(--cc-white); font-size:.76rem; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce button.button:focus-visible,
.woocommerce-account .woocommerce .button:hover,
.woocommerce-account .woocommerce .button:focus-visible { background:var(--cc-green); color:var(--cc-white); }
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table { width:100%; margin:1.25rem 0; border-collapse:collapse; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-content th,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content td { padding:.85rem .7rem; border-bottom:1px solid var(--cc-line); text-align:left; vertical-align:middle; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-content th { color:var(--cc-forest); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error { margin:0 0 1.25rem; border-top:0; border-radius:12px; box-shadow:none; }
.woocommerce-cart .wp-block-woocommerce-cart { width:min(1180px,92vw); margin:clamp(3rem,7vw,5rem) auto; }
.woocommerce-cart .wp-block-woocommerce-filled-cart-block { display:grid; grid-template-columns:minmax(0,2fr) minmax(20rem,1fr); gap:1.5rem; align-items:start; width:100%; max-width:none; }
.woocommerce-cart .wp-block-woocommerce-cart-items-block,
.woocommerce-cart .wp-block-woocommerce-cart-totals-block { width:100%; max-width:none; padding:clamp(1.2rem,3vw,2rem); border:1px solid rgba(63,88,81,.1); border-radius:22px; background:var(--cc-white); box-shadow:0 8px 24px rgba(35,53,52,.05); }
.woocommerce-cart .wp-block-woocommerce-cart-totals-block { position:sticky; top:7rem; }
.woocommerce-cart .wc-block-cart-items { border:0; }
.woocommerce-cart .wc-block-cart-items thead { border-bottom:1px solid var(--cc-line); }
.woocommerce-cart .wc-block-cart-items th { padding:.5rem; color:var(--cc-forest); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce-cart .wc-block-cart-items td { padding:1rem .5rem; border-bottom:1px solid var(--cc-line); vertical-align:middle; }
.woocommerce-cart .wc-block-cart-items__row:last-child td { border-bottom:0; }
.woocommerce-cart .wc-block-cart-item__image img { border-radius:12px; }
.woocommerce-cart .wc-block-components-product-name { color:var(--cc-ink); font-size:1.08rem; font-weight:700; text-decoration:none; }
.woocommerce-cart .wc-block-components-product-price__value,
.woocommerce-cart .wc-block-formatted-money-amount { color:var(--cc-forest); font-weight:700; }
.woocommerce-cart .wc-block-components-quantity-selector { min-height:2.5rem; border-color:var(--cc-mist); border-radius:999px; }
.woocommerce-cart .wc-block-components-quantity-selector input { color:var(--cc-ink); }
.woocommerce-cart .wc-block-cart-item__remove-link { color:var(--cc-forest); font-size:.8rem; }
.woocommerce-cart .wc-block-components-totals-wrapper { padding:0; border-color:var(--cc-line); }
.woocommerce-cart .wc-block-components-totals-item { padding:.9rem 0; }
.woocommerce-cart .wc-block-components-totals-item__label { color:var(--cc-ink); font-weight:700; }
.woocommerce-cart .wc-block-components-totals-footer-item { padding-top:1.1rem; font-size:1.12rem; }
.woocommerce-cart .wc-block-components-button { min-height:auto; padding:.9rem 1.2rem; border-radius:999px; background:var(--cc-forest); color:var(--cc-white); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce-cart .wc-block-components-button:hover,
.woocommerce-cart .wc-block-components-button:focus-visible { background:var(--cc-green); color:var(--cc-white); }
.woocommerce-cart .wc-block-components-button:focus-visible { outline:2px solid var(--cc-forest); outline-offset:2px; }
.woocommerce-cart .wc-block-components-totals-coupon__form input { border:1px solid var(--cc-mist); border-radius:10px; }
.woocommerce-cart .wp-block-woocommerce-product-collection { grid-column:1; margin-top:1rem; }
.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-product-template { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; margin:0; padding:0; list-style:none; }
.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-product { overflow:hidden; padding:0 0 1.1rem; border:1px solid rgba(63,88,81,.08); border-radius:18px; background:var(--cc-white); }
.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-product img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-product > *:not(.wc-block-components-product-sale-badge) { margin-right:1rem; margin-left:1rem; }
.woocommerce-cart .wc-block-cart__empty-cart__title { color:var(--cc-ink); font-weight:300; }
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout { display:flex; flex-direction:column; gap:2rem; width:min(1180px,92vw); margin:2rem auto 4rem; }
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar { box-sizing:border-box; width:100%; margin:0; padding:clamp(1.2rem,3vw,2rem); border:1px solid rgba(63,88,81,.1); border-radius:22px; background:var(--cc-white); box-shadow:0 8px 24px rgba(35,53,52,.05); }
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main { order:1; }
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar { order:2; }
.wp-block-woocommerce-checkout .wc-block-checkout__main > * { padding:1.25rem 0; border-bottom:1px solid var(--cc-line); }
.wp-block-woocommerce-checkout .wc-block-checkout__main > :first-child { padding-top:0; }
.wp-block-woocommerce-checkout .wc-block-checkout__main > :last-child { padding-bottom:0; border-bottom:0; }
.wp-block-woocommerce-checkout .wc-block-components-title { color:var(--cc-ink); font-size:1.35rem; font-weight:400; }
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.wp-block-woocommerce-checkout .wc-block-components-address-form input,
.wp-block-woocommerce-checkout .wc-block-components-address-form select { min-height:3rem; border-color:var(--cc-mist); border-radius:10px; color:var(--cc-ink); }
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.wp-block-woocommerce-checkout .wc-block-components-address-form input:focus,
.wp-block-woocommerce-checkout .wc-block-components-address-form select:focus { border-color:var(--cc-forest); box-shadow:0 0 0 2px rgba(86,137,101,.2); outline:0; }
.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-block-components-address-form label { color:var(--cc-ink); font-weight:700; }
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option { margin-bottom:.75rem; padding:.9rem; border:1px solid var(--cc-line); border-radius:12px; }
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) { border-color:var(--cc-forest); background:rgba(210,218,194,.32); }
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper { padding:0 .65rem; border-color:var(--cc-line); }
.wp-block-woocommerce-checkout .wc-block-components-totals-item { padding:.9rem .65rem; }
.wp-block-woocommerce-checkout .wc-block-components-totals-item__label { color:var(--cc-ink); font-weight:700; }
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item { padding-top:1.1rem; font-size:1.12rem; }
.wp-block-woocommerce-checkout .wc-block-components-button { min-height:auto; padding:.9rem 1.2rem; border-radius:999px; background:var(--cc-forest); color:var(--cc-white); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.wp-block-woocommerce-checkout .wc-block-components-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-button:focus-visible { background:var(--cc-green); color:var(--cc-white); }
.cc-story { display:grid; grid-template-columns:.82fr 1.18fr; overflow:hidden; border-radius:34px; background:var(--cc-forest); color:#fff; }
.cc-story__image { min-height:430px; background:var(--cc-green) center/cover no-repeat; }
.cc-story__body { padding:clamp(2rem,6vw,3.7rem); }
.cc-story p { color:#dce8e1; }
.cc-quote { margin:1.8rem 0; padding-left:1.3rem; border-left:2px solid var(--cc-linden); font-size:1.35rem; }
.cc-about { display:grid; gap:var(--cc-section-space); padding:var(--cc-section-space) 0; }
.cc-creator__inner { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,7vw,7rem); align-items:center; overflow:hidden; border-radius:34px; background:var(--cc-leaf); }
.cc-creator__image { display:block; width:100%; height:100%; min-height:390px; object-fit:cover; }
.cc-creator__body { padding:clamp(2rem,5vw,3.5rem) clamp(2rem,5vw,3.5rem) clamp(2rem,5vw,3.5rem) 0; }
.cc-creator__body > :first-child { margin-top:0; }
.cc-creator__text { max-width:38rem; color:#40544e; font-size:1.12rem; }
.cc-creator__text > :first-child { margin-top:0; }
.cc-creator__text > :last-child { margin-bottom:0; }
.cc-about-details__grid { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid rgba(63,88,81,.1); border-radius:34px; background:var(--cc-white); box-shadow:0 8px 24px rgba(35,53,52,.05); }
.cc-about-details__image { display:block; width:100%; height:100%; min-height:430px; object-fit:cover; }
.cc-about-details__body { align-self:center; padding:clamp(2rem,6vw,4.5rem); }
.cc-about-details__body > :first-child { margin-top:0; }
.cc-about-details__body > :last-child { margin-bottom:0; }
.cc-placeholder { padding:1.25rem; border:1px dashed var(--cc-sage); border-radius:14px; background:#fff; color:#536561; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; margin:0; padding:0; list-style:none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product,
.woocommerce ul.products.columns-1 li.product,
.woocommerce ul.products.columns-2 li.product,
.woocommerce ul.products.columns-3 li.product,
.woocommerce ul.products.columns-4 li.product { display:flex; float:none; flex-direction:column; width:100% !important; max-width:none; min-width:0; margin:0 !important; overflow:hidden; padding:0; border:1px solid rgba(63,88,81,.08); border-radius:22px; background:#fff; box-shadow:0 8px 24px rgba(35,53,52,.06); transition:transform .18s ease,box-shadow .18s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-3px); box-shadow:var(--cc-shadow); }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { display:block; color:var(--cc-ink); text-decoration:none; }
.woocommerce ul.products li.product a img { display:block; width:100%; height:auto; margin:0 0 1rem; aspect-ratio:1; object-fit:cover; background:var(--cc-leaf); }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price, .woocommerce ul.products li.product .button { margin-right:1.15rem; margin-left:1.15rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:2.8em; margin-top:0; margin-bottom:.55rem; color:var(--cc-ink); font-size:1.1rem; font-weight:400; line-height:1.35; }
.woocommerce ul.products li.product .price { display:block; margin-top:0; margin-bottom:1.1rem; color:var(--cc-forest); font-weight:700; }
.woocommerce ul.products li.product .button { align-self:flex-start; margin-top:auto; margin-bottom:1.15rem; padding:.75rem 1rem; background:var(--cc-forest); color:#fff; border-radius:999px; font-size:.75rem; line-height:1.2; text-align:center; }
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus-visible { background:var(--cc-green); color:#fff; }
.woocommerce span.onsale { position:absolute; z-index:2; top:.6rem; right:.6rem; left:auto; display:flex; align-items:center; justify-content:center; width:5.6rem; height:5.6rem; min-width:0; min-height:0; margin:0; padding:0; border:0; border-radius:50%; background:var(--cc-forest); color:var(--cc-white); box-shadow:0 8px 20px rgba(35,53,52,.35); font-size:1.4rem; font-weight:800; line-height:1; letter-spacing:0; text-transform:none; text-align:center; }
.woocommerce div.product { display:grid; gap:clamp(2rem,4vw,3rem); width:min(1180px,92vw); margin:clamp(2.5rem,6vw,4rem) auto; }
.cc-product__top { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:start; padding:clamp(1.5rem,3vw,2.5rem); border:1px solid rgba(63,88,81,.08); border-radius:var(--cc-radius); background:var(--cc-white); box-shadow:var(--cc-shadow); }
.cc-product__gallery { position:relative; width:100%; }
.cc-product__gallery div.images.woocommerce-product-gallery { float:none !important; width:100% !important; margin:0 !important; }
.cc-product__gallery .woocommerce-product-gallery__wrapper { width:100%; margin:0; padding:0; list-style:none; }
.cc-product__gallery .woocommerce-product-gallery__image { width:100%; }
.cc-product__gallery .woocommerce-product-gallery__image a { display:block; width:100%; }
.cc-product__gallery div.images img { display:block; width:100%; height:auto; border-radius:18px; aspect-ratio:1; object-fit:cover; background:var(--cc-leaf); }
.cc-product__gallery .flex-control-thumbs { display:flex; flex-wrap:wrap; gap:.6rem; margin:.9rem 0 0; padding:0; list-style:none; }
.cc-product__gallery .flex-control-thumbs li { width:4.5rem; }
.cc-product__gallery .flex-control-thumbs img { display:block; border-radius:10px; opacity:.65; cursor:pointer; transition:opacity .15s ease; }
.cc-product__gallery .flex-control-thumbs img.flex-active,
.cc-product__gallery .flex-control-thumbs img:hover { opacity:1; }
.cc-product__summary { float:none !important; width:100% !important; min-width:0; clear:none !important; }
.cc-product__summary > :first-child { margin-top:0; }
.cc-product__summary .product_title { margin:.2rem 0 .9rem; color:var(--cc-ink); font-size:clamp(1.3rem,1.8vw,1.6rem); font-weight:400; line-height:1.3; }
.cc-product__summary .woocommerce-product-rating { display:flex; align-items:center; gap:.6rem; margin-bottom:.9rem; }
.cc-product__summary .star-rating { color:var(--cc-linden); }
.cc-product__description { margin-bottom:1.2rem; color:#536561; }
.cc-product__description > :last-child { margin-bottom:0; }
.cc-product__description ul,
.cc-product__description ol { padding-left:1.2rem; }
.cc-product__description li { margin-bottom:.4rem; }
.cc-product__summary .woocommerce-product-details__short-description { margin-bottom:1.2rem; color:#536561; }
.cc-product__summary .woocommerce-product-details__short-description > :last-child { margin-bottom:0; }
.cc-hr { margin:1.6rem 0; border:0; border-top:1px solid var(--cc-line); }
.cc-product__summary .cc-event-details { margin-bottom:1.4rem; }
.cc-product__cta { display:flex; flex-wrap:wrap; align-items:baseline; gap:.85rem 1.5rem; }
.cc-product__cta-buy { display:flex; flex-wrap:wrap; align-items:baseline; gap:1rem; margin-left:auto; }
.cc-product__cta p.price,
.cc-product__cta span.price { margin:0; color:var(--cc-forest) !important; font-size:2rem; font-weight:700; line-height:1; }
.cc-product__cta p.price ins,
.cc-product__cta span.price ins { color:var(--cc-forest) !important; text-decoration:none; }
.cc-product__cta p.price del,
.cc-product__cta span.price del { margin-right:.6rem; color:var(--cc-sage) !important; font-size:1.2rem; opacity:.7; }
.cc-product__cta .stock { margin:0; color:var(--cc-sage) !important; font-size:.85rem; font-weight:700; line-height:1; }
.cc-product__cta .stock.out-of-stock { color:#b5544a !important; }
.cc-product__cta form.cart { margin:0; }
.product-type-simple .cc-product__cta form.cart { display:flex; flex-wrap:wrap; align-items:baseline; gap:1rem; }
.product-type-simple .cc-product__cta .quantity { display:flex; }
.product-type-simple .cc-product__cta .quantity input.qty { width:4.2rem; padding:.75rem .6rem; border:1px solid var(--cc-mist); border-radius:10px; color:var(--cc-ink); text-align:center; }
.cc-product__cta .single_add_to_cart_button,
.cc-product__cta button.button { padding:.9rem 1.6rem; border:0; border-radius:999px; background-color:var(--cc-forest) !important; color:var(--cc-white) !important; font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.cc-product__cta .single_add_to_cart_button:hover,
.cc-product__cta .single_add_to_cart_button:focus-visible { background-color:var(--cc-green) !important; color:var(--cc-white) !important; }
.cc-product-section { padding:clamp(1.5rem,3vw,2.5rem); border:1px solid rgba(63,88,81,.08); border-radius:var(--cc-radius); background:var(--cc-white); }
.cc-product-section--alt { border-color:transparent; background:transparent; padding-left:0; padding-right:0; }
.cc-product-section .cc-eyebrow { margin-bottom:1.1rem; }
.cc-product-section__body .woocommerce-Reviews-title { display:none; }
.cc-product-section__body > :first-child { margin-top:0; }
.cc-product-section__body > :last-child { margin-bottom:0; }
.cc-product-section .upsells.products > h2 { margin:0 0 1.1rem; color:var(--cc-ink); font-size:1.6rem; font-weight:300; }
.cc-sticky-cart { position:fixed; z-index:20; right:0; bottom:0; left:0; border-top:1px solid var(--cc-line); background:var(--cc-white); box-shadow:0 -12px 30px rgba(35,53,52,.12); }
.cc-sticky-cart__inner { display:flex; align-items:center; gap:1rem; width:min(1180px,92vw); margin:0 auto; padding:.75rem 0; }
.cc-sticky-cart__inner img { width:3rem; height:3rem; border-radius:10px; object-fit:cover; }
.cc-sticky-cart__title { overflow:hidden; color:var(--cc-ink); font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.cc-sticky-cart__price { flex-shrink:0; color:var(--cc-forest); font-weight:700; }
.cc-sticky-cart__inner .cc-button { flex-shrink:0; margin-left:auto; border:0; cursor:pointer; }
.cc-workshops { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.cc-workshop { padding:1.5rem; border-radius:22px; background:#fff; }
.cc-workshop__date { color:var(--cc-sage); font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.cc-workshop h3 { margin:.4rem 0; font-size:1.35rem; font-weight:400; line-height:1.2; }
.cc-workshop__status { font-weight:700; color:var(--cc-forest); }
.cc-page-content .lte-testimonials-presentation__eyebrow { color:var(--cc-sage); }
.cc-page-content .lte-testimonials-presentation__title { color:var(--cc-ink); }
.cc-page-content .lte-testimonials-presentation__intro { color:#536561; }
.cc-page-content .lte-testimonial { --lte-testimonial-accent:var(--cc-sage); border-color:rgba(63,88,81,.12); background:linear-gradient(145deg,#fff 0%,#fff 72%,#edf2ea 100%); box-shadow:0 12px 30px rgba(35,53,52,.08); }
.cc-page-content .lte-testimonial { transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.cc-page-content .lte-testimonial:hover,.cc-page-content .lte-testimonial:focus-within { transform:translateY(-5px); border-color:rgba(63,88,81,.28); box-shadow:0 20px 40px rgba(35,53,52,.15); }
.cc-page-content .lte-testimonial::before { color:var(--lte-testimonial-accent); opacity:.22; }
.cc-page-content .lte-testimonial::after { background:var(--lte-testimonial-accent); opacity:.18; }
.cc-page-content .lte-testimonial:nth-child(3n+2) { --lte-testimonial-accent:var(--cc-linden); background:linear-gradient(145deg,#fff 0%,#fff 72%,#f3f0dc 100%); }
.cc-page-content .lte-testimonial:nth-child(3n) { --lte-testimonial-accent:var(--cc-mist); background:linear-gradient(145deg,#fff 0%,#fff 72%,#e9f0ea 100%); }
.cc-page-content .lte-testimonial__excerpt { color:var(--cc-ink); }
.cc-page-content .lte-testimonial__author,.cc-page-content .lte-testimonial-dialog__author { color:var(--cc-forest); }
.cc-page-content .lte-testimonial__author::before,.cc-page-content .lte-testimonial-dialog__author::before { background:var(--lte-testimonial-accent,var(--cc-sage)); }
.cc-page-content .lte-testimonial__open { color:var(--cc-forest); }
.cc-page-content .lte-testimonial-dialog { color:var(--cc-ink); background:var(--cc-white); border-radius:var(--cc-radius); box-shadow:var(--cc-shadow); }
.cc-page-content .lte-testimonial-dialog__close { color:var(--cc-forest); }
.cc-event-details { display:grid; gap:.3rem; padding:1rem; border-radius:14px; background:var(--cc-leaf); }
.cc-event-details p { margin:0; }
.cc-contact-list { display:grid; gap:.8rem; padding:0; list-style:none; }
.cc-contact-list a { color:var(--cc-forest); }
.lpa-partners-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin:2rem 0 0; padding:0; list-style:none; }
.lpa-partners-list__item { display:flex; }
.lpa-partners-list__empty { margin-top:2rem; padding:1.25rem; border:1px dashed var(--cc-sage); border-radius:14px; background:#fff; color:#536561; }
.lpa-partner-card { display:flex; flex-direction:column; width:100%; padding:2rem; border:1px solid rgba(63,88,81,.08); border-radius:var(--cc-radius); background:var(--cc-white); box-shadow:0 8px 24px rgba(35,53,52,.06); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.lpa-partner-card:hover,.lpa-partner-card:focus-within { transform:translateY(-4px); border-color:rgba(63,88,81,.18); box-shadow:0 16px 38px rgba(35,53,52,.14); }
.lpa-partner-card__logo img { transition:transform .2s ease; }
.lpa-partner-card:hover .lpa-partner-card__logo img { transform:scale(1.03); }
.lpa-partner-card__logo { margin-bottom:1rem; text-align:center; }
.lpa-partner-card__logo img { display:block; width:auto; max-width:100%; max-height:240px; margin:0 auto; object-fit:contain; }
.lpa-partner-card__name { margin:0 0 .5rem; font-size:1.5rem; font-weight:300; line-height:1.15; text-align:center; }
.lpa-partner-card__description { color:#536561; text-align:center; }
.lpa-partner-card__description p { margin:0 0 .5rem; }
.lpa-partner-card__description :last-child { margin-bottom:0; }
.lpa-partner-card__links { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; margin:1.1rem 0 0; padding:0; list-style:none; }
.lpa-partner-card__link a { display:inline-block; padding:.5rem .9rem; border:1px solid var(--cc-forest); border-radius:999px; color:var(--cc-forest); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.lpa-partner-card__link a:hover,.lpa-partner-card__link a:focus-visible { background:var(--cc-forest); color:var(--cc-white); }
.lpa-partner-card__locations { margin-top:auto; padding-top:1.1rem; }
.lpa-partner-card__locations .lpa-locations__meta-line { color:var(--cc-forest); }
.lpa-partner-card__locations .lbq-hr { border-top-color:var(--cc-forest); }
.cc-site-footer { margin-top:4.5rem; padding:3.4rem 0 1.5rem; background:#1d302f; color:#e8eeea; }
.cc-footer-grid { display:grid; grid-template-columns:1.55fr repeat(3,1fr); gap:2.4rem; }
.cc-footer-brand p { max-width:20rem; }
.cc-footer-logo { display:block; width:auto; max-width:180px; height:auto; max-height:180px; border-radius:8px; object-fit:contain; }
.cc-site-footer h2 { margin:0 0 .85rem; color:#bdcdbf; font-size:.75rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.cc-site-footer section a,.cc-site-footer address a { display:block; margin:.45rem 0; color:#e0e8e3; }
.cc-facebook-link { display:inline-flex !important; align-items:center; gap:.35rem; }
.cc-phone-link { display:inline-flex !important; align-items:center; gap:.35rem; }
.cc-site-footer address { display:grid; gap:.15rem; font-style:normal; }
.cc-footer-note { color:#bdcdbf; font-size:.86rem; }
.cc-footer-bottom { display:flex; justify-content:space-between; gap:1rem; margin-top:2rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.12); color:#adbbb5; font-size:.8rem; }
@media (max-width:900px) { .cc-site-header__inner { position:relative; grid-template-columns:minmax(0,1fr) auto; padding-block:.8rem; } .cc-brand img { width:180px; } .cc-menu-toggle { display:grid; } .cc-navigation { position:absolute; z-index:1; top:calc(100% - .4rem); right:0; width:min(18rem,100%); padding:.4rem 1rem; border:1px solid var(--cc-line); border-radius:16px; background:var(--cc-white); box-shadow:0 12px 28px rgba(35,53,52,.12); } .cc-navigation[hidden] { display:none; } .cc-navigation ul { display:grid; gap:0; } .cc-navigation li { border-bottom:1px solid var(--cc-line); } .cc-navigation li:last-child { border-bottom:0; } .cc-navigation a { display:block; padding:.85rem 0; } .cc-footer-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:900px) { .cc-hero,.cc-story,.cc-creator__inner,.cc-about-details__grid,.cc-product__top { grid-template-columns:1fr; } .cc-hero__copy { min-height:0; } .cc-creator__image { min-height:320px; max-height:480px; } .cc-creator__body { padding:clamp(2rem,5vw,3.5rem); } .cc-about-details__image { min-height:320px; max-height:480px; } .cc-category-grid,.cc-partner-grid,.cc-home-cats,.lpa-partners-list { grid-template-columns:1fr; } .woocommerce ul.products,.cc-workshops { grid-template-columns:repeat(2,1fr); } .woocommerce-account .woocommerce { grid-template-columns:1fr; } .woocommerce-account .woocommerce > .woocommerce-notices-wrapper,.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { grid-column:1; } .woocommerce-account .woocommerce-MyAccount-navigation { grid-row:2; } .woocommerce-account .woocommerce-MyAccount-content { grid-row:3; } .woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex; overflow-x:auto; } .woocommerce-account .woocommerce-MyAccount-navigation li { flex:0 0 auto; border-right:1px solid var(--cc-line); border-bottom:0; } }
@media (max-width:900px) { .woocommerce-cart .wp-block-woocommerce-filled-cart-block { grid-template-columns:1fr; } .woocommerce-cart .wp-block-woocommerce-cart-totals-block { position:static; } .woocommerce-cart .wp-block-woocommerce-product-collection { grid-column:auto; } }
@media (max-width:560px) { .cc-section-head { display:block; } .cc-section-head > p { margin-top:1rem; } .woocommerce ul.products,.cc-workshops { grid-template-columns:1fr; } .cc-footer-grid { grid-template-columns:1fr; } .cc-footer-bottom { display:block; } .cc-footer-bottom a { display:block; margin-top:.5rem; } }
@media (max-width:560px) { .cc-site-header__inner { gap:1rem; } .cc-brand img { width:132px; } .cc-header-actions { gap:.4rem; } .cc-header-actions a,.cc-menu-toggle { width:2.25rem; height:2.25rem; } }
@media (max-width:560px) { .cc-product__cta { flex-direction:column; align-items:stretch; } .cc-product__cta-buy { flex-direction:column; align-items:stretch; gap:.65rem; margin-left:0; } .cc-product__cta .single_add_to_cart_button,.cc-product__cta button.button { width:100%; } }
@media (max-width:560px) { .woocommerce-cart .wp-block-woocommerce-cart-items-block,.woocommerce-cart .wp-block-woocommerce-cart-totals-block { padding:1.1rem; } .woocommerce-cart .wc-block-cart-items thead { display:none; } .woocommerce-cart .wc-block-cart-items td { padding:.75rem .25rem; } .woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns:1fr; } }
.cc-coming-soon-page { min-height:100vh; background:var(--cc-paper); }
.cc-coming-soon { position:relative; display:grid; min-height:100vh; place-items:center; overflow:hidden; padding:2rem; background:linear-gradient(135deg,#f5f5ef 0%,#edf2ea 100%); }
.cc-coming-soon__content { position:relative; z-index:1; width:min(42rem,100%); padding:clamp(2rem,6vw,4.5rem); border:1px solid rgba(63,88,81,.12); border-radius:36px; background:rgba(255,255,255,.88); box-shadow:var(--cc-shadow); text-align:center; }
.cc-coming-soon__brand { display:inline-block; max-width:min(16rem,72%); margin-bottom:clamp(2rem,5vw,3.5rem); }
.cc-coming-soon__brand img { display:block; width:100%; height:auto; }
.cc-coming-soon__logo { display:block; width:min(25rem,92%); height:auto; margin:0 auto clamp(2rem,5vw,3.5rem); }
.cc-coming-soon__eyebrow { margin:0 0 1rem; color:var(--cc-sage); font-size:.74rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.cc-coming-soon h1 { margin:0; color:var(--cc-ink); font-size:clamp(2.6rem,7vw,5.2rem); font-weight:300; letter-spacing:-.045em; line-height:.98; }
.cc-coming-soon h1 span { color:var(--cc-sage); }
.cc-coming-soon__message { max-width:33rem; margin:1.35rem auto 0; color:#536561; font-size:1.05rem; }
.cc-coming-soon__action { margin-top:2rem; }
.cc-coming-soon__action:focus-visible { outline:2px solid var(--cc-forest); outline-offset:4px; }
.cc-coming-soon__leaf { position:absolute; width:clamp(13rem,27vw,29rem); aspect-ratio:1; border-radius:60% 40% 65% 35%; background:var(--cc-leaf); opacity:.76; }
.cc-coming-soon__leaf--left { top:-7rem; left:-9rem; transform:rotate(25deg); }
.cc-coming-soon__leaf--right { right:-8rem; bottom:-9rem; background:var(--cc-mist); transform:rotate(205deg); }
@media (max-width:560px) { .cc-coming-soon { padding:1rem; } .cc-coming-soon__content { padding:2.2rem 1.35rem; border-radius:26px; } .cc-coming-soon__brand { max-width:13rem; margin-bottom:2.25rem; } .cc-coming-soon__logo { width:min(18rem,100%); margin-bottom:2.25rem; } .cc-coming-soon__message { font-size:1rem; } .cc-coming-soon__action { width:100%; padding-right:.9rem; padding-left:.9rem; } }
