/*
Theme Name: Radd Pastel
Theme URI: https://raddhouse.com
Author: RADD KIDS
Description: Soft pastel, photo-first WooCommerce theme for Radd 3D Prints — centred logo with a category mega-menu, square category tiles, wavy pastel product bands (New in / Most popular / Featured) with swipeable carousels, newsletter block. Standalone; safe to preview alongside Radd Kids.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: radd-pastel
Tags: e-commerce, custom-logo, custom-menu, one-column
WC requires at least: 8.0
WC tested up to: 11.0
*/

/* ---- 1. Tokens ---- */
:root{--blush:#FBD9E3;--lilac:#E4DAFF;--mint:#D4F0E2;--butter:#FFF2C2;--peach:#FFDFCB;--sky:#D9ECFF;--ink:#2E2A4A;--accent:#E8608A;
--ink2:#5B5680;--ink3:#8F8BAA;--line:#EEEBF5;--mist:#F8F7FC;--paper:#fff;--ok:#2A9D6F;--err:#D64560;
--display:'Luckiest Guy','Nunito',system-ui,sans-serif;--body:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
--r:18px;--r-lg:26px;--wrap:1240px;--gutter:20px;--shadow:0 14px 34px -18px rgba(46,42,74,.25);--ease:cubic-bezier(.2,.8,.2,1);--bounce:cubic-bezier(.34,1.56,.64,1)}
.tint-blush{--tint:var(--blush)}.tint-lilac{--tint:var(--lilac)}.tint-mint{--tint:var(--mint)}.tint-butter{--tint:var(--butter)}.tint-peach{--tint:var(--peach)}.tint-sky{--tint:var(--sky)}

/* ---- 2. Base ---- */
*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--ink);text-decoration:none}a:hover{color:var(--accent)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.05;margin:0 0 .5em;letter-spacing:.02em}h1{font-size:clamp(2rem,6vw,3.2rem)}h2{font-size:clamp(1.6rem,4.5vw,2.4rem)}h3{font-size:clamp(1.15rem,3vw,1.4rem)}
h4{font-family:var(--body);font-weight:800}p{margin:0 0 1em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:.6em 1em;border-radius:999px;z-index:999}.skip-link:focus{left:8px}
.wrap{width:min(100% - var(--gutter)*2,var(--wrap));margin-inline:auto}.wrap--wide{width:min(100% - var(--gutter)*2,1400px)}
.section{padding-block:clamp(2rem,6vw,4rem)}.section__title{margin:0 0 1.2rem}.center{text-align:center}.muted{color:var(--ink3)}.icon{flex:none}

/* ---- 3. Buttons & badges ---- */
.btn,.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.wp-block-button__link,.radd-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.4em;font-family:var(--body);font-weight:800;font-size:.95rem;letter-spacing:.02em;line-height:1;padding:.9em 1.6em;border-radius:999px;border:2px solid var(--ink);background:var(--ink);color:#fff!important;text-decoration:none!important;transition:transform .2s var(--bounce),background .2s,color .2s,box-shadow .2s;cursor:pointer;white-space:nowrap}
.btn:hover,.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover,.radd-form button[type=submit]:hover{transform:translateY(-2px);box-shadow:var(--shadow);background:var(--accent);border-color:var(--accent)}
.btn--outline{background:#fff;color:var(--ink)!important}.btn--outline:hover{background:var(--ink);color:#fff!important;border-color:var(--ink)}
.btn--ink{background:var(--ink)}.woocommerce .button.alt{background:var(--accent);border-color:var(--accent)}.woocommerce .button.alt:hover{background:var(--ink);border-color:var(--ink)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5;cursor:not-allowed;transform:none!important}
.btn.loading::after{content:'';width:1em;height:1em;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.btn.added::after{content:'✓'}@keyframes spin{to{transform:rotate(360deg)}}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:var(--ink);position:relative;transition:background .2s}.icon-btn:hover{background:var(--mist)}
.badges{position:absolute;top:12px;left:12px;display:flex;gap:6px;z-index:2}.badge{font-weight:900;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.35em .75em;border-radius:999px;background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(46,42,74,.12)}.badge--sale{background:var(--accent);color:#fff}.badge--new{background:var(--ink);color:#fff}.badge--out{background:var(--ink3);color:#fff}

/* ---- 4. Announcement bar, header, mega-menu, drawer ---- */
.bar{display:block;background:var(--tint);color:var(--ink);font-weight:800;font-size:.85rem;text-align:center;padding:.55em var(--gutter);letter-spacing:.02em}.bar:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:box-shadow .25s}.site-header.is-stuck{box-shadow:0 8px 30px -18px rgba(46,42,74,.35)}
.site-header__in{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"left brand actions";align-items:center;min-height:72px;gap:.5rem}.site-header__left{grid-area:left}.site-header__brand{grid-area:brand}.site-header__actions{grid-area:actions}.primary-nav{grid-area:nav;justify-self:center}
.site-header__left{display:flex;align-items:center}.site-header__brand{display:flex;justify-content:center;padding:.4rem 0}.site-header__actions{display:flex;justify-content:flex-end;align-items:center;gap:.1rem}
.brand{display:inline-flex;align-items:center;gap:.4em;color:var(--ink)}.brand__img{max-height:56px;width:auto}.brand__word{font-family:var(--display);font-size:clamp(1.5rem,5vw,2.3rem);line-height:1;letter-spacing:.03em;padding-top:.15em;text-shadow:0 2px 0 rgba(46,42,74,.08)}
.brand__w--0{color:#F28DAB}.brand__w--1{color:#9C8CF2}.brand__w--2{color:#5FC7A3}.brand__w--3{color:#F5B54B}.brand__shaka{font-size:1.6em;line-height:1;transform:rotate(-12deg);transition:transform .3s var(--bounce)}.brand:hover .brand__shaka{transform:rotate(10deg) scale(1.1)}
.cart-count{position:absolute;top:4px;right:2px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:900;line-height:19px;text-align:center;transform:scale(0);transition:transform .3s var(--bounce)}.cart-count.has-items{transform:scale(1)}.cart-count.is-bumped{animation:bump .5s var(--bounce)}@keyframes bump{40%{transform:scale(1.5) rotate(-8deg)}}
.primary-nav{display:none}
.mega{list-style:none;margin:0;padding:0;display:flex;gap:.1rem}.mega__item{position:static}.mega__top{display:inline-flex;align-items:center;gap:.2em;padding:.55em .9em;white-space:nowrap;border-radius:999px;font-weight:800;font-size:.95rem;color:var(--ink);transition:background .2s}.mega__top:hover,.mega__item:hover>.mega__top,.mega__item:focus-within>.mega__top{background:var(--mist);color:var(--accent)}
.mega__panel{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 30px 50px -30px rgba(46,42,74,.35);padding:1.6rem 0;z-index:60}.mega__item.has-panel:hover .mega__panel,.mega__item.has-panel:focus-within .mega__panel,.mega__item.has-panel.is-open .mega__panel{display:block}
.mega__grid{display:grid;grid-template-columns:1fr 280px;gap:2rem;align-items:start}.mega__cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem 1.5rem}.mega__sub{display:block;font-weight:900;font-size:1rem;margin-bottom:.3em}.mega__col ul{list-style:none;padding:0;margin:0;font-size:.92rem}.mega__col li a{display:block;padding:.2em 0;color:var(--ink2)}.mega__col li a:hover{color:var(--accent)}
.mega__all{display:inline-flex;align-items:center;gap:.3em;color:var(--accent)}.mega__promo{position:relative;display:block;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--tint)}.mega__promo img{width:100%;height:100%;object-fit:cover}.mega__emoji{display:grid;place-items:center;height:100%;font-size:5rem}.mega__promo-label{position:absolute;left:12px;bottom:12px;background:#fff;padding:.35em .9em;border-radius:999px;font-family:var(--display);font-size:1.15rem;letter-spacing:.03em}
.search-panel{border-top:1px solid var(--line);padding:.8rem 0;background:#fff}.search-form{display:flex;gap:.5rem;max-width:640px;margin:0 auto}.search-form__input{flex:1;min-width:0;padding:.8em 1.1em;border:2px solid var(--line);border-radius:999px;background:var(--mist)}.search-form__input:focus{border-color:var(--ink);outline:none;background:#fff}.search-form__btn span{display:none}
.drawer{position:fixed;inset:0 auto 0 0;width:min(88vw,380px);background:#fff;z-index:70;padding:1rem var(--gutter) 2rem;transform:translateX(-104%);transition:transform .3s var(--ease);display:flex;flex-direction:column;overflow-y:auto;box-shadow:var(--shadow)}.drawer[hidden]{display:flex}.drawer.is-open{transform:none}
.drawer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.drawer__title{font-family:var(--display);font-size:1.6rem;color:var(--accent)}
.drawer-nav,.drawer-sub{list-style:none;margin:0;padding:0}.drawer-nav>li{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line)}.drawer-nav>li>a{flex:1;display:flex;align-items:center;gap:.6em;padding:.8em .2em;font-size:1.1rem;font-weight:800}.drawer-emoji{font-size:1.3em}
.drawer-toggle{width:44px;height:44px;border:0;background:transparent;border-radius:50%;transition:transform .25s}.drawer-toggle[aria-expanded=true]{transform:rotate(180deg)}.drawer-sub{display:none;width:100%;padding:0 0 .6em 2.4em}.drawer-sub.is-open{display:block}.drawer-sub a{display:block;padding:.45em 0;color:var(--ink2);font-weight:700}
.drawer__foot{margin-top:auto;padding-top:1.2rem}.drawer__foot a{display:inline-flex;align-items:center;gap:.4em;font-weight:800}
.scrim{position:fixed;inset:0;background:rgba(46,42,74,.45);z-index:65;opacity:0;transition:opacity .3s}.scrim[hidden]{display:block;pointer-events:none}.scrim.is-open{opacity:1;pointer-events:auto}body.nav-open{overflow:hidden}
.tagline{text-align:center;font-weight:800;font-size:clamp(1rem,2.5vw,1.2rem);color:var(--ink2);margin:1.2rem auto .2rem}
@media(min-width:1000px){.nav-toggle{display:none}.primary-nav{display:block}.site-header__in{min-height:0;grid-template-areas:"left brand actions" "nav nav nav";padding:.6rem 0 .2rem;row-gap:.2rem}.site-header__brand{padding:.2rem 0}.brand__img{max-height:72px}.search-form__btn span{display:inline}}

/* ---- 5. Category tiles ---- */
.section--tiles{padding-top:clamp(1rem,3vw,2rem);padding-bottom:clamp(1rem,3vw,2rem)}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
.tile{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;background:var(--tint);box-shadow:0 0 0 0 transparent;transition:transform .3s var(--bounce),box-shadow .3s}.tile:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.tile__media{display:block;aspect-ratio:1}.tile__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.tile:hover .tile__media img{transform:scale(1.05)}.tile__emoji{display:grid;place-items:center;height:100%;font-size:clamp(4rem,12vw,7rem);transition:transform .35s var(--bounce)}.tile:hover .tile__emoji{transform:scale(1.12) rotate(-6deg)}
.tile__name{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:#fff;color:var(--ink);padding:.4em 1.1em;border-radius:999px;font-family:var(--display);font-size:clamp(1.05rem,2.6vw,1.5rem);letter-spacing:.04em;white-space:nowrap;box-shadow:0 6px 18px -8px rgba(46,42,74,.35)}
@media(min-width:700px){.tiles{grid-template-columns:repeat(3,1fr);gap:1.2rem}}@media(min-width:1000px){.tiles--3{grid-template-columns:repeat(3,1fr)}.tiles--4,.tiles{grid-template-columns:repeat(4,1fr)}.tiles--5{grid-template-columns:repeat(5,1fr)}}

/* ---- 6. Bands, waves, carousel, cards ---- */
.band{position:relative;background:var(--tint);margin-top:clamp(.5rem,2vw,1.5rem)}.band__in{padding:clamp(1.5rem,4vw,2.5rem) 0 clamp(2rem,5vw,3rem)}
.band__head{text-align:center;margin-bottom:1.2rem}.band__title{font-size:clamp(2rem,6vw,3.4rem);margin:0 0 .1em}.band__sub{font-weight:700;color:var(--ink2);margin:0}
.band__cta{text-align:center;margin:1.6rem 0 0}
.wave{line-height:0;position:relative;background:#fff}.wave svg{width:100%;height:clamp(22px,4vw,60px);display:block}.wave--top svg{transform:none}.wave--bottom{transform:scaleY(-1)}
.band+.band{margin-top:0}
.carousel{position:relative}.carousel__track{list-style:none;margin:0;padding:.4rem .2rem 1rem;display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.carousel__track::-webkit-scrollbar{display:none}
.carousel__track>.card{flex:0 0 min(58vw,250px);scroll-snap-align:start}
.carousel__btn{position:absolute;top:38%;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--ink);box-shadow:var(--shadow);display:none;place-items:center;opacity:.95;transition:transform .2s var(--bounce)}.carousel__btn:hover{transform:scale(1.08)}.carousel__btn--prev{left:-10px}.carousel__btn--next{right:-10px}.carousel__btn[disabled]{opacity:.35;cursor:default}
@media(min-width:1000px){.carousel__btn{display:grid}.carousel__track>.card{flex-basis:calc((100% - 4rem)/5)}}
.card{position:relative;display:flex;flex-direction:column;text-align:center;background:transparent}.card__media{position:relative;display:block;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--mist)}
.card__img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),opacity .35s}.card__img--hover{position:absolute;inset:0;opacity:0}.card:hover .card__img--hover{opacity:1}.card:hover .card__img{transform:scale(1.04)}
.card__body{padding:.7rem .3rem 0;display:grid;gap:.2rem}.card__title{font-family:var(--body);font-weight:800;font-size:.98rem;line-height:1.3;margin:0}.card__title a{color:var(--ink)}.card__price{font-weight:800;color:var(--ink2);font-size:.95rem}.card__price del{color:var(--ink3);font-weight:600;margin-right:.3em}.card__price ins{text-decoration:none;color:var(--accent)}
.card__action .card__btn{font-size:.8rem;padding:.6em 1.1em;margin-top:.35rem;background:#fff;color:var(--ink)!important;border-color:var(--line)}.card__action .card__btn:hover{background:var(--ink);color:#fff!important;border-color:var(--ink)}
@media(hover:hover){.card__action{opacity:0;transform:translateY(4px);transition:.25s}.card:hover .card__action,.card:focus-within .card__action{opacity:1;transform:none}}
.card--lead{justify-content:center;align-items:center;gap:.6rem;background:#fff;border-radius:var(--r);aspect-ratio:1;padding:1rem;box-shadow:var(--shadow)}.card--lead__emoji{font-size:clamp(3.5rem,8vw,5.5rem);line-height:1}.card--lead__img{width:70%;border-radius:14px}.card--lead__title{font-family:var(--display);font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.04em;text-align:center;line-height:1}
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem 1rem}@media(min-width:640px){ul.products{grid-template-columns:repeat(3,1fr)}}@media(min-width:1000px){ul.products{grid-template-columns:repeat(4,1fr);gap:2rem 1.5rem}}
ul.products.carousel__track{display:flex;grid-template-columns:none;gap:1rem}
.related-band{margin-top:clamp(2rem,6vw,4rem)}.related-band .carousel__track>.card{flex-basis:min(60vw,240px)}

/* ---- 7. Newsletter, footer ---- */
.newsletter{background:var(--tint);margin-top:clamp(2rem,6vw,4rem);padding:clamp(2.5rem,7vw,4.5rem) 0;text-align:center}.newsletter__in{max-width:640px}.newsletter__title{margin-bottom:.2em}.newsletter__text{color:var(--ink2);font-weight:700}
.news-form__row{display:flex;gap:.5rem;max-width:520px;margin:1rem auto 0}.news-form__row input{flex:1;min-width:0;padding:.9em 1.2em;border:2px solid transparent;border-radius:999px;background:#fff}.news-form__row input:focus{outline:none;border-color:var(--ink)}
.news-form__msg{font-weight:800;margin:1rem 0 0}.news-form__msg.is-ok{color:var(--ok)}.news-form__msg.is-err{color:var(--err)}.news-form__fine{font-size:.8rem;color:var(--ink3);margin:.8rem 0 0}.hp{position:absolute;left:-9999px}
.site-footer{margin-top:0}.newsletter+.site-footer,.band+.site-footer{margin-top:0}
.footer-strip{background:var(--tint);text-align:center;font-weight:800;padding:.9em var(--gutter);font-size:.95rem}
.footer-main{background:var(--tint);padding:clamp(2rem,6vw,3.5rem) 0 1.5rem}.footer-grid{display:grid;gap:2rem}.footer-brand p{max-width:46ch;margin-top:.8rem;color:var(--ink2)}.brand--footer .brand__img{max-height:56px}
.socials{display:flex;gap:.5rem;margin-top:.5rem}.social{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--ink);transition:transform .2s var(--bounce),background .2s}.social:hover{transform:translateY(-3px);background:var(--ink);color:#fff}
.footer-col h3{margin-bottom:.5em}.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.footer-col a{font-weight:700;color:var(--ink2)}.footer-col a:hover{color:var(--accent)}
.footer-bottom{margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(46,42,74,.12);font-size:.85rem;color:var(--ink2);text-align:center}.footer-note{max-width:70ch;margin:0 auto .5rem}.shaka{display:inline-block}
@media(min-width:800px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr}}

/* ---- 8. Page heads, prose, shop pages ---- */
.page-head{background:var(--tint);padding:clamp(1.5rem,5vw,3rem) 0 clamp(1rem,3vw,1.5rem);position:relative;overflow:hidden}.page-head.has-img::before{content:'';position:absolute;inset:0;background:var(--img) center/cover;opacity:.18}.page-head .wrap{position:relative}.page-head__title{margin:.1em 0 .2em}.page-head__sub{color:var(--ink2);max-width:60ch;font-weight:700}
.page-head--blush{--tint:var(--blush)}.page-head--lilac{--tint:var(--lilac)}.page-head--mint{--tint:var(--mint)}.page-head--butter{--tint:var(--butter)}.page-head--peach{--tint:var(--peach)}.page-head--sky{--tint:var(--sky)}
.page-head+.wave--bottom{background:var(--paper)}
.crumbs{font-size:.82rem;font-weight:700;color:var(--ink3);margin-bottom:.6rem;display:flex;flex-wrap:wrap;gap:.4em}.crumbs a{color:var(--ink2)}
.page-main{padding-block:1.5rem clamp(3rem,8vw,5rem)}.prose{max-width:72ch}.prose img{border-radius:var(--r)}.prose h2,.prose h3{margin-top:1.5em}.page-hero-img img{border-radius:var(--r);margin-bottom:2rem}
.empty{text-align:center;padding:3rem 1rem;max-width:46ch;margin:0 auto}.empty__emoji{font-size:4rem;line-height:1}
.post-list{display:grid;gap:1rem}.post-card{display:block;padding:1.4rem;border-radius:var(--r);background:var(--mist)}.post-card h2{font-size:1.4rem;margin-bottom:.3em}
.pagination .nav-links,.woocommerce-pagination ul.page-numbers{display:flex;justify-content:center;gap:.4rem;list-style:none;padding:0;margin:2rem 0 0}.page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 .6em;border-radius:999px;font-weight:800;background:var(--mist)}.page-numbers.current{background:var(--ink);color:#fff}
.subcats{display:flex;gap:.8rem;overflow-x:auto;padding:.2rem .2rem 1rem;margin-bottom:.5rem;scrollbar-width:none}.subcats::-webkit-scrollbar{display:none}.subcat{position:relative;flex:0 0 150px;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--tint)}.subcat img{width:100%;height:100%;object-fit:cover}.subcat__emoji{display:grid;place-items:center;height:100%;font-size:3.5rem}.subcat__name{position:absolute;left:8px;bottom:8px;background:#fff;padding:.3em .8em;border-radius:999px;font-weight:900;font-size:.85rem}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.5rem 0 1.25rem;flex-wrap:wrap}.woocommerce-result-count{margin:0;font-weight:700;color:var(--ink3);font-size:.9rem}.woocommerce-ordering{margin:0}
.woocommerce-ordering select,.woocommerce form .form-row select,table.variations select,.radd-form select{appearance:none;-webkit-appearance:none;padding:.7em 2.6em .7em 1em;border:2px solid var(--line);border-radius:999px;font-weight:800;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E2A4A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .9em center/14px}
.woocommerce-no-products-found{text-align:center;padding:3rem 0}
.woocommerce-message,.woocommerce-error,.woocommerce-info{list-style:none;margin:0 0 1.5rem;padding:1rem 1.2rem;border-radius:var(--r);font-weight:700;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}.woocommerce-message{background:var(--mint)}.woocommerce-info{background:var(--sky)}.woocommerce-error{background:var(--blush);color:#8F1E3A}.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{margin-left:auto;font-size:.85rem;padding:.6em 1em}
.woocommerce-store-notice,p.demo_store{background:var(--ink);color:#fff;font-weight:800;text-align:center;padding:.7em 1em;margin:0;position:relative;z-index:51}.woocommerce-store-notice a{color:#fff;margin-left:.5em}

/* ---- 9. Single product ---- */
.wc-main--single{padding-block:1rem 4rem}div.product{display:grid;gap:2rem}@media(min-width:860px){div.product{grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:start}div.product>.woocommerce-tabs,div.product>.related-band,div.product>.upsells{grid-column:1/-1}}
.woocommerce div.product div.images,.woocommerce div.product div.summary,.woocommerce-product-gallery,.summary.entry-summary{width:100%;float:none;margin-bottom:0}.woocommerce-product-gallery{position:relative}.woocommerce-product-gallery__wrapper{margin:0;display:block}
.woocommerce-product-gallery .flex-viewport,.woocommerce-product-gallery__image img{border-radius:var(--r-lg);overflow:hidden;background:var(--mist);width:100%}
.woocommerce-product-gallery__trigger{position:absolute;top:14px;right:14px;z-index:5;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;font-size:0}.woocommerce-product-gallery__trigger::before{content:'⤢';font-size:20px;color:var(--ink);font-weight:900}
.flex-control-thumbs{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0 0;padding:0}.flex-control-thumbs li{width:calc(20% - .5rem)}.flex-control-thumbs img{border-radius:12px;opacity:.55;cursor:pointer;border:3px solid transparent;transition:.2s}.flex-control-thumbs img:hover,.flex-control-thumbs img.flex-active{opacity:1}.flex-control-thumbs img.flex-active{border-color:var(--accent)}
.flex-direction-nav{list-style:none;margin:0;padding:0}.flex-direction-nav a{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:var(--shadow);font-size:0;z-index:4;display:grid;place-items:center;opacity:0;transition:opacity .2s}.flex-direction-nav a::before{font-size:22px;font-weight:900;color:var(--ink)}.flex-direction-nav .flex-prev{left:12px}.flex-direction-nav .flex-prev::before{content:'‹'}.flex-direction-nav .flex-next{right:12px}.flex-direction-nav .flex-next::before{content:'›'}.woocommerce-product-gallery:hover .flex-direction-nav a{opacity:1}.onsale{display:none}
.summary .product_title{font-size:clamp(1.9rem,5vw,2.8rem);margin-bottom:.2em}.summary .price{font-size:1.5rem;font-weight:900;margin:0 0 .8em}.summary .price del{color:var(--ink3);font-size:.75em;font-weight:700}.summary .price ins{text-decoration:none;color:var(--accent)}
.woocommerce-product-details__short-description{color:var(--ink2);font-size:1.05rem}.stock{font-weight:800}.stock.in-stock{color:var(--ok)}.stock.out-of-stock{color:var(--err)}
form.cart{margin:1.25rem 0;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}form.cart.variations_form{display:block}table.variations{width:100%;border-collapse:collapse;margin-bottom:1rem}table.variations th,table.variations td{display:block;text-align:left;padding:0}table.variations th.label{font-weight:800;font-size:.92rem;padding-bottom:.3em}table.variations td.value{margin-bottom:.8rem}table.variations select{width:100%;border-radius:14px}table.variations .reset_variations{display:inline-block;font-size:.85rem;font-weight:700;color:var(--ink3);margin-top:.4em}
.woocommerce-variation{margin-bottom:1rem}.woocommerce-variation-price .price{font-size:1.4rem}.woocommerce-variation-add-to-cart{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.quantity{display:inline-flex;align-items:center}.quantity .qty{width:4.5rem;text-align:center;font-weight:800;padding:.85em .4em;border:2px solid var(--line);border-radius:14px}.quantity .screen-reader-text{position:absolute}.single_add_to_cart_button{font-size:1rem;padding:1em 1.8em;flex:1;min-width:200px}
.radd-personalise{flex-basis:100%;margin:.5rem 0}.radd-personalise input{width:100%;padding:.85em 1em;border:2px solid var(--line);border-radius:14px}
.perks{list-style:none;margin:1.25rem 0 0;padding:1rem 1.1rem;border-radius:var(--r);background:var(--mist);display:grid;gap:.5rem;font-weight:700;font-size:.9rem;color:var(--ink2)}.perks li{display:flex;align-items:center;gap:.6rem}.perks .icon{color:var(--accent)}
.product_meta{font-size:.85rem;color:var(--ink3);font-weight:700;margin-top:1.25rem;display:grid;gap:.2rem}
.woocommerce-tabs{margin-top:1rem}.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:.4rem;padding:0;margin:0 0 1.5rem;border-bottom:2px solid var(--line);overflow-x:auto}.woocommerce-tabs ul.tabs li a{display:block;padding:.8em 1.1em;font-weight:800;color:var(--ink3);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}.woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-color:var(--accent)}.woocommerce-tabs .panel{max-width:72ch}
table.woocommerce-product-attributes{border-collapse:collapse;width:100%;max-width:560px}table.woocommerce-product-attributes th,table.woocommerce-product-attributes td{text-align:left;padding:.6em .8em;border-bottom:1px solid var(--line)}table.woocommerce-product-attributes p{margin:0}

/* ---- 10. Forms, cart, checkout, account ---- */
.woocommerce form .form-row,.radd-form .field{margin:0 0 1rem}.woocommerce form .form-row label,.radd-form label{display:block;font-weight:800;font-size:.92rem;margin-bottom:.3em}.woocommerce form .form-row .required{color:var(--accent);text-decoration:none}.woocommerce form .form-row .optional{color:var(--ink3);font-size:.8em}.woocommerce form .form-row .woocommerce-input-wrapper{display:block}
.input-text,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.radd-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.radd-form textarea,#coupon_code,.woocommerce-form-login input,.woocommerce-form-register input,.woocommerce-EditAccountForm input,.woocommerce-address-fields input,.select2-container--default .select2-selection--single{width:100%;padding:.8em 1em;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:1rem;line-height:1.4;height:auto;transition:border-color .2s}
.woocommerce form .form-row select{border-radius:14px;width:100%}.woocommerce form .form-row textarea,.radd-form textarea{min-height:120px;resize:vertical;width:100%}
.input-text:focus,.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.radd-form input:focus,.radd-form textarea:focus,.woocommerce-form-login input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 4px var(--blush)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--err)}.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}@media(min-width:600px){.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - .5rem);display:inline-block;vertical-align:top}.woocommerce form .form-row-first{margin-right:1rem}}
.select2-container--default .select2-selection--single{display:flex;align-items:center}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.4;padding-left:0;color:var(--ink)}.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;right:.6em}.select2-dropdown{border:2px solid var(--line);border-radius:14px;overflow:hidden}.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--ink)}
.radd-form{max-width:720px;display:grid;gap:.25rem}.radd-form .field--half{display:grid;gap:1rem}@media(min-width:600px){.radd-form .field--half{grid-template-columns:1fr 1fr}}.radd-form .hint{font-size:.85rem;color:var(--ink3);margin:.3em 0 0}.radd-form input[type=file]{width:100%;padding:1.2em 1em;border:2px dashed var(--ink3);border-radius:14px;background:var(--mist)}.radd-form input[type=file]::file-selector-button{font:inherit;font-weight:800;border:0;border-radius:999px;padding:.5em 1em;background:var(--ink);color:#fff;margin-right:1em}.radd-form .check{display:flex;align-items:flex-start;gap:.6em;font-weight:600;font-size:.95rem}.radd-form .check input{width:20px;height:20px;margin-top:.2em;accent-color:var(--accent)}.radd-form .hp{position:absolute;left:-9999px}.radd-form button[type=submit]{justify-self:start}
.radd-notice{padding:1rem 1.2rem;border-radius:var(--r);font-weight:700;margin-bottom:1.5rem}.radd-notice--ok{background:var(--mint)}.radd-notice--err{background:var(--blush);color:#8F1E3A}
.contact-grid{display:grid;gap:2rem}.contact-card{padding:1.5rem;border-radius:var(--r);background:var(--butter);align-self:start}@media(min-width:900px){.contact-grid{grid-template-columns:1.4fr 1fr}}
.rp-wc-page .prose,.rp-wc-page .page-main{max-width:none}
table.shop_table{width:100%;border-collapse:collapse;margin:0 0 1.5rem}table.shop_table th,table.shop_table td{text-align:left;padding:.9em .6em;border-bottom:1px solid var(--line);vertical-align:middle}table.shop_table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3)}
table.shop_table.cart td.product-thumbnail img{width:72px;border-radius:14px}table.shop_table.cart td.product-name a{font-weight:800}table.shop_table.cart .variation{display:grid;grid-template-columns:auto 1fr;gap:0 .4em;font-size:.85rem;color:var(--ink3);margin:.2em 0 0}table.shop_table.cart .variation p{margin:0}
table.shop_table.cart .product-remove a.remove{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--mist);color:var(--ink)!important;font-weight:900;font-size:1.1rem;line-height:1}table.shop_table.cart .product-remove a.remove:hover{background:var(--accent);color:#fff!important}
table.shop_table.cart td.actions{padding-top:1.25rem}table.shop_table.cart td.actions .coupon{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}table.shop_table.cart td.actions .coupon label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}table.shop_table.cart td.actions .coupon #coupon_code{flex:1;min-width:160px}table.shop_table.cart td.actions>.button{background:#fff;color:var(--ink)!important;border-color:var(--line)}
@media(max-width:767px){table.shop_table.cart thead{display:none}table.shop_table.cart tr{display:grid;grid-template-columns:30px 84px 1fr;gap:.3rem .75rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:center}table.shop_table.cart td{border:0;padding:0}table.shop_table.cart td.product-remove,table.shop_table.cart td.product-thumbnail{grid-row:1/span 4}table.shop_table.cart td.product-price::before,table.shop_table.cart td.product-subtotal::before{content:attr(data-title) ': ';font-weight:700;color:var(--ink3);font-size:.85rem}table.shop_table.cart tr:has(td.actions){display:block;border:0}}
.cart-collaterals{display:grid;gap:2rem}.cart_totals{background:var(--butter);padding:1.5rem;border-radius:var(--r-lg)}.cart_totals table.shop_table th{width:45%;font-weight:800}.cart_totals table.shop_table td,.cart_totals table.shop_table th{border-color:rgba(46,42,74,.1)}.cart_totals .order-total td{font-size:1.35rem;font-weight:900}
.woocommerce .cart-collaterals .cart_totals,.woocommerce .cart-collaterals .cross-sells{width:auto;float:none}.woocommerce-shipping-methods{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.woocommerce-shipping-methods li{display:flex;align-items:center;gap:.5em;font-weight:700}.woocommerce-shipping-methods input[type=radio]{width:18px;height:18px;accent-color:var(--accent);margin:0}.woocommerce-shipping-destination{font-size:.85rem;color:var(--ink3)}
.wc-proceed-to-checkout{margin-top:1rem}.wc-proceed-to-checkout a.checkout-button{width:100%;font-size:1.05rem;padding:1.05em}.ship-nudge{background:#fff;padding:1rem;border-radius:var(--r);margin-bottom:1rem;font-weight:700}.ship-nudge p{margin:0 0 .6em}.ship-nudge .icon{vertical-align:-4px;margin-right:.3em}.ship-nudge .is-done{color:var(--ok)}.ship-nudge__bar{height:10px;background:var(--line);border-radius:999px;overflow:hidden}.ship-nudge__bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--butter));border-radius:999px}
.cart-empty.woocommerce-info{display:none}.return-to-shop{text-align:center;padding:2rem 0}.return-to-shop::before{content:'🛒';display:block;font-size:4rem;margin-bottom:1rem}.cross-sells ul.products{grid-template-columns:repeat(2,1fr)}@media(min-width:860px){.cart-collaterals{grid-template-columns:1fr 420px}.cross-sells{order:-1}}
.cross-sells>h2,.cart_totals>h2,.section__head h2{font-size:clamp(1.5rem,4vw,2rem)}
form.checkout_coupon{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}form.checkout_coupon .form-row{margin:0;flex:1;min-width:180px}form.checkout{display:grid;gap:2rem}#customer_details{display:grid;gap:1.5rem}#customer_details .col-1,#customer_details .col-2,.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:100%;float:none}
.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3,#order_review_heading{font-size:1.5rem;margin-bottom:.8em}#ship-to-different-address label{display:flex;align-items:center;gap:.6em;font-weight:800;cursor:pointer}#ship-to-different-address input{width:22px;height:22px;accent-color:var(--accent)}
.woocommerce-checkout-review-order{background:var(--butter);padding:1.5rem;border-radius:var(--r-lg);position:sticky;top:100px}.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{border-color:rgba(46,42,74,.1)}.woocommerce-checkout-review-order-table .order-total td{font-size:1.35rem;font-weight:900}
ul.wc_payment_methods{list-style:none;margin:1rem 0 1.25rem;padding:0;display:grid;gap:.6rem}li.wc_payment_method{background:#fff;border:2px solid transparent;border-radius:var(--r);padding:.9em 1em}li.wc_payment_method:has(input:checked){border-color:var(--ink)}li.wc_payment_method>label{display:flex;align-items:center;gap:.6em;font-weight:800;cursor:pointer}li.wc_payment_method>label img{max-height:24px;width:auto;margin-left:auto}li.wc_payment_method input.input-radio{width:20px;height:20px;accent-color:var(--accent);margin:0}li.wc_payment_method .payment_box{margin:.8em 0 0;padding:1em;background:var(--mist);border-radius:12px;font-size:.92rem}li.wc_payment_method .payment_box p:last-child{margin:0}
.woocommerce-privacy-policy-text{font-size:.85rem;color:var(--ink3)}#place_order{width:100%;font-size:1.1rem;padding:1.05em}@media(min-width:900px){form.checkout{grid-template-columns:1.2fr 1fr;align-items:start}#order_review_heading{grid-column:2;margin-bottom:0}#order_review{grid-column:2}#customer_details{grid-column:1;grid-row:1/span 3}}
.woocommerce-order{display:grid;gap:1.5rem}.woocommerce-notice--success{font-family:var(--display);font-size:clamp(1.5rem,4vw,2.2rem);color:var(--ok);margin:0}.woocommerce-notice--success::before{content:'🎉 '}ul.woocommerce-order-overview{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}ul.woocommerce-order-overview li{background:var(--mist);border-radius:14px;padding:.9em 1em;font-size:.85rem;font-weight:700;color:var(--ink3)}ul.woocommerce-order-overview li strong{display:block;color:var(--ink);font-size:1.05rem}
.woocommerce-order-details,.woocommerce-customer-details{background:var(--mist);border-radius:var(--r-lg);padding:1.5rem}.woocommerce-customer-details address{font-style:normal;line-height:1.7}.woocommerce-bacs-bank-details{background:var(--butter);padding:1.25rem;border-radius:var(--r)}.wc-bacs-bank-details{list-style:none;padding:0;display:grid;gap:.3rem;font-weight:700}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:.4rem}.woocommerce-MyAccount-navigation a{display:block;padding:.55em 1em;border-radius:999px;background:var(--mist);font-weight:800}.woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:#fff}.woocommerce-MyAccount-content{max-width:72ch}
#customer_login,.u-columns{display:grid;gap:2rem}@media(min-width:860px){#customer_login,.u-columns{grid-template-columns:1fr 1fr}.woocommerce-MyAccount-navigation ul{flex-direction:column}.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:2.5rem;align-items:start}}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword{background:var(--mist);padding:1.5rem;border-radius:var(--r-lg);max-width:520px}.woocommerce-form-login__rememberme{display:flex;align-items:center;gap:.5em;font-weight:700}.woocommerce-form-login__rememberme input{width:18px;height:18px;accent-color:var(--accent)}
.woocommerce ul.products li.product,ul.products li.product{width:auto;float:none;margin:0;clear:none}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
@media print{.site-header,.bar,.site-footer,.drawer,.scrim,.newsletter{display:none!important}}
