/* Parfumerie Oasis - WooCommerce layer on top of the ported design system */

:root{
  --oasis-charcoal:#111111;
  --oasis-pink:#d87797;
  --oasis-pink-soft:rgba(216,119,151,.10);
  --oasis-cream:#faf9f7;
  --oasis-muted:#6b6b6b;
  --oasis-line:#e5e7eb;
}

html,body.oasis-body{
  margin:0; padding:0;
  background:#fff;
  color:var(--oasis-charcoal);
  font-family:var(--font-jost),"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
body.oasis-body a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}

.oasis-container{max-width:80rem;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.oasis-container{padding:0 1.5rem}}
@media(min-width:1024px){.oasis-container{padding:0 2rem}}
.oasis-woo-wrap{background:#fff;padding:2.5rem 0 4rem}

/* ---------------------------------------------------------- header */
.oasis-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--oasis-line)}
.oasis-header-inner{max-width:80rem;margin:0 auto;padding:0 1.5rem;height:76px;display:flex;align-items:center;justify-content:space-between;position:relative}
.oasis-nav-left{display:none;gap:1.75rem;flex:1}
@media(min-width:900px){.oasis-nav-left{display:flex}}
.oasis-nav-left a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;transition:color .2s}
.oasis-nav-left a:hover{color:var(--oasis-pink)}
.oasis-logo{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center}
.oasis-logo img{width:150px;height:auto;object-fit:contain}
.oasis-nav-right{display:flex;align-items:center;gap:.75rem;flex:1;justify-content:flex-end}
.oasis-icon-btn{background:none;border:0;cursor:pointer;color:var(--oasis-charcoal);display:inline-flex;align-items:center;position:relative;padding:.35rem}
.oasis-icon-btn:hover{color:var(--oasis-pink)}
.oasis-cart-count{position:absolute;top:-2px;right:-6px;background:var(--oasis-pink);color:#fff;font-size:.62rem;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}

.oasis-searchbar{border-top:1px solid var(--oasis-line);background:var(--oasis-cream)}
.oasis-searchbar-inner{max-width:80rem;margin:0 auto;padding:1rem 1.5rem}
.oasis-search{display:flex;gap:.5rem}
.oasis-search input[type=search]{flex:1;padding:.75rem 1rem;border:1px solid var(--oasis-line);background:#fff;font-size:.9rem;font-family:inherit}
.oasis-search input[type=search]:focus{outline:none;border-color:var(--oasis-pink)}
.oasis-search button{padding:.75rem 1.5rem;background:var(--oasis-charcoal);color:#fff;border:0;cursor:pointer;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;font-family:inherit}
.oasis-search button:hover{background:var(--oasis-pink)}

.oasis-announce{background:var(--oasis-pink);color:#fff;display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;padding:.7rem 1rem;font-size:.78rem;letter-spacing:.04em}

/* ---------------------------------------------------------- hero */
.oasis-hero{background:var(--oasis-cream);text-align:center;padding:4.5rem 1.5rem}
.oasis-eyebrow{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--oasis-muted);margin:0 0 1rem}
.oasis-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .75rem}
.oasis-sub{color:var(--oasis-muted);font-size:.95rem;margin:0 0 2rem}
.oasis-btn,.oasis-body a.oasis-btn{display:inline-block;background:var(--oasis-pink);color:#fff;padding:.9rem 2.5rem;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;border-radius:2px;transition:background .2s}
.oasis-btn:hover{background:var(--oasis-charcoal)}

.oasis-h1{font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin:0 0 1.5rem}

/* ---------------------------------------------------------- product grid */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;list-style:none;margin:0;padding:0}
@media(min-width:768px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
.woocommerce ul.products li.product{margin:0!important;padding:0!important;width:auto!important;float:none!important;text-align:center;list-style:none}
.woocommerce ul.products li.product a img{aspect-ratio:3/4;object-fit:cover;width:100%;margin:0 0 .85rem;background:#f5f5f5;transition:transform .5s}
.woocommerce ul.products li.product:hover a img{transform:scale(1.04)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Georgia,"Times New Roman",serif;font-size:1rem!important;font-weight:600;color:var(--oasis-charcoal);padding:0!important;margin:0 0 .35rem}
.woocommerce ul.products li.product .price{color:var(--oasis-charcoal)!important;font-size:.9rem;font-weight:400;display:block;margin-bottom:.75rem}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{display:inline-block;background:var(--oasis-charcoal);color:#fff;padding:.6rem 1.4rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;border-radius:2px;margin:0 .2rem}
.woocommerce ul.products li.product .button:hover{background:var(--oasis-pink);color:#fff}
.woocommerce span.onsale{background:var(--oasis-pink);color:#fff;border-radius:2px;min-height:auto;min-width:auto;line-height:1;padding:.45rem .8rem;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{color:var(--oasis-muted);font-size:.85rem}

/* ---------------------------------------------------------- single product */
.woocommerce div.product{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media(min-width:1024px){.woocommerce div.product{grid-template-columns:1fr 1fr;gap:4rem;align-items:start}}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product .product_title{font-family:Georgia,"Times New Roman",serif;font-size:2.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .6rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--oasis-charcoal)!important;font-size:1.6rem;font-weight:700;margin-bottom:1rem}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--oasis-muted);line-height:1.7;margin-bottom:1.25rem}
.woocommerce div.product form.cart{margin:1.5rem 0}
.woocommerce div.product form.cart .quantity input{padding:.7rem;border:1px solid var(--oasis-line);width:70px;text-align:center;font-family:inherit}
.woocommerce div.product form.cart .button,
.woocommerce .single_add_to_cart_button{background:var(--oasis-charcoal)!important;color:#fff!important;padding:1rem 2rem!important;font-size:.8rem!important;letter-spacing:.16em;text-transform:uppercase;font-weight:600;border-radius:2px;width:100%;margin-top:.75rem}
.woocommerce div.product form.cart .button:hover{background:var(--oasis-pink)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:2.5rem 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-bottom:2px solid transparent;border-radius:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--oasis-pink);background:none}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom:1px solid var(--oasis-line)}
.woocommerce-product-attributes th{text-align:left;color:var(--oasis-muted);font-weight:500}
.woocommerce div.product .product_meta{font-size:.8rem;color:var(--oasis-muted);margin-top:1rem}

/* full-width rows inside the single-product grid */
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related,
.woocommerce div.product > .upsells,
.woocommerce div.product > .woocommerce-message,
.woocommerce div.product > .woocommerce-notices-wrapper{grid-column:1 / -1}
.woocommerce div.product > .related,
.woocommerce div.product > .upsells{margin-top:2.5rem;border-top:1px solid var(--oasis-line);padding-top:2.5rem}
.woocommerce div.product > .related h2,
.woocommerce div.product > .upsells h2{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;font-weight:700;text-align:center;margin:0 0 2rem}

/* ---------------------------------------------------------- pack maker (slots + modal) */
.oasis-pm{background:var(--oasis-pink);border-radius:3px;padding:1.75rem 1.5rem;margin:0 0 1.5rem;text-align:center}
.oasis-pm-title{color:#fff;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin:0 0 1.25rem}
.oasis-pm-slots{display:flex;align-items:center;justify-content:center;gap:.5rem}
.oasis-pm-plus{color:#fff;font-size:1rem;opacity:.85}
.oasis-pm-slot{width:92px;height:92px;background:#fff;border:1px dashed rgba(17,17,17,.18);border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.4rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}
.oasis-pm-slot:hover{border-color:var(--oasis-charcoal);box-shadow:0 2px 10px rgba(0,0,0,.10)}
.oasis-pm-slot-empty{font-size:1.5rem;color:#b8b8b8;font-weight:300}
.oasis-pm-slot-name{display:none;font-size:.66rem;line-height:1.25;color:var(--oasis-charcoal);font-weight:500}
.oasis-pm-slot.is-filled{border-style:solid;border-color:var(--oasis-charcoal)}
.oasis-pm-slot.is-filled .oasis-pm-slot-empty{display:none}
.oasis-pm-slot.is-filled .oasis-pm-slot-name{display:block}
.oasis-pm-note{color:#fff;font-size:.78rem;margin:1.1rem 0 0;opacity:.92}

.oasis-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}
.oasis-modal[hidden]{display:none}
.oasis-modal-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.55)}
.oasis-modal-panel{position:relative;background:#fff;width:100%;max-width:520px;max-height:82vh;display:flex;flex-direction:column;border-radius:3px;box-shadow:0 20px 60px rgba(0,0,0,.28);overflow:hidden}
.oasis-modal-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;border-bottom:1px solid var(--oasis-line)}
.oasis-modal-title{margin:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.oasis-modal-x{background:none;border:0;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--oasis-muted);padding:0 .25rem}
.oasis-modal-x:hover{color:var(--oasis-charcoal)}
.oasis-modal-search{margin:1rem 1.25rem;padding:.75rem .9rem;border:1px solid var(--oasis-line);font-family:inherit;font-size:.9rem;border-radius:2px}
.oasis-modal-search:focus{outline:none;border-color:var(--oasis-pink)}
.oasis-modal-list{overflow-y:auto;padding:0 1.25rem 1.25rem;flex:1}
.oasis-modal-group{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oasis-muted);font-weight:600;margin:1rem 0 .5rem}
.oasis-modal-group[hidden]{display:none}
.oasis-modal-item{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #f2f2f2;padding:.7rem .25rem;font-family:inherit;font-size:.92rem;color:var(--oasis-charcoal);cursor:pointer}
.oasis-modal-item:hover{color:var(--oasis-pink)}
.oasis-modal-item[hidden]{display:none}
.oasis-modal-empty{padding:0 1.25rem 1.25rem;color:var(--oasis-muted);font-size:.88rem}

/* ---------------------------------------------------------- cart / checkout */
.woocommerce table.shop_table{border:1px solid var(--oasis-line);border-radius:2px}
.woocommerce table.shop_table th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.woocommerce table.cart img{width:70px}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-billing-fields h3,#order_review_heading{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.woocommerce .button,.woocommerce input[type=submit],.woocommerce a.button,.woocommerce button.button{background:var(--oasis-charcoal);color:#fff;border-radius:2px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:.85rem 1.8rem}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--oasis-pink);color:#fff}
.woocommerce .checkout-button,.woocommerce #place_order{background:var(--oasis-pink)!important;color:#fff!important;font-size:.85rem!important;padding:1rem 2rem!important;width:100%}
.woocommerce .checkout-button:hover,.woocommerce #place_order:hover{background:var(--oasis-charcoal)!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single{padding:.7rem .85rem;border:1px solid var(--oasis-line);font-family:inherit;border-radius:2px;height:auto}
.woocommerce form .form-row label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oasis-muted);font-weight:500}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--oasis-pink);background:var(--oasis-cream)}
.woocommerce-info::before,.woocommerce-message::before{color:var(--oasis-pink)}
#payment,.woocommerce-checkout #payment{background:var(--oasis-cream);border-radius:2px}
#payment ul.payment_methods{border-bottom:1px solid var(--oasis-line)}
.wc-block-components-notice-banner{border-color:var(--oasis-pink)}

/* ---------------------------------------------------------- misc */
.oasis-postlist{display:grid;gap:1.5rem}
.oasis-postcard{border-bottom:1px solid var(--oasis-line);padding-bottom:1.25rem}
.oasis-postcard h2{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;margin:0 0 .4rem}
.oasis-postcard h2 a:hover{color:var(--oasis-pink)}
.oasis-excerpt{color:var(--oasis-muted);font-size:.9rem}
.oasis-empty{color:var(--oasis-muted)}
.oasis-content{line-height:1.75;color:#333}

.oasis-footer{background:var(--oasis-charcoal);color:#fff;margin-top:4rem;padding:3rem 1.5rem 1.5rem}
.oasis-footer-inner{max-width:80rem;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.oasis-footer-inner{grid-template-columns:1fr 2fr}}
.oasis-footer h4{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin:0 0 1rem}
.oasis-footer a{display:block;color:rgba(255,255,255,.72);font-size:.88rem;margin-bottom:.5rem}
.oasis-footer a:hover{color:var(--oasis-pink)}
.oasis-footer p{color:rgba(255,255,255,.72);font-size:.88rem;margin:0 0 .5rem;max-width:38rem}
.oasis-footer-bottom{max-width:80rem;margin:2.5rem auto 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.14);font-size:.8rem;color:rgba(255,255,255,.55);text-align:center}

/* ------------------------------------------------- header "Boutique" dropdown
   The mirror opened this panel from React state; the scripts are stripped, so the
   snapshot is frozen in its closed state (opacity-0 invisible -translate-y-2).
   Drive the same open state from CSS on hover / focus-within. No markup changes:
   these selectors only target classes that already exist in the mirror header. */

/* invisible bridge across the panel's mt-3 gap so the pointer can travel
   from the button to the panel without :hover dropping */
header nav .relative > .absolute.opacity-0.invisible::before{
  content:"";position:absolute;left:0;right:0;top:-.75rem;height:.75rem;
}

header nav .relative:hover > .absolute.opacity-0.invisible,
header nav .relative:focus-within > .absolute.opacity-0.invisible{
  opacity:1;                /* .opacity-100 */
  visibility:visible;       /* .visible     */
  --tw-translate-y:0px;     /* .translate-y-0 */
}

header nav .relative:hover > button .lucide-chevron-down,
header nav .relative:focus-within > button .lucide-chevron-down{
  --tw-rotate:180deg;       /* .rotate-180 */
  transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* ---------------------------------------------------------- product description
   Tailwind preflight zeroes p/ul/li margins and strips list markers, which collapses
   the WooCommerce description HTML into a run-on block. Restore flow inside the
   mirror's description container only. */
.text-base.text-muted.font-light.leading-relaxed > p{margin:0 0 .85rem}
.text-base.text-muted.font-light.leading-relaxed > p:last-child{margin-bottom:0}
.text-base.text-muted.font-light.leading-relaxed ul{list-style:disc;margin:0 0 .85rem;padding-left:1.15rem}
.text-base.text-muted.font-light.leading-relaxed ol{list-style:decimal;margin:0 0 .85rem;padding-left:1.15rem}
.text-base.text-muted.font-light.leading-relaxed li{margin:0 0 .3rem}
.text-base.text-muted.font-light.leading-relaxed strong{font-weight:600;color:var(--oasis-charcoal)}
.text-base.text-muted.font-light.leading-relaxed em{font-style:italic}
