/* Paulo Piloni — WooCommerce styling in the blush idiom. */

/* card quick-add + badges (home grids + shop loop) */
.badge{position:absolute;top:12px;left:12px;z-index:3;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:5px 10px;border-radius:2px;background:var(--ink);color:var(--ground);}
.badge.b-sale{background:var(--sale);color:#fff;}
.badge.b-new{background:var(--gold);color:#fff;}
.shot-link{position:absolute;inset:0;display:block;}
.shot-link img{width:100%;height:100%;object-fit:cover;}
.quick{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;padding:12px;border-radius:999px;background:var(--ink);color:var(--ground);
  font-size:var(--f-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:600;text-align:center;
  opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s,background .2s;}
.card:hover .quick,.card:focus-within .quick{opacity:1;transform:none;}
.quick:hover{background:var(--gold);color:#fff;}
.quick.added,.quick.loading{background:var(--good);color:#fff;}
@media (hover:none){ .quick{opacity:1;transform:none;} }
.pname a{color:inherit;}
.pname a:hover{color:var(--gold);}
.price ins{text-decoration:none;font-weight:600;}
.price del{opacity:.6;font-size:var(--f-sm);margin-left:8px;}
.price .amount{font-variant-numeric:tabular-nums;}

/* ── shop hero ── */
.shop-hero{background:linear-gradient(150deg,var(--hero-1),var(--hero-2));padding:calc(var(--pad) + 40px) 0 40px;border-bottom:1px solid var(--line);}
.shop-hero .eyebrow{display:block;margin-bottom:14px;}
.shop-hero h1{font-family:var(--display);font-weight:400;font-size:var(--f-2xl);margin:0;color:var(--hero-ink);letter-spacing:-.01em;}
.shop-hero-desc{margin-top:14px;color:var(--ink-soft);max-width:60ch;font-size:var(--f-md);}

/* ── shop shell ── */
.woo-shell{padding-block:clamp(36px,5vw,72px);}
.woocommerce-result-count{color:var(--ink-soft);font-size:var(--f-sm);letter-spacing:.04em;margin:0 0 22px;}
.woocommerce-ordering{float:right;margin:-4px 0 22px;}
.woocommerce-ordering select{font:inherit;font-size:var(--f-sm);padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);}

/* product grid */
.woo-shell ul.products{list-style:none;margin:0;padding:0;display:grid;gap:clamp(14px,1.8vw,26px);
  grid-template-columns:repeat(auto-fill,minmax(232px,1fr));}
.woo-shell ul.products::before,.woo-shell ul.products::after{content:none;}
.woo-shell ul.products li.product{width:auto;margin:0;padding:0;float:none;}

/* WooCommerce buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce .button,
.woocommerce #respond input#submit,.wc-block-components-button{
  background:var(--ink)!important;color:var(--ground)!important;border:1px solid var(--ink)!important;
  border-radius:999px!important;font-size:11px!important;letter-spacing:.16em!important;text-transform:uppercase!important;
  font-weight:600!important;padding:13px 26px!important;line-height:1.2!important;transition:background .2s,color .2s,border-color .2s!important;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button:hover,
.woocommerce #respond input#submit:hover{background:var(--gold)!important;border-color:var(--gold)!important;color:#fff!important;}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce .button.alt{background:var(--gold)!important;border-color:var(--gold)!important;color:#fff!important;}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--gold-lt)!important;border-color:var(--gold-lt)!important;}
.woocommerce .button.added::after{margin-left:8px;}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{
  border-top:2px solid var(--gold);background:var(--raise);color:var(--ink);padding:16px 20px 16px 46px;list-style:none;}
.woocommerce-error{border-top-color:var(--sale);}
.woocommerce-message::before,.woocommerce-info::before{color:var(--gold);}
.woocommerce-error::before{color:var(--sale);}

/* ── single product PDP — clean cosmetics layout ─────────────────────────── */
.woo-shell.is-single{padding-block:clamp(24px,3vw,44px) clamp(48px,6vw,96px);}
.pp-breadcrumb{font-size:var(--f-xs);letter-spacing:.06em;color:var(--ink-faint);margin:0 0 24px;}
.pp-breadcrumb a{color:var(--ink-soft);} .pp-breadcrumb a:hover{color:var(--gold);}

.pdp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(32px,4.5vw,84px);align-items:start;}
@media (max-width:900px){ .pdp{grid-template-columns:1fr;} }

/* gallery — image fills the cream stage; sticky on desktop */
.pdp-gallery{position:relative;}
@media (min-width:901px){ .pdp-gallery{position:sticky;top:110px;} }
.pdp-gallery .woocommerce-product-gallery{margin:0!important;width:100%!important;float:none!important;}
.pdp-gallery .woocommerce-product-gallery__wrapper,.pdp-gallery .flex-viewport{margin:0;background:linear-gradient(160deg,#FBF4F1,#F1E5DF);border-radius:6px;overflow:hidden;}
.pdp-gallery .woocommerce-product-gallery__image{margin:0;}
.pdp-gallery .woocommerce-product-gallery__image img{width:100%;display:block;mix-blend-mode:multiply;}
.pdp-gallery .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0!important;padding:0;list-style:none;}
.pdp-gallery .flex-control-thumbs li{width:72px;float:none!important;margin:0!important;}
.pdp-gallery .flex-control-thumbs img{border:1px solid var(--hair);border-radius:3px;opacity:.6;cursor:pointer;transition:opacity .2s,border-color .2s;}
.pdp-gallery .flex-control-thumbs img.flex-active,.pdp-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--gold);}
.pdp-gallery .woocommerce-product-gallery__trigger{position:absolute;top:14px;right:14px;z-index:4;background:var(--surface);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;box-shadow:var(--shadow-s);}

/* summary */
.pdp-summary{display:flex;flex-direction:column;}
.pdp .product_title{font-family:var(--display);font-weight:500;text-transform:uppercase;font-size:clamp(28px,2.7vw,42px);line-height:1.04;letter-spacing:.01em;margin:0 0 6px;color:var(--ink);}
.pdp-shade-line{font-size:var(--f-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 14px;}
.pdp-rating{display:flex;align-items:center;gap:10px;font-size:var(--f-sm);color:var(--ink-soft);margin:0 0 16px;}
.pdp-rating .stars{color:var(--gold);letter-spacing:.08em;} .pdp-rating .rcount{color:var(--ink-soft);text-decoration:underline;}
.pdp-price{font-family:var(--display);font-weight:500;font-size:clamp(22px,2vw,30px);color:var(--ink);margin:0 0 20px;}
.pdp-price del{opacity:.5;font-size:.66em;margin-right:8px;} .pdp-price ins{text-decoration:none;color:var(--sale);}
.pdp-price .amount{font-variant-numeric:tabular-nums;}

/* WooCommerce add-to-cart (simple + variable) */
.pdp form.cart{margin:0 0 18px!important;}
.pdp .single-simple-cart,.pdp form.cart:not(.variations_form){display:flex;gap:14px;align-items:stretch;flex-wrap:wrap;}
.pdp form.cart .quantity{display:flex;}
.pdp form.cart .quantity input{width:70px;padding:17px 8px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--ink);font:inherit;text-align:center;}
.pdp .single_add_to_cart_button{flex:1;min-width:220px;border-radius:2px!important;padding:19px 28px!important;font-size:12px!important;letter-spacing:.24em!important;background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important;}
.pdp .single_add_to_cart_button:hover{background:var(--gold)!important;border-color:var(--gold)!important;}
.pdp .single_add_to_cart_button.disabled{opacity:.45;cursor:not-allowed;}

/* variations rows → our label + swatch UI (native selects hidden but functional) */
.pdp table.variations{width:100%;margin:0 0 16px;border:0;}
.pdp table.variations tr{display:block;margin:0 0 18px;}
.pdp table.variations th,.pdp table.variations td{display:block;padding:0;border:0;text-align:left;}
.pdp table.variations th label{font-size:var(--f-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 10px;display:block;}
.pdp .reset_variations{display:inline-block;margin:8px 0 0;font-size:var(--f-xs);letter-spacing:.06em;color:var(--ink-faint);}
.pp-var{display:flex;flex-wrap:wrap;gap:9px;}
.pp-var-size{gap:10px;}
.pp-chip{cursor:pointer;padding:0;transition:box-shadow .16s,transform .16s,border-color .16s,background .16s;}
.pp-chip-color{width:38px;height:38px;border-radius:50%;border:1px solid var(--hair);}
.pp-chip-color:hover{transform:translateY(-2px);}
.pp-chip-color.on{box-shadow:0 0 0 1.5px var(--surface),0 0 0 3px var(--gold);}
.pp-chip-text{min-width:38px;height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:11px;letter-spacing:.04em;color:var(--ink-soft);}
.pp-var-size .pp-chip{min-width:52px;height:44px;padding:0 16px;border-radius:2px;border:1px solid var(--line);background:var(--surface);font-size:var(--f-sm);color:var(--ink);letter-spacing:.02em;}
.pp-var .pp-chip.on{border-color:var(--ink);color:var(--ink);}
.pp-var .pp-chip.is-disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through;}
.pdp .woocommerce-variation{margin:0 0 14px;}
.pdp .woocommerce-variation-price .price{font-family:var(--display);font-size:var(--f-xl);color:var(--ink);}
.pdp .woocommerce-variation-availability{font-size:var(--f-sm);color:var(--ink-soft);}
.pdp .single_variation_wrap .woocommerce-variation-add-to-cart{display:flex;gap:14px;align-items:stretch;flex-wrap:wrap;margin-top:8px;}

/* secondary buttons + cards */
.pdp-secondary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 22px;}
.pdp-outline{border:1px solid var(--line);border-radius:2px;background:var(--surface);padding:15px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:border-color .2s,color .2s;}
.pdp-outline:hover{border-color:var(--gold);color:var(--gold);}
.pdp-loyalty{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:4px;margin:0 0 22px;background:linear-gradient(120deg,var(--blush),var(--blush-deep));color:var(--ink);}
.pdp-loyalty-mark{flex:0 0 auto;color:var(--gold);font-size:20px;}
.pdp-loyalty b{display:block;font-size:var(--f-sm);letter-spacing:.02em;} .pdp-loyalty span{font-size:var(--f-sm);color:#6B5854;line-height:1.55;}
.pdp-loyalty-arrow{margin-left:auto;font-size:22px;color:var(--gold);}
.pdp-advisor{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--hair);border-radius:4px;background:var(--raise);margin:0 0 22px;}
.pdp-advisor-dot{flex:0 0 48px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(150deg,var(--blush),var(--blush-deep));font-family:var(--display);color:var(--gold);letter-spacing:-.06em;}
.pdp-advisor-q{margin:0 0 4px;font-family:var(--display);font-size:var(--f-lg);color:var(--ink);line-height:1.2;}
.pdp-advisor-cta{font-size:var(--f-sm);letter-spacing:.06em;color:var(--gold);}
.pdp-shortdesc{color:var(--ink-soft);font-size:var(--f-md);line-height:1.9;border-top:1px solid var(--hair);padding-top:18px;}
.pdp .product_meta{font-size:var(--f-sm);color:var(--ink-faint);border-top:1px solid var(--hair);padding-top:16px;margin-top:14px;}
.pdp .product_meta span{display:block;margin-bottom:6px;letter-spacing:.04em;}
.pdp .product_meta a{color:var(--gold);}
.pdp-instock{color:var(--good);} .pdp-oos{color:var(--sale);}

/* details + tabs + reviews + related */
.pdp-formula{grid-column:1/-1;margin-top:clamp(48px,6vw,90px);border-top:1px solid var(--hair);padding-top:clamp(40px,5vw,70px);}
.pdp-formula h2{font-family:var(--display);font-weight:500;text-transform:uppercase;font-size:var(--f-xl);letter-spacing:.03em;color:var(--ink);margin:0 0 26px;}
.pdp-formula-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(28px,4vw,60px);align-items:start;}
.pdp-longdesc{color:var(--ink-soft);line-height:1.95;font-size:var(--f-md);}
.pdp-specs{margin:0;display:grid;grid-template-columns:auto 1fr;gap:12px 20px;align-content:start;}
.pdp-specs dt{font-size:var(--f-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
.pdp-specs dd{margin:0;font-size:var(--f-sm);color:var(--ink);line-height:1.6;}
@media (max-width:760px){ .pdp-formula-grid{grid-template-columns:1fr;} .pdp-secondary{grid-template-columns:1fr;} }
.pdp-reviews{grid-column:1/-1;margin-top:clamp(40px,5vw,70px);}
.pdp-reviews h2,.pdp-reviews .comment-reply-title{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);}
.pdp .related.products,.pdp .up-sells{grid-column:1/-1;margin-top:clamp(40px,5vw,80px);border-top:1px solid var(--hair);padding-top:clamp(40px,5vw,70px);}
.pdp .related.products>h2{font-family:var(--display);font-weight:500;text-transform:uppercase;font-size:var(--f-xl);letter-spacing:.03em;color:var(--ink);margin:0 0 30px;text-align:center;}
.pdp span.onsale{background:var(--sale);color:#fff;border-radius:2px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;line-height:1;min-height:0;min-width:0;}
.woocommerce .star-rating span::before,.woocommerce p.stars a::before{color:var(--gold);}

/* ── cart & checkout ── */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:6px;border-collapse:separate;}
.woocommerce table.shop_table th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;}
.woocommerce table.shop_table td{border-top:1px solid var(--hair);color:var(--ink);}
.woocommerce .cart_totals h2,.woocommerce-checkout h3{font-family:var(--display);font-weight:400;font-size:var(--f-xl);}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .select2-container .select2-selection{
  border:1px solid var(--line)!important;border-radius:8px!important;padding:12px 14px!important;background:var(--surface)!important;color:var(--ink)!important;font:inherit!important;}
.woocommerce #payment,.woocommerce-checkout-review-order{background:var(--raise);border:1px solid var(--line);border-radius:8px;padding:24px;}
.woocommerce .coupon input{border-radius:999px 0 0 999px!important;}

/* ── mini-cart in the slide-out drawer ── */
.drawer .widget_shopping_cart_content{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.drawer ul.cart_list{list-style:none;margin:0;padding:6px 22px;flex:1;overflow-y:auto;}
.drawer ul.cart_list li{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--hair);position:relative;}
.drawer ul.cart_list li a.remove{position:absolute;top:14px;right:0;color:var(--ink-faint)!important;font-size:16px;border:0;background:none!important;}
.drawer ul.cart_list li a.remove:hover{color:var(--sale)!important;}
.drawer ul.cart_list li img{width:56px!important;height:56px;object-fit:cover;border-radius:3px;float:none;margin:0;}
.drawer ul.cart_list li a:not(.remove){color:var(--ink);font-size:var(--f-sm);font-weight:600;text-decoration:none;display:block;padding-right:20px;}
.drawer ul.cart_list li .quantity{color:var(--ink-soft);font-size:var(--f-xs);}
.drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:baseline;padding:18px 22px;border-top:1px solid var(--line);margin:0;}
.drawer .woocommerce-mini-cart__total strong{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;}
.drawer .woocommerce-mini-cart__total .amount{font-family:var(--display);font-size:var(--f-xl);color:var(--ink);}
.drawer .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:10px;padding:4px 22px 24px;margin:0;}
.drawer .woocommerce-mini-cart__buttons a{width:100%;text-align:center;}
.drawer .woocommerce-mini-cart__empty-message{padding:60px 22px;text-align:center;color:var(--ink-faint);font-size:var(--f-sm);}

/* generic interior page headers (blog, single, 404) */
.pp-interior .site-shell-header{position:sticky;}

/* ── mega menu ─────────────────────────────────────────────────────────── */
.megamenu{display:flex;align-items:center;justify-content:center;gap:2px;list-style:none;margin:0;padding:0;}
.megamenu>li{position:static;}
.megamenu>li>a{display:block;padding:13px 16px;font-size:var(--f-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);position:relative;transition:color .18s;}
.megamenu>li>a::after{content:"";position:absolute;left:16px;right:16px;bottom:8px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1);}
.megamenu>li>a:hover,.megamenu>li:focus-within>a{color:var(--gold);}
.megamenu>li:hover>a::after,.megamenu>li:focus-within>a::after{transform:scaleX(1);}
.megamenu>li.sale>a{color:var(--sale);}
/* the drop panel */
.mega-panel{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-top:1px solid var(--line);
  box-shadow:var(--shadow-l);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;
  transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:60;}
.megamenu>li.has-mega:hover .mega-panel,.megamenu>li.has-mega:focus-within .mega-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto;}
.mega-inner{display:flex;gap:clamp(28px,4vw,72px);padding-block:clamp(28px,3vw,44px);flex-wrap:wrap;}
.mega-col{min-width:160px;}
.mega-h{display:block;font-family:var(--display);font-size:var(--f-lg);color:var(--ink);margin:0 0 14px;letter-spacing:.01em;}
.mega-h:hover{color:var(--gold);}
.mega-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.mega-col a{font-size:var(--f-sm);color:var(--ink-soft);letter-spacing:.03em;transition:color .18s;display:inline-flex;align-items:baseline;gap:7px;}
.mega-col a:hover{color:var(--gold);}
.mega-c{font-size:10px;color:var(--ink-faint);}

/* mobile toggle + drawer */
.mnav-toggle{display:none;}
.mnav{position:fixed;top:0;bottom:0;right:0;width:min(420px,100%);background:var(--surface);z-index:130;
  transform:translateX(100%);transition:transform .38s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;overflow-y:auto;box-shadow:var(--shadow-l);}
.mnav.on{transform:none;}
.mnav-head{display:flex;align-items:center;justify-content:space-between;padding:20px var(--pad);border-bottom:1px solid var(--hair);}
.mnav-title{font-family:var(--display);font-size:var(--f-xl);}
.mnav-close{font-size:24px;color:var(--ink-soft);}
.mnav-list{padding:8px var(--pad) 40px;}
.mnav-item{border-bottom:1px solid var(--hair);}
summary.mnav-item,.mnav-item>summary{list-style:none;cursor:pointer;padding:16px 0;font-size:var(--f-md);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);display:flex;justify-content:space-between;align-items:center;}
.mnav-item>summary::-webkit-details-marker{display:none;}
.mnav-item>summary::after{content:"+";color:var(--gold);font-size:18px;}
.mnav-item[open]>summary::after{content:"–";}
a.mnav-link{display:block;padding:16px 0;font-size:var(--f-md);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--hair);}
a.mnav-link.sale{color:var(--sale);}
.mnav-sub{display:flex;flex-direction:column;gap:2px;padding:4px 0 16px 4px;}
.mnav-sub a{padding:8px 0;font-size:var(--f-sm);color:var(--ink-soft);}
.mnav-sub .mnav-h{font-size:var(--f-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:12px 0 2px;}
.mnav-all{color:var(--ink)!important;font-weight:600;}
.mnav-scrim{position:fixed;inset:0;background:rgba(36,27,28,.5);opacity:0;pointer-events:none;transition:opacity .3s;z-index:129;}
.mnav-scrim.on{opacity:1;pointer-events:auto;}

@media (max-width:1080px){
  .megamenu{display:none;}
  .mnav-toggle{display:inline-flex;}
  .site-shell-header nav.main{display:none;}
}

/* ── language switcher ── */
.lang-switch{display:inline-flex;align-items:center;gap:7px;margin-right:6px;font-size:11px;letter-spacing:.14em;}
.lang-switch a{color:var(--ink-faint);padding:4px 2px;}
.lang-switch a.on{color:var(--ink);border-bottom:1px solid var(--gold);}
.lang-switch a:hover{color:var(--gold);}
.lang-switch .sep{color:var(--hair);}
