/*
Theme Name: NOCTURNE Private Wellness
Theme URI: https://private-wellness-store.learnwebsite0901.chatgpt.site
Author: NOCTURNE
Description: A Gutenberg-ready WooCommerce theme for a discreet adult wellness store. Includes responsive shopping, age verification, product filters, and editable block layouts.
Version: 2.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nocturne-wellness
Tags: e-commerce, block-styles, custom-logo, custom-menu, featured-images, full-width-template, one-column, two-columns, translation-ready
*/

:root {
  --paper: #f6f2ed;
  --paper-2: #eee8e2;
  --ink: #181419;
  --plum: #4a2b45;
  --wine: #693a50;
  --gold: #c6a46c;
  --muted: #756d73;
  --line: #d9d0ca;
  --white: #fff;
  --nocturne-width: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.nocturne-lock { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; padding: 10px 15px; margin: 8px; background: #fff; color: #000; z-index: 99999; }
.page-width, .alignwide { width: min(calc(100% - 80px), var(--nocturne-width)); margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; max-width: none; }
.site-main { min-height: 50vh; }
.site-main > .entry-content { margin: 0; }
.entry-content > *:not(.alignfull):not(.alignwide):not(.nocturne-page-hero) { max-width: var(--nocturne-width); }
.entry-content > .wp-block-group.alignfull { margin-left: 0; margin-right: 0; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content > *:last-child { margin-bottom: 0; }

/* Header */
.announcement { min-height: 30px; padding: 6px 20px; background: var(--ink); color: #eee8e2; display: flex; align-items: center; justify-content: center; gap: 11vw; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.site-header { height: 78px; padding: 0 38px; background: rgba(246,242,237,.97); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 210px 1fr 210px; align-items: center; position: sticky; top: 0; z-index: 90; backdrop-filter: blur(12px); }
.admin-bar .site-header { top: 32px; }
.brand { display: inline-flex; width: max-content; flex-direction: column; align-items: center; color: var(--ink); }
.brand .custom-logo { display: block; max-height: 48px; width: auto; }
.brand-word { font-family: Georgia, "Times New Roman", serif; font-size: 24px; letter-spacing: .26em; line-height: 1; }
.brand small { margin-top: 5px; font-size: 7px; letter-spacing: .34em; color: var(--muted); }
.primary-navigation { justify-self: center; }
.primary-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 31px; }
.primary-navigation a { position: relative; display: block; padding: 30px 0 27px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.primary-navigation .current-menu-item > a::after, .primary-navigation a:hover::after { content: ""; position: absolute; left: 0; right: 0; bottom: 21px; height: 1px; background: var(--wine); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.header-icon { position: relative; display: inline-grid; place-items: center; width: 30px; height: 36px; border: 0; background: transparent; cursor: pointer; color: var(--ink); }
.header-icon svg { width: 19px; height: 19px; stroke: currentColor; fill: none; stroke-width: 1.5; }
.cart-count { position: absolute; right: -1px; top: 1px; min-width: 16px; height: 16px; padding: 0 4px; display: grid; place-items: center; border-radius: 30px; background: var(--wine); color: #fff; font-size: 8px; font-style: normal; }
.mobile-menu-toggle { display: none; }
/* Shared elements */
.eyebrow { display: block; color: var(--wine); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow.light { color: var(--gold); }
.nocturne-heading, .section-heading h2, .nocturne-section-title { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.nocturne-button .wp-block-button__link, .primary, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wp-element-button { min-height: 46px; padding: 0 24px; border: 0; border-radius: 0; display: inline-flex; align-items: center; justify-content: center; gap: 14px; background: var(--ink); color: #fff; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; }
.nocturne-button .wp-block-button__link:hover, .primary:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--wine); color: #fff; transform: translateY(-1px); }
.view-all { display: inline-flex; align-items: center; gap: 12px; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; border-bottom: 1px solid var(--ink); padding-bottom: 5px; }
.section-heading { margin-bottom: 38px; display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; }
.section-heading h2 { margin: 8px 0 5px; font-size: 40px; line-height: 1.14; }
.section-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.nocturne-section { padding: 92px 0 100px; }
.breadcrumbs, .woocommerce-breadcrumb { display: flex; align-items: center; gap: 10px; padding: 19px 0; color: var(--muted); font-size: 9px; border-bottom: 1px solid var(--line); }
.breadcrumbs a, .woocommerce-breadcrumb a { color: var(--ink); }

/* Gutenberg home */
.nocturne-home-hero { min-height: min(900px, calc(100svh - 108px)); position: relative; display: flex; align-items: center; overflow: hidden; background: #20181f; color: #fff; }
.nocturne-home-hero .wp-block-cover__image-background { object-position: 50% 50%; }
.nocturne-home-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(18,13,20,.84), rgba(18,13,20,.42) 55%, rgba(18,13,20,.06)) !important; opacity: 1 !important; }
.nocturne-home-hero .wp-block-cover__inner-container { width: min(calc(100% - 80px), var(--nocturne-width)); }
.nocturne-hero-copy { max-width: 650px; }
.nocturne-home-hero h1 { margin: 19px 0 20px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 5.2vw, 82px); line-height: 1.05; font-weight: 400; letter-spacing: -.02em; }
.nocturne-home-hero p { max-width: 570px; margin: 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.8; }
.nocturne-home-hero .wp-block-buttons { margin-top: 32px; gap: 23px; }
.nocturne-home-hero .is-style-outline .wp-block-button__link { background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.7); padding: 0 0 5px; min-height: 0; }
.nocturne-trust-bar { width: min(calc(100% - 80px), var(--nocturne-width)); margin: 0 auto; display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 0 !important; }
.nocturne-trust-item { min-height: 112px; padding: 22px 30px !important; border-right: 1px solid var(--line); display: grid !important; grid-template-columns: 42px 1fr; gap: 14px !important; align-items: center; }
.nocturne-trust-item:last-child { border-right: 0; }
.nocturne-trust-item > p:first-child { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--wine); border-radius: 50%; color: var(--wine); font-family: Georgia, serif; }
.nocturne-trust-item p { margin: 0; }
.nocturne-trust-item strong { display: block; font-size: 11px; }
.nocturne-trust-item small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; }
.nocturne-dark-band { padding: 88px 0 96px; background: var(--ink); color: #fff; }
.nocturne-dark-band .section-heading p { color: rgba(255,255,255,.55); }
.nocturne-scene-grid { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 1px !important; background: rgba(255,255,255,.13); }
.nocturne-scene-card { min-height: 300px; padding: 30px !important; position: relative; display: flex !important; flex-direction: column; justify-content: space-between; background: #231e24; transition: background .25s ease, transform .25s ease; }
.nocturne-scene-card:hover { background: #322932; transform: translateY(-3px); }
.nocturne-scene-card > p:first-child { margin: 0; color: rgba(255,255,255,.34); font-family: Georgia, serif; font-size: 35px; }
.nocturne-scene-card h3 { margin: 8px 0; font-family: Georgia, serif; font-size: 27px; font-weight: 400; }
.nocturne-scene-card p { color: rgba(255,255,255,.54); font-size: 10px; line-height: 1.65; }
.nocturne-scene-card .wp-block-button__link { padding: 0; min-height: 0; background: none; color: var(--gold); font-size: 8px; }
.nocturne-campaign { width: min(calc(100% - 80px), var(--nocturne-width)); margin: 0 auto 105px; display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 !important; background: var(--plum); color: #fff; }
.nocturne-campaign-art { min-height: 520px; position: relative; overflow: hidden; display: grid; place-items: center; background: radial-gradient(circle at 20% 20%, #7d5872 0 2%, transparent 34%), radial-gradient(circle at 76% 70%, #b58d87 0 4%, transparent 35%), #2a1e29; }
.nocturne-campaign-art::before, .nocturne-campaign-art::after { content: ""; position: absolute; border: 1px solid rgba(198,164,108,.35); border-radius: 50%; width: 380px; height: 380px; }
.nocturne-campaign-art::before { left: -150px; top: -130px; }.nocturne-campaign-art::after { right: -130px; bottom: -160px; }
.nocturne-campaign-art h2 { position: relative; z-index: 1; margin: 0; color: rgba(255,255,255,.8); font-family: Georgia, serif; font-size: 62px; line-height: .9; letter-spacing: .06em; text-align: center; }
.nocturne-campaign-copy { padding: 75px 68px !important; display: flex; flex-direction: column; justify-content: center; }
.nocturne-campaign-copy h2 { margin: 13px 0 20px; font-family: Georgia, serif; font-size: 42px; line-height: 1.15; font-weight: 400; }
.nocturne-campaign-copy > p { color: rgba(255,255,255,.62); font-size: 11px; line-height: 1.75; }
.nocturne-countdown { display: flex; gap: 12px; margin: 29px 0; }
.nocturne-countdown span { width: 68px; padding: 11px 4px; border: 1px solid rgba(255,255,255,.2); display: flex; flex-direction: column; align-items: center; }
.nocturne-countdown b { font-family: Georgia, serif; font-size: 25px; font-weight: 400; }.nocturne-countdown small { margin-top: 4px; color: var(--gold); font-size: 7px; }
.nocturne-reviews { padding: 92px 0 105px; background: #eee8e2; }
.nocturne-review-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 14px !important; }
.nocturne-review-card { min-height: 270px; padding: 31px !important; background: var(--paper); display: flex !important; flex-direction: column; }
.nocturne-review-card h3 { margin: 20px 0 11px; font-family: Georgia, serif; font-size: 20px; font-weight: 400; }
.nocturne-review-card > p { color: var(--muted); font-family: Georgia, serif; font-size: 12px; line-height: 1.8; }
.nocturne-review-card > p:last-child { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); font-family: inherit; font-size: 9px; }
.stars { color: var(--wine); letter-spacing: .12em; }

/* Gutenberg brand story */
.nocturne-brand-story { padding:0; background:#e9e1dc; }.nocturne-brand-story__inner { width:min(calc(100% - 80px),var(--nocturne-width)); margin:0 auto; padding:88px 0; display:grid!important; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:0!important; align-items:stretch; }.nocturne-brand-story__art { min-height:560px; }.nocturne-brand-story__art .wp-block-cover__image-background { object-position:50% 56%; }.nocturne-brand-story__art .wp-block-cover__inner-container { height:100%; display:flex; align-items:flex-end; }.nocturne-brand-mark { margin:0 0 34px 34px; color:#fff; font-family:Georgia,serif; font-size:76px; line-height:.7; letter-spacing:.08em; }.nocturne-brand-mark small { font-family:Arial,sans-serif; font-size:8px; letter-spacing:.28em; }.nocturne-brand-story__copy { padding:74px 68px!important; background:var(--ink); color:#fff; display:flex!important; flex-direction:column; justify-content:center; }.nocturne-brand-story__copy .eyebrow { color:var(--gold); }.nocturne-brand-story__copy h2 { max-width:470px; margin:14px 0 25px; font-family:Georgia,serif; font-size:43px; font-weight:400; line-height:1.15; }.nocturne-brand-story__copy > p:not(.eyebrow) { max-width:500px; margin:0 0 18px; color:rgba(255,255,255,.68); font-size:13px; line-height:1.85; }.nocturne-brand-story__copy .wp-block-button { margin-top:15px; }.nocturne-brand-story__copy .wp-block-button__link { border-color:var(--gold); background:var(--gold); color:var(--ink); }

/* WooCommerce product grids */
.woocommerce ul.products, .woocommerce-page ul.products { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 45px 18px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none; width: auto; margin: 0; padding: 0; }
.woocommerce ul.products li.product.nocturne-product-card, .woocommerce-page ul.products li.product.nocturne-product-card { position: relative; display: flex; flex-direction: column; }
.nocturne-product-media { position: relative; aspect-ratio: 1 / 1.12; display: grid; place-items: center; overflow: hidden; background: #e6ddd8; }
.nocturne-product-media img { width: 100%; height: 100%; margin: 0 !important; object-fit: cover; transition: transform .45s ease; }
.nocturne-product-card:hover .nocturne-product-media img { transform: scale(1.025); }
.nocturne-product-badge { position: absolute; left: 12px; top: 12px; z-index: 2; padding: 7px 9px; background: var(--wine); color: #fff; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.nocturne-heart { position: absolute; right: 12px; top: 12px; z-index: 2; width: 31px; height: 31px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.82); cursor: pointer; }
.nocturne-product-copy { padding-top: 16px; display: flex; flex: 1; flex-direction: column; }
.nocturne-product-copy .eyebrow { min-height: 14px; font-size: 10px; line-height: 1.4; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; margin: 8px 0 9px; padding: 0; color: var(--ink); font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; }
.woocommerce ul.products li.product .price { display: inline-flex; flex-wrap: nowrap; align-items: baseline; gap: 7px; margin: 0; color: var(--ink); font-family: Georgia, serif; font-size: 18px; line-height: 1.2; white-space: nowrap; }
.woocommerce ul.products li.product .price ins { order: 1; color: var(--ink); font-weight: 600; text-decoration: none !important; }.woocommerce ul.products li.product .price del { order: 2; color: var(--muted); font-size: 13px; opacity: 1; text-decoration-thickness: 1px; }
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol { margin-right: 1px; font-family: Arial, sans-serif; font-size: .78em; }
.nocturne-card-bottom { min-height: 40px; margin-top: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 10px; }
.nocturne-card-bottom > div { min-width: 0; flex: 0 1 auto; }
.nocturne-mini-add, .woocommerce ul.products li.product .button.nocturne-mini-add { position: relative; flex: 0 0 40px; width: 40px; min-width: 40px; height: 40px; min-height: 40px; margin: 0; padding: 0; display: grid; place-items: center; border-radius: 50%; font-family: Arial, sans-serif; font-size: 20px; line-height: 1; letter-spacing: 0; }
.nocturne-card-bottom .added_to_cart { display: none !important; }
.woocommerce ul.products li.product .button.nocturne-mini-add.added::after { content: none !important; display: none !important; margin: 0 !important; }
.woocommerce ul.products li.product .button.nocturne-mini-add.added { padding: 0; }
.woocommerce ul.products li.product .button.nocturne-mini-add.loading { padding: 0; font-size: 0; }
.woocommerce ul.products li.product .button.nocturne-mini-add.loading::after { position: static; margin: 0; font-size: 16px; }
.nocturne-sales { display: block; min-height: 15px; margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.woocommerce span.onsale { display: none; }

/* Shop archive and filters */
.nocturne-shop { padding-bottom: 115px; }
.collection-title { padding: 48px 0 38px; display: flex; align-items: flex-end; justify-content: space-between; }
.collection-title h1 { margin: 9px 0 8px; font-family: Georgia, serif; font-size: 50px; line-height: 1.1; font-weight: 400; }.collection-title p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }.collection-title > span { color: var(--muted); font-size: 12px; }
.collection-title .eyebrow { font-size: 12px; }
.nocturne-shop > .woocommerce-breadcrumb { font-size: 12px; }
.quick-tags { min-height: 70px; padding: 13px 0; display: flex; align-items: center; gap: 10px; border-block: 1px solid var(--line); overflow-x: auto; }.quick-tags > span { margin-right: 8px; font-size: 12px; font-weight: 700; white-space: nowrap; }.quick-tags a { min-height: 40px; padding: 0 17px; border: 1px solid var(--line); background: #fff; display: inline-flex; align-items: center; font-size: 12px; white-space: nowrap; }
.collection-layout { display: grid; grid-template-columns: 245px 1fr; gap: 48px; padding-top: 45px; align-items: start; }
.mobile-filter-toggle { display: none; }
.shop-filters { position: sticky; top: 108px; }
.admin-bar .shop-filters { top: 140px; }
.filter-title { display: flex; justify-content: space-between; align-items: center; padding: 0 0 16px; border-bottom: 1px solid var(--ink); }.filter-title strong { font-family: Georgia, serif; font-size: 24px; font-weight: 400; }.filter-title a { color: var(--muted); font-size: 12px; text-decoration: underline; }
.filter-group { padding: 24px 0; border-bottom: 1px solid var(--line); }.filter-group h3 { margin: 0 0 15px; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }.filter-group label { min-height: 34px; padding: 6px 0; display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; line-height: 1.35; cursor: pointer; }.filter-group input { width: 16px; height: 16px; flex: 0 0 16px; accent-color: var(--wine); }.filter-submit { width: 100%; margin-top: 18px; }
.shop-results { min-width: 0; position: relative; }.sort-row { min-height: 46px; margin-bottom: 24px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 12px; line-height: 1.4; }.sort-row .woocommerce-ordering { margin: 0; }.sort-row select { min-width: 180px; min-height: 40px; padding: 8px 34px 8px 12px; border: 1px solid var(--line); background: var(--paper); font-size: 12px; }
.woocommerce .nocturne-shop .collection-layout .shop-results ul.products { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 48px 20px; }
.woocommerce-pagination { margin-top: 55px; }.woocommerce nav.woocommerce-pagination ul { border: 0; }.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0 3px; }.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 35px; padding: 10px; border: 1px solid var(--line); }.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ink); color: #fff; }
.shop-loading { position: absolute; inset: 45px 0 0; z-index: 5; display: none; grid-template-columns: repeat(3,1fr); gap: 14px; background: var(--paper); }.is-filtering .shop-loading { display: grid; }.shop-loading i { display: block; height: 330px; background: linear-gradient(90deg,#e8e1dc 25%,#f2ede9 50%,#e8e1dc 75%); background-size: 200% 100%; animation: nocturneShimmer 1.2s infinite; }
@keyframes nocturneShimmer { to { background-position: -200% 0; } }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--wine); background: #eee8e2; color: var(--ink); }.woocommerce-info::before, .woocommerce-message::before { color: var(--wine); }
.nocturne-empty { padding: 80px 25px; background: var(--paper-2); text-align: center; }.nocturne-empty h2 { font-family: Georgia, serif; font-weight: 400; }
.hot-strip { margin-top: 100px; padding-top: 75px; border-top: 1px solid var(--line); }

/* Product detail */
.single-product .site-main { padding-bottom: 90px; }
.single-product div.product { width: min(calc(100% - 80px), var(--nocturne-width)); margin: 0 auto; padding: 55px 0 0; display: grid; grid-template-columns: 1.08fr .92fr; gap: 76px; }
.single-product div.product .woocommerce-product-gallery { float: none; width: auto; margin: 0; }
.woocommerce-product-gallery__wrapper { margin: 0; }.woocommerce-product-gallery__image { background: #e7ded9; }.woocommerce-product-gallery__image a { display: block; }.woocommerce-product-gallery__image img { width: 100%; }
.woocommerce-product-gallery .flex-control-thumbs { margin-top: 10px !important; display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }.woocommerce-product-gallery .flex-control-thumbs li { float: none !important; width: auto !important; }.woocommerce-product-gallery .flex-control-thumbs img { border: 1px solid transparent; opacity: .68; }.woocommerce-product-gallery .flex-control-thumbs img.flex-active { border-color: var(--wine); opacity: 1; }
.single-product div.product .summary { float: none; width: auto; margin: 0; padding: 18px 0 0; }
.single-product div.product .product_title { margin: 10px 0 13px; font-family: Georgia, serif; font-size: 44px; line-height: 1.12; font-weight: 400; }
.woocommerce-product-rating { font-size: 10px; }.woocommerce .star-rating { color: var(--wine); }
.single-product div.product p.price { margin: 22px 0; color: var(--ink); font-family: Georgia, serif; font-size: 30px; }.single-product div.product p.price del { color: var(--muted); font-size: 17px; }.single-product div.product p.price ins { text-decoration: none; }
.woocommerce-product-details__short-description { color: var(--muted); font-size: 12px; line-height: 1.85; }
.nocturne-detail-points { margin: 26px 0; padding: 15px 0; display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--line); text-align: center; }.nocturne-detail-points span { padding: 7px; border-right: 1px solid var(--line); font-size: 8px; }.nocturne-detail-points span:last-child { border: 0; }.nocturne-detail-points b { display: block; margin-bottom: 4px; color: var(--wine); font-size: 15px; }
.single-product form.cart { margin: 25px 0 !important; display: flex; gap: 10px; }.single-product form.cart .quantity input { height: 48px; border: 1px solid var(--line); background: transparent; }.single-product form.cart .single_add_to_cart_button { flex: 1; min-height: 48px; background: var(--ink); }
.product_meta { color: var(--muted); font-size: 9px; line-height: 1.8; }.product_meta a { text-decoration: underline; }
.nocturne-single-privacy { margin-top: 25px; padding: 17px; border: 1px solid rgba(105,58,80,.2); color: var(--wine); font-size: 9px; line-height: 1.6; }
.woocommerce-tabs { grid-column: 1 / -1; padding-top: 75px; }.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--line); }.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; border-radius: 0; background: none; margin: 0 30px 0 0; padding: 0; }.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 15px 0; font-size: 10px; text-transform: uppercase; }.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--wine); border-bottom: 1px solid var(--wine); }.woocommerce-Tabs-panel { padding: 25px 0; color: var(--muted); font-size: 12px; line-height: 1.85; }
.related.products { grid-column: 1 / -1; padding-top: 70px; }.related.products > h2 { margin-bottom: 32px; font-family: Georgia, serif; font-size: 35px; font-weight: 400; }
.nocturne-mobile-buy { display: none; }

/* Page blocks */
.nocturne-page-hero { min-height: 350px; padding: 55px 25px; background: linear-gradient(120deg,#181319,#493149); color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; position: relative; overflow: hidden; }.nocturne-page-hero::before,.nocturne-page-hero::after { content:""; position:absolute; width:400px; height:400px; border:1px solid rgba(198,164,108,.2); border-radius:50%; }.nocturne-page-hero::before { left:-170px; top:-230px; }.nocturne-page-hero::after { right:-140px; bottom:-290px; }.nocturne-page-hero .wp-block-group__inner-container { position: relative; z-index: 1; }.nocturne-page-hero h1 { margin: 15px 0 10px; font-family: Georgia,serif; font-size: 47px; font-weight: 400; }.nocturne-page-hero p { color:rgba(255,255,255,.62); font-size:12px; }
.nocturne-faq-layout { width:min(calc(100% - 80px),1100px); margin:0 auto; padding:90px 0 120px; display:grid !important; grid-template-columns:245px 1fr; gap:80px !important; }.nocturne-faq-nav { border-top:1px solid var(--line); }.nocturne-faq-nav a { display:flex; justify-content:space-between; padding:17px 8px; border-bottom:1px solid var(--line); font-size:11px; }.nocturne-faq-main h2 { margin:12px 0 30px; font-family:Georgia,serif; font-size:35px; font-weight:400; }.nocturne-faq-main details { margin:0; padding:0; border-top:1px solid var(--line); }.nocturne-faq-main details:last-child { border-bottom:1px solid var(--line); }.nocturne-faq-main summary { padding:24px 6px; font-size:13px; font-weight:600; cursor:pointer; }.nocturne-faq-main details p { margin:0 40px 23px 6px; color:var(--muted); font-size:12px; line-height:1.85; }
.nocturne-contact-layout { width:min(calc(100% - 80px),1200px); margin:0 auto; padding:100px 0 120px; display:grid !important; grid-template-columns:1fr .9fr; gap:110px !important; }.nocturne-contact-layout h2 { margin:12px 0; font-family:Georgia,serif; font-size:36px; line-height:1.4; font-weight:400; }.nocturne-contact-layout p { color:var(--muted); font-size:12px; line-height:1.8; }.nocturne-contact-cards { margin-top:35px; display:grid !important; grid-template-columns:1fr 1fr; gap:12px !important; }.nocturne-contact-card { padding:23px !important; background:#eee8e2; }.nocturne-contact-card p { margin:5px 0; }.nocturne-contact-form { padding:38px; background:#fff; border:1px solid var(--line); }.nocturne-contact-form label { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; font-size:10px; font-weight:600; }.nocturne-contact-form input,.nocturne-contact-form select,.nocturne-contact-form textarea { width:100%; padding:12px 13px; border:1px solid var(--line); background:var(--paper); }.nocturne-contact-form .consent { display:flex; flex-direction:row; align-items:flex-start; font-weight:400; color:var(--muted); }.nocturne-contact-form .consent input { width:auto; margin-top:2px; }.nocturne-form-status { margin-bottom:18px; padding:12px; background:#e5eee7; color:#245d35; font-size:11px; }
.nocturne-policy { width:min(calc(100% - 40px),900px); margin:0 auto; padding:85px 0 110px; }.nocturne-policy h2 { margin-top:50px; font-family:Georgia,serif; font-weight:400; }.nocturne-policy p,.nocturne-policy li { color:var(--muted); font-size:12px; line-height:1.9; }.nocturne-settings-list { border-top:1px solid var(--line); }.nocturne-setting { padding:20px 5px !important; border-bottom:1px solid var(--line); display:grid !important; grid-template-columns:1fr auto; gap:25px !important; align-items:center; }.nocturne-setting p { margin:0; }.nocturne-toggle-wrap .wp-block-button__link { width:44px; min-width:44px; height:24px; min-height:24px; padding:3px; border:0; border-radius:20px; background:#c7c1c4; color:transparent; font-size:0; cursor:pointer; }.nocturne-toggle-wrap .wp-block-button__link::before { content:""; display:block; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .2s; }.nocturne-toggle-wrap .wp-block-button__link.is-on,.nocturne-toggle-wrap.is-locked .wp-block-button__link { background:var(--wine); }.nocturne-toggle-wrap .wp-block-button__link.is-on::before,.nocturne-toggle-wrap.is-locked .wp-block-button__link::before { transform:translateX(20px); }.nocturne-toggle-wrap.is-locked .wp-block-button__link { cursor:not-allowed; }

/* Cart, checkout and account */
.woocommerce-cart .site-main,.woocommerce-checkout .site-main,.woocommerce-account .site-main { width:min(calc(100% - 80px),1200px); margin:0 auto; padding:70px 0 120px; }.woocommerce-cart h1,.woocommerce-checkout h1,.woocommerce-account h1,.page-title { font-family:Georgia,serif; font-size:44px; font-weight:400; }
.woocommerce table.shop_table { border:0; border-radius:0; border-collapse:collapse; }.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:18px 12px; border-top:1px solid var(--line); vertical-align:middle; font-size:13px; }.woocommerce table.shop_table th { color:var(--ink); font-weight:700; }.woocommerce table.shop_table img { width:100px; background:#e7ded9; }.woocommerce a.remove { color:var(--wine)!important; }
.woocommerce .woocommerce-Price-amount,.woocommerce .woocommerce-Price-amount bdi { display:inline-block; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; }.woocommerce .woocommerce-Price-currencySymbol { margin-right:2px; font-family:Arial,sans-serif; font-size:.82em; }.woocommerce-cart .product-price .amount,.woocommerce-cart .product-subtotal .amount,.woocommerce-cart .cart_totals .amount,.woocommerce-checkout #order_review .amount { font-family:Georgia,serif; font-size:16px; }.woocommerce-cart .cart_totals .order-total .amount,.woocommerce-checkout #order_review .order-total .amount { font-size:20px; font-weight:700; }
.woocommerce-cart table.cart td.actions { padding:18px 0; }.woocommerce-cart table.cart td.actions .coupon { display:none!important; }.woocommerce-cart table.cart td.actions button[name="update_cart"] { min-width:154px; min-height:46px; padding:0 22px!important; float:right; border:1px solid var(--ink)!important; background:var(--ink)!important; color:#fff!important; opacity:1!important; font-size:12px!important; font-weight:700!important; letter-spacing:.08em; text-transform:uppercase; }.woocommerce-cart table.cart td.actions button[name="update_cart"]:disabled,.woocommerce-cart table.cart td.actions button[name="update_cart"]:disabled[disabled] { border-color:#8a8387!important; background:#8a8387!important; color:#fff!important; opacity:1!important; cursor:not-allowed; }
.woocommerce-cart .cart-collaterals { margin-top:10px; }.woocommerce-cart .cart-collaterals .cart_totals { width:42%; max-width:500px; padding:30px; background:#eee8e2; }.woocommerce-cart .cart-collaterals h2 { margin-top:0; font-family:Georgia,serif; font-weight:400; }.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height:50px; display:grid; place-items:center; background:var(--ink); font-size:12px; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single { padding:12px; border:1px solid var(--line); border-radius:0; background:#fff; min-height:44px; }.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register { border:1px solid var(--line); border-radius:0; }
.woocommerce-checkout #customer_details > .col-1,.woocommerce-checkout #customer_details > .col-2 { width:100%; float:none; padding:30px; border:1px solid var(--line); background:#eee8e2; }.woocommerce-checkout #customer_details > .col-2 { margin-top:18px; }.woocommerce-checkout #customer_details h3 { margin-top:0; font-family:Georgia,serif; font-size:27px; font-weight:400; }.woocommerce-checkout #customer_details label { margin-bottom:7px; color:var(--ink); font-size:12px; font-weight:600; }.woocommerce-checkout #customer_details .form-row { margin-bottom:14px; }.woocommerce-checkout #customer_details input.input-text,.woocommerce-checkout #customer_details textarea,.woocommerce-checkout #customer_details select,.woocommerce-checkout #customer_details .select2-selection--single { width:100%; border:1px solid #cfc5bf!important; background:#fff!important; color:var(--ink)!important; box-shadow:none!important; }.woocommerce-checkout #customer_details input.input-text:focus,.woocommerce-checkout #customer_details textarea:focus,.woocommerce-checkout #customer_details .select2-container--focus .select2-selection--single { border-color:var(--wine)!important; outline:2px solid rgba(105,58,80,.12); outline-offset:0; }.woocommerce-checkout #customer_details textarea { min-height:110px; resize:vertical; }.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { padding-left:0; color:var(--ink); line-height:42px; }.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height:42px; }.woocommerce-checkout #customer_details input:-webkit-autofill,.woocommerce-checkout #customer_details input:-webkit-autofill:hover,.woocommerce-checkout #customer_details input:-webkit-autofill:focus { -webkit-text-fill-color:var(--ink); -webkit-box-shadow:0 0 0 1000px #fff inset!important; transition:background-color 9999s ease-out 0s; }
.woocommerce-checkout #customer_details { width:58%; float:left; }.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { width:38%; float:right; }.woocommerce-checkout #order_review { padding:25px; background:#eee8e2; }.woocommerce-checkout #order_review_heading { margin-top:0; font-family:Georgia,serif; font-size:28px; font-weight:400; }.woocommerce-checkout #order_review table { table-layout:fixed; }.woocommerce-checkout #order_review td:last-child,.woocommerce-checkout #order_review th:last-child { text-align:right; }.woocommerce-checkout #payment { background:#e3ddd8; border-radius:0; }.woocommerce-checkout #payment div.payment_box { background:#d5cdc7; }.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:#d5cdc7; }.woocommerce-checkout #place_order { width:100%; min-height:50px; background:var(--ink); font-size:12px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width:24%; }.woocommerce-account .woocommerce-MyAccount-navigation ul { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:15px 8px; border-bottom:1px solid var(--line); font-size:11px; }.woocommerce-account .is-active a { color:var(--wine); font-weight:700; }.woocommerce-account .woocommerce-MyAccount-content { width:70%; }
.woocommerce-order-received .woocommerce-order { padding:40px; background:#eee8e2; }.woocommerce-order-received .woocommerce-notice--success { font-family:Georgia,serif; font-size:26px; text-align:center; }

/* Footer */
.site-footer { background:var(--ink); color:#fff; }.newsletter { width:min(calc(100% - 80px),var(--nocturne-width)); margin:0 auto; padding:62px 0; border-bottom:1px solid rgba(255,255,255,.13); display:flex; align-items:center; justify-content:space-between; gap:40px; }.newsletter h2 { margin:10px 0 7px; font-family:Georgia,serif; font-size:28px; font-weight:400; }.newsletter p { margin:0; color:rgba(255,255,255,.5); font-size:10px; }.newsletter form { width:min(100%,440px); display:grid; grid-template-columns:1fr auto; }.newsletter input { min-width:0; padding:0 15px; border:1px solid rgba(255,255,255,.25); border-right:0; background:transparent; color:#fff; }.newsletter button { padding:0 24px; border:0; background:var(--gold); color:var(--ink); font-size:9px; font-weight:700; text-transform:uppercase; }
.footer-grid { width:min(calc(100% - 80px),var(--nocturne-width)); margin:0 auto; padding:65px 0 70px; display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:75px; }.footer-brand .brand-word { font-size:25px; }.footer-brand > p { max-width:310px; color:rgba(255,255,255,.5); font-size:10px; line-height:1.8; }.payments { margin-top:25px; display:flex; gap:8px; }.payments span { padding:6px 8px; border:1px solid rgba(255,255,255,.2); font-size:7px; }.footer-column h3 { margin:0 0 18px; color:var(--gold); font-size:9px; letter-spacing:.15em; text-transform:uppercase; }.footer-column ul { list-style:none; margin:0; padding:0; }.footer-column a { display:block; padding:6px 0; color:rgba(255,255,255,.62); font-size:9px; }.footer-column a:hover { color:#fff; }
.footer-bottom { min-height:54px; padding:12px 0; width:min(calc(100% - 80px),var(--nocturne-width)); margin:0 auto; border-top:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:space-between; color:rgba(255,255,255,.35); font-size:8px; }
.floating-top,.floating-cart { position:fixed; right:20px; z-index:75; width:43px; height:43px; display:grid; place-items:center; border:1px solid rgba(24,20,25,.18); border-radius:50%; background:rgba(246,242,237,.94); color:var(--ink); box-shadow:0 8px 25px rgba(0,0,0,.1); cursor:pointer; }.floating-top { bottom:78px; opacity:0; pointer-events:none; transition:opacity .2s; }.floating-top.is-visible { opacity:1; pointer-events:auto; }.floating-cart { bottom:25px; }.floating-cart .cart-count { right:-3px; top:-3px; }

/* Age gate */
.age-gate { position:fixed; inset:0; z-index:99999; display:none; place-items:center; padding:20px; background:rgba(12,9,13,.92); backdrop-filter:blur(10px); }.age-gate.is-visible { display:grid; }.age-panel { width:min(100%,520px); min-height:560px; padding:56px 58px 45px; border:1px solid rgba(198,164,108,.35); background:linear-gradient(150deg,#261e26,#171218); color:#fff; text-align:center; position:relative; }.age-panel::before { content:""; position:absolute; inset:10px; border:1px solid rgba(255,255,255,.08); pointer-events:none; }.age-number { width:96px; height:96px; margin:0 auto 26px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-family:Georgia,serif; font-size:38px; }.age-panel .brand-word { display:block; margin-bottom:33px; font-size:22px; }.age-panel h2 { margin:0 0 15px; font-family:Georgia,serif; font-size:31px; font-weight:400; }.age-panel p { color:rgba(255,255,255,.58); font-size:11px; line-height:1.8; }.age-actions { margin-top:28px; display:grid; gap:10px; }.age-actions button,.age-actions a { min-height:46px; display:grid; place-items:center; border:1px solid var(--gold); background:var(--gold); color:var(--ink); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }.age-actions a { background:transparent; color:rgba(255,255,255,.65); border-color:rgba(255,255,255,.2); }.age-panel small { display:block; margin-top:19px; color:rgba(255,255,255,.34); font-size:7px; line-height:1.5; }

@media (max-width:1120px) {
  .page-width,.alignwide,.nocturne-trust-bar,.nocturne-campaign { width:min(calc(100% - 44px),var(--nocturne-width)); }
  .site-header { grid-template-columns:190px 1fr 150px; padding:0 24px; }.primary-navigation ul { gap:19px; }
  .woocommerce ul.products,.woocommerce-page ul.products { grid-template-columns:repeat(2,1fr); row-gap:48px; }
	  .woocommerce .nocturne-shop .collection-layout .shop-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }.nocturne-scene-grid { grid-template-columns:repeat(2,1fr); }.nocturne-scene-card { min-height:260px; }.nocturne-review-grid { grid-template-columns:repeat(3,1fr); }
  .single-product div.product { width:min(calc(100% - 44px),var(--nocturne-width)); gap:40px; }.nocturne-contact-layout { gap:55px!important; }.footer-grid { gap:35px; }
	.woocommerce-cart .site-main,.woocommerce-checkout .site-main,.woocommerce-account .site-main { width:calc(100% - 44px); }.woocommerce-cart .cart-collaterals .cart_totals { width:48%; }.woocommerce-checkout #customer_details { width:55%; }.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { width:41%; }
	.nocturne-brand-story__inner { width:calc(100% - 44px); }.nocturne-brand-story__copy { padding:58px 48px!important; }.nocturne-brand-story__copy h2 { font-size:38px; }
}
@media (max-width:900px) {
	.site-header { height:68px; padding:0 20px; grid-template-columns:38px 1fr auto; }
	.mobile-menu-toggle { display:grid; justify-self:start; }
	.brand { justify-self:center; }
	.brand-word { font-size:19px; }
	.brand small { display:none; }
	.primary-navigation { display:none; position:absolute; left:0; right:0; top:68px; padding:15px 24px 25px; background:var(--paper); border-bottom:1px solid var(--line); }
	.primary-navigation.is-open { display:block; }
	.primary-navigation ul { flex-direction:column; align-items:stretch; gap:0; }
	.primary-navigation a { padding:13px 0; border-bottom:1px solid var(--line); }
	.primary-navigation a::after { display:none; }
	.collection-layout { grid-template-columns:1fr; gap:22px; padding-top:28px; }
	.mobile-filter-toggle { width:100%; min-height:48px; padding:0 17px; border:1px solid var(--ink); background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
	.mobile-filter-toggle span { font-size:22px; font-weight:400; line-height:1; }
	.shop-filters { position:static; display:none; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0; }
	.shop-filters.is-open { display:grid; }
	.filter-title { grid-column:1/-1; padding:12px 0; }
	.filter-group { padding:18px; border:1px solid var(--line); background:#fff; }
	.filter-submit { grid-column:1/-1; margin-top:0; }
	.sort-row { align-items:center; }
	.nocturne-brand-story__inner { grid-template-columns:1fr; padding:70px 0; }.nocturne-brand-story__art { min-height:460px; }.nocturne-brand-story__copy { min-height:430px; }
	.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { width:100%; float:none; }.woocommerce-checkout #order_review_heading { margin-top:42px; }.woocommerce-checkout #order_review { margin-top:8px; }
}
@media (max-width:782px) { .admin-bar .site-header { top:46px; } }
@media (max-width:760px) {
  .page-width,.alignwide { width:calc(100% - 30px); }.announcement { min-height:28px; padding:5px 10px; justify-content:space-around; gap:0; font-size:7px; }.announcement span:nth-child(3) { display:none; }
	  .site-header { height:64px; padding:0 15px; grid-template-columns:35px 1fr auto; }.mobile-menu-toggle { display:grid; justify-self:start; }.brand { justify-self:center; }.brand-word { font-size:17px; }.brand small { display:none; }.primary-navigation { display:none; position:absolute; left:0; right:0; top:64px; padding:15px 22px 25px; background:var(--paper); border-bottom:1px solid var(--line); }.primary-navigation.is-open { display:block; }.primary-navigation ul { flex-direction:column; align-items:stretch; gap:0; }.primary-navigation a { padding:13px 0; border-bottom:1px solid var(--line); }.primary-navigation a::after { display:none; }.header-actions { gap:5px; }
  .nocturne-home-hero { min-height:600px; height:calc(100svh - 92px); align-items:flex-end; }.nocturne-home-hero .wp-block-cover__image-background { object-position:64% 50%; }.nocturne-home-hero .wp-block-cover__background { background:linear-gradient(180deg,rgba(15,11,17,.22),rgba(15,11,17,.9) 72%)!important; }.nocturne-home-hero .wp-block-cover__inner-container { width:calc(100% - 34px); padding-bottom:66px; }.nocturne-home-hero h1 { font-size:42px; line-height:1.15; }.nocturne-home-hero p { font-size:11px; }.nocturne-home-hero .wp-block-buttons { gap:14px; }
  .nocturne-trust-bar { width:calc(100% - 30px); grid-template-columns:1fr 1fr; }.nocturne-trust-item { min-height:78px; padding:10px 12px!important; grid-template-columns:32px 1fr; }.nocturne-trust-item:nth-child(2) { border-right:0; }.nocturne-trust-item > p:first-child { width:31px; height:31px; }.nocturne-trust-item strong { font-size:10px; }.nocturne-trust-item small { font-size:7px; }
	  .nocturne-section { padding:72px 0 76px; }.section-heading { margin-bottom:27px; }.section-heading h2 { font-size:31px; }.section-heading p { font-size:11px; }.woocommerce ul.products,.woocommerce-page ul.products,.woocommerce .nocturne-shop .collection-layout .shop-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 12px; }.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:0; font-size:14px; line-height:1.5; }.woocommerce ul.products li.product .price { font-size:16px; }.woocommerce ul.products li.product .price del { font-size:12px; }.nocturne-product-media { aspect-ratio:1/1.1; }.nocturne-product-copy .eyebrow { font-size:9px; }.nocturne-card-bottom { gap:8px; }.nocturne-mini-add,.woocommerce ul.products li.product .button.nocturne-mini-add { flex-basis:38px; width:38px; min-width:38px; height:38px; min-height:38px; }.nocturne-sales { font-size:10px; }
  .nocturne-dark-band { padding:72px 0; }.nocturne-scene-grid { grid-template-columns:1fr 1fr; }.nocturne-scene-card { min-height:220px; padding:18px!important; }.nocturne-scene-card h3 { font-size:21px; }.nocturne-campaign { width:100%; grid-template-columns:1fr; margin-bottom:72px; }.nocturne-campaign-art { min-height:330px; }.nocturne-campaign-art h2 { font-size:48px; }.nocturne-campaign-copy { padding:50px 25px!important; }.nocturne-campaign-copy h2 { font-size:31px; }.nocturne-review-grid { grid-template-columns:1fr; }.nocturne-review-card { min-height:240px; }
	  .collection-title { padding:34px 0; align-items:flex-start; }.collection-title h1 { font-size:38px; }.collection-title p { font-size:14px; }.collection-title > span { display:none; }.quick-tags > span,.quick-tags a { font-size:12px; }.sort-row { align-items:center; font-size:12px; }.sort-row select { min-width:145px; font-size:12px; }.shop-loading { grid-template-columns:1fr 1fr; }
  .single-product div.product { width:calc(100% - 30px); padding-top:25px; grid-template-columns:1fr; gap:28px; }.single-product div.product .product_title { font-size:31px; }.nocturne-detail-points { grid-template-columns:1fr 1fr; }.woocommerce-tabs,.related.products { grid-column:auto; padding-top:45px; }.nocturne-mobile-buy { position:fixed; left:0; right:0; bottom:0; z-index:80; padding:9px 12px calc(9px + env(safe-area-inset-bottom)); display:grid; grid-template-columns:72px 1fr; gap:8px; background:#fff; box-shadow:0 -6px 24px rgba(0,0,0,.12); }.nocturne-mobile-buy a { min-height:46px; }.nocturne-mobile-buy .mobile-wish { display:grid; place-items:center; border:0; background:none; font-size:9px; }.floating-cart { display:none; }
  .nocturne-page-hero { min-height:290px; }.nocturne-page-hero h1 { font-size:35px; }.nocturne-faq-layout { width:calc(100% - 30px); padding:60px 0 80px; grid-template-columns:1fr; gap:35px!important; }.nocturne-faq-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; border:0; }.nocturne-faq-nav a { padding:11px; border:1px solid var(--line); }.nocturne-faq-main h2 { font-size:29px; }.nocturne-contact-layout { width:calc(100% - 30px); padding:65px 0 80px; grid-template-columns:1fr; gap:35px!important; }.nocturne-contact-layout h2 { font-size:29px; }.nocturne-contact-cards { grid-template-columns:1fr; }.nocturne-contact-form { padding:25px 20px; }
  .woocommerce-cart .site-main,.woocommerce-checkout .site-main,.woocommerce-account .site-main { width:calc(100% - 30px); padding:48px 0 85px; }.woocommerce-cart h1,.woocommerce-checkout h1,.woocommerce-account h1,.page-title { font-size:34px; }.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review,.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; max-width:none; }.woocommerce table.shop_table_responsive tr td::before { color:var(--muted); font-size:10px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:14px 10px; font-size:13px; }.woocommerce-cart table.cart td.actions { padding-top:16px; }.woocommerce-cart table.cart td.actions button[name="update_cart"] { width:100%; float:none; }.woocommerce-cart .cart-collaterals .cart_totals { margin-top:24px; padding:24px 20px; }.woocommerce-cart .product-price .amount,.woocommerce-cart .product-subtotal .amount,.woocommerce-cart .cart_totals .amount,.woocommerce-checkout #order_review .amount { font-size:15px; }.woocommerce-cart .cart_totals .order-total .amount,.woocommerce-checkout #order_review .order-total .amount { font-size:19px; }.woocommerce-checkout #customer_details > .col-1,.woocommerce-checkout #customer_details > .col-2 { padding:24px 20px; }.woocommerce-checkout #order_review { margin-top:8px; padding:22px 18px; }.woocommerce-checkout #order_review_heading { margin-top:34px; font-size:26px; }.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom:30px; }
  .newsletter { width:calc(100% - 30px); flex-direction:column; align-items:flex-start; gap:25px; }.newsletter form { width:100%; }.footer-grid { width:calc(100% - 30px); grid-template-columns:1fr 1fr; gap:42px 22px; }.footer-brand { grid-column:1/-1; }.footer-bottom { width:calc(100% - 30px); flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; }.floating-top { display:none; }.age-panel { min-height:530px; padding:45px 29px 35px; }.age-panel h2 { font-size:25px; }.age-number { width:82px; height:82px; }
}
@media (max-width:600px) {
	.shop-filters { grid-template-columns:1fr; }
	.filter-title,.filter-submit { grid-column:auto; }
	.quick-tags { margin-left:-15px; margin-right:-15px; padding-left:15px; padding-right:15px; }
	.nocturne-brand-story__inner { width:100%; padding:0; }.nocturne-brand-story__art { min-height:360px!important; }.nocturne-brand-mark { margin:0 0 24px 22px; font-size:58px; }.nocturne-brand-story__copy { min-height:0; padding:48px 24px!important; }.nocturne-brand-story__copy h2 { font-size:32px; }.nocturne-brand-story__copy > p:not(.eyebrow) { font-size:12px; }
	.woocommerce-cart .site-main,.woocommerce-checkout .site-main,.woocommerce-account .site-main { width:calc(100% - 24px); padding-top:36px; }.woocommerce-cart h1,.woocommerce-checkout h1,.woocommerce-account h1,.page-title { font-size:30px; }.woocommerce-cart table.cart .product-thumbnail { display:block!important; padding:12px 0!important; text-align:center!important; }.woocommerce-cart table.cart .product-thumbnail::before { display:none!important; }.woocommerce-cart table.cart .product-thumbnail img { width:88px; }.woocommerce-cart table.cart .product-name a { font-size:14px; font-weight:600; }.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review { padding:20px 14px; }.woocommerce-checkout #order_review table { table-layout:auto; }.woocommerce-checkout #order_review .product-name { width:62%; }
	.woocommerce-checkout #customer_details > .col-1,.woocommerce-checkout #customer_details > .col-2 { padding:20px 14px; }.woocommerce-checkout #customer_details h3 { font-size:24px; }.woocommerce-checkout #customer_details .form-row-first,.woocommerce-checkout #customer_details .form-row-last { width:100%; float:none; }
}

/* v1.5 responsive hardening and variable-product colour swatches */
html,body { max-width:100%; overflow-x:clip; }
.entry-content,.wp-site-blocks,.wp-block-group,.wp-block-columns,.wp-block-column { min-width:0; }
.entry-content img,.entry-content video,.entry-content iframe,.entry-content embed { max-width:100%; }
.entry-content p,.entry-content h1,.entry-content h2,.entry-content h3,.woocommerce-product-details__short-description,.woocommerce-loop-product__title { overflow-wrap:anywhere; }

.single-product form.variations_form.cart { display:block; margin:24px 0!important; }
.single-product form.variations_form.cart table.variations { width:100%; margin:0 0 18px; border:0; }
.single-product form.variations_form.cart table.variations tbody,.single-product form.variations_form.cart table.variations tr,.single-product form.variations_form.cart table.variations th,.single-product form.variations_form.cart table.variations td { display:block; width:100%; padding:0; border:0; text-align:left; }
.single-product form.variations_form.cart table.variations th.label { margin:0 0 9px; color:var(--ink); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.single-product form.variations_form.cart table.variations td.value { position:relative; margin-bottom:20px; }
.single-product form.variations_form.cart table.variations select { width:100%; min-height:48px; padding:0 42px 0 14px; border:1px solid var(--line); border-radius:0; background:#fff; color:var(--ink); }
.single-product form.variations_form.cart .reset_variations { display:inline-flex!important; margin-top:9px; color:var(--muted); font-size:10px; text-decoration:underline; }
.nocturne-variation-select { position:relative; }
.nocturne-variation-select.is-swatch-ready > select { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; border:0!important; }
.nocturne-variation-swatches { display:flex; flex-wrap:wrap; gap:10px; }
.nocturne-color-swatch,.nocturne-card-swatch { position:relative; display:inline-grid; place-items:center; padding:0; border:1px solid transparent; border-radius:50%; background:transparent; cursor:pointer; transition:border-color .18s ease,transform .18s ease,opacity .18s ease; }
.nocturne-color-swatch { width:42px; height:42px; }
.nocturne-color-swatch > span,.nocturne-card-swatch > span { display:block; border-radius:50%; background:var(--swatch-color); box-shadow:inset 0 0 0 1px rgba(24,20,25,.16); }
.nocturne-color-swatch > span { width:32px; height:32px; }
.nocturne-color-swatch:hover,.nocturne-color-swatch:focus-visible,.nocturne-color-swatch.is-selected { border-color:var(--ink); outline:0; transform:translateY(-1px); }
.nocturne-color-swatch.is-selected::after { content:"✓"; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:13px; font-weight:800; text-shadow:0 1px 3px rgba(0,0,0,.75); }
.nocturne-color-swatch[style*="#ffffff"].is-selected::after,.nocturne-color-swatch[style*="#f7f7f7"].is-selected::after { color:var(--ink); text-shadow:none; }
.nocturne-color-swatch.is-disabled,.nocturne-color-swatch:disabled { opacity:.25; cursor:not-allowed; transform:none; }
.nocturne-selected-variation { display:block; min-height:18px; margin-top:7px; color:var(--muted); font-size:11px; }
.woocommerce-variation { margin:0 0 16px; padding:15px 17px; border:1px solid var(--line); background:#fff; }
.woocommerce-variation:empty { display:none; }
.woocommerce-variation-price .price { margin:0!important; font-family:Georgia,serif; font-size:25px!important; }
.woocommerce-variation-availability p { margin:5px 0 0; color:var(--muted); font-size:11px; }
.woocommerce-variation-add-to-cart { display:flex; align-items:stretch; gap:10px; }
.woocommerce-variation-add-to-cart .quantity { flex:0 0 auto; }
.woocommerce-variation-add-to-cart .single_add_to_cart_button { flex:1; }
.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button { opacity:.45!important; cursor:not-allowed; }

.nocturne-card-swatches { min-height:28px; margin:0 0 8px; display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.nocturne-card-swatch { width:25px; height:25px; }
.nocturne-card-swatch > span { width:17px; height:17px; }
.nocturne-card-swatch:hover,.nocturne-card-swatch:focus-visible,.nocturne-card-swatch.is-selected { border-color:var(--ink); outline:0; }
.nocturne-price-from { font-family:Inter,"Helvetica Neue",Arial,sans-serif; color:var(--muted); font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.nocturne-mobile-add.is-disabled { opacity:.55; }

@media (min-width:901px) and (max-width:1120px) {
	.woocommerce ul.products,.woocommerce-page ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.woocommerce .nocturne-shop .collection-layout .shop-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:1024px) {
	.page-width,.alignwide,.nocturne-trust-bar,.nocturne-campaign,.newsletter,.footer-grid,.footer-bottom { width:calc(100% - 44px); }
	.nocturne-home-hero .wp-block-cover__inner-container { width:calc(100% - 44px); }
	.nocturne-home-hero h1 { font-size:clamp(46px,7vw,66px); }
	.site-header { height:68px; grid-template-columns:42px 1fr auto; }
	.mobile-menu-toggle { display:grid; }
	.primary-navigation { display:none; position:absolute; left:0; right:0; top:68px; max-height:calc(100svh - 98px); overflow-y:auto; padding:16px 24px 26px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 18px 35px rgba(0,0,0,.1); }
	.primary-navigation.is-open { display:block; }
	.primary-navigation ul { flex-direction:column; align-items:stretch; gap:0; }
	.primary-navigation a { padding:14px 2px; border-bottom:1px solid var(--line); }
	.primary-navigation a::after { display:none; }
	.brand { justify-self:center; }
	.collection-layout { grid-template-columns:1fr; gap:22px; }
	.mobile-filter-toggle { width:100%; min-height:48px; padding:0 17px; border:1px solid var(--ink); background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
	.mobile-filter-toggle span { font-size:22px; font-weight:400; line-height:1; }
	.shop-filters { position:static; display:none; }
	.shop-filters.is-open { display:grid; }
	.single-product div.product { grid-template-columns:minmax(0,1fr) minmax(330px,.9fr); gap:36px; }
	.nocturne-contact-layout { grid-template-columns:1fr 1fr; gap:45px!important; }
	.footer-grid { grid-template-columns:1.35fr repeat(3,1fr); gap:30px; }
}

@media (max-width:782px) {
	.announcement { display:none; }
	.page-width,.alignwide,.nocturne-trust-bar,.newsletter,.footer-grid,.footer-bottom { width:calc(100% - 30px); }
	.entry-content > .wp-block-columns:not(.is-not-stacked-on-mobile),.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-wrap:wrap!important; }
	.entry-content > .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis:100%!important; }
	.single-product div.product { grid-template-columns:1fr; width:calc(100% - 30px); }
	.single-product div.product .summary { padding-top:0; }
	.woocommerce-product-gallery .flex-control-thumbs { grid-template-columns:repeat(4,minmax(0,1fr)); }
	.nocturne-contact-layout { grid-template-columns:1fr; }
	.nocturne-trust-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.nocturne-review-grid { grid-template-columns:1fr; }
	.footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.footer-brand { grid-column:1/-1; }
	.woocommerce-cart table.cart,.woocommerce-cart table.cart tbody,.woocommerce-cart table.cart tr,.woocommerce-cart table.cart td { display:block; width:100%; }
	.woocommerce-cart table.cart thead { display:none; }
	.woocommerce-cart table.cart tr.cart_item { position:relative; margin-bottom:18px; padding:14px; border:1px solid var(--line); background:#fff; }
	.woocommerce-cart table.cart td { min-height:38px; padding:8px 0!important; border:0!important; text-align:right!important; }
	.woocommerce-cart table.cart td::before { float:left; padding-right:15px; }
	.woocommerce-cart table.cart td.product-remove { position:absolute; right:10px; top:8px; z-index:2; width:auto; min-height:0; }
	.woocommerce-cart table.cart td.product-thumbnail { text-align:center!important; }
}

@media (max-width:600px) {
	.announcement { overflow:hidden; }
	.announcement span { white-space:nowrap; }
	.header-actions .header-icon { width:28px; }
	.nocturne-home-hero { min-height:560px; height:auto; padding:100px 0 56px; }
	.nocturne-home-hero .wp-block-cover__inner-container { width:calc(100% - 30px); padding-bottom:0; }
	.nocturne-home-hero h1 { font-size:clamp(36px,11vw,46px); }
	.nocturne-home-hero .wp-block-buttons { flex-direction:column; align-items:flex-start; }
	.nocturne-scene-grid { grid-template-columns:1fr; }
	.nocturne-scene-card { min-height:190px; }
	.section-heading { align-items:flex-start; flex-direction:column; }
	.collection-title { display:block; }
	.sort-row { align-items:stretch; flex-direction:column; }
	.sort-row .woocommerce-ordering,.sort-row select { width:100%; }
	.woocommerce ul.products,.woocommerce-page ul.products,.woocommerce .nocturne-shop .collection-layout .shop-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 12px; }
	.nocturne-product-copy { padding-top:12px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:13px; }
	.nocturne-card-bottom { align-items:center; justify-content:space-between; flex-wrap:nowrap; }
	.nocturne-card-bottom > div { flex:1; }
	.nocturne-mini-add,.woocommerce ul.products li.product .button.nocturne-mini-add { flex:0 0 38px; }
	.nocturne-card-swatches { gap:4px; }
	.nocturne-card-swatch { width:23px; height:23px; }
	.nocturne-card-swatch > span { width:15px; height:15px; }
	.woocommerce-variation-add-to-cart { display:grid; grid-template-columns:72px 1fr; }
	.footer-grid { grid-template-columns:1fr; }
	.footer-brand { grid-column:auto; }
	.newsletter form { grid-template-columns:1fr; gap:9px; }
	.newsletter input,.newsletter button { min-height:46px; border:1px solid rgba(255,255,255,.25); }
	.footer-bottom { align-items:flex-start; text-align:left; }
}

@media (max-width:420px) {
	.woocommerce ul.products,.woocommerce-page ul.products,.woocommerce .nocturne-shop .collection-layout .shop-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 10px; }
	.nocturne-product-media { aspect-ratio:1/1.04; }
	.nocturne-product-badge { left:7px; top:7px; max-width:calc(100% - 44px); padding:5px 6px; overflow:hidden; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
	.nocturne-heart { right:7px; top:7px; width:28px; height:28px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { margin:6px 0 7px; font-size:12px; line-height:1.4; }
	.woocommerce ul.products li.product .price { font-size:14px; gap:4px; }
	.woocommerce ul.products li.product .price del { font-size:10px; }
	.nocturne-card-bottom { gap:4px; }
	.nocturne-mini-add,.woocommerce ul.products li.product .button.nocturne-mini-add { width:34px; min-width:34px; height:34px; min-height:34px; flex-basis:34px; }
	.nocturne-sales { margin-top:6px; font-size:9px; }
	.nocturne-trust-bar { grid-template-columns:1fr; }
	.nocturne-trust-item { border-right:0; border-bottom:1px solid var(--line); }
	.nocturne-faq-nav { grid-template-columns:1fr; }
	.woocommerce-tabs ul.tabs { display:flex; overflow-x:auto; white-space:nowrap; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li { margin-right:20px; }
	.age-panel { min-height:0; max-height:calc(100svh - 24px); overflow-y:auto; padding:34px 22px 28px; }
}


/* v1.6 responsive container, exact-cent pricing and direct checkout */
:root { --nocturne-content-width:85%; }

/* Main content is centered at 85% desktop, 90% tablet and 95% mobile. */
.page-width,
.alignwide,
.nocturne-trust-bar,
.nocturne-campaign,
.newsletter,
.footer-grid,
.footer-bottom,
.nocturne-shop,
.single-product div.product,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main,
.nocturne-faq-layout,
.nocturne-contact-layout,
.nocturne-brand-story__inner {
	width:var(--nocturne-content-width);
	max-width:none;
	margin-left:auto;
	margin-right:auto;
}
.nocturne-home-hero .wp-block-cover__inner-container { width:var(--nocturne-content-width); max-width:none; margin-inline:auto; }

/* Product detail: equal gallery/summary columns on desktop and tablet. */
.single-product div.product { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(34px,4vw,72px); }
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary { min-width:0; }

/* One breadcrumb only, visually aligned with the site container. */
.single-product .woocommerce-breadcrumb { margin:0; }

/* Sale pricing follows the reference: current price first and prominent, original price quieter. */
.single-product div.product p.price,
.woocommerce-variation-price .price {
	display:flex;
	align-items:baseline;
	flex-wrap:wrap;
	gap:8px 12px;
	font-family:Inter,"Helvetica Neue",Arial,sans-serif;
	font-variant-numeric:tabular-nums;
}
.single-product div.product p.price ins,
.woocommerce-variation-price .price ins {
	order:1;
	color:#e84357;
	font-size:30px;
	font-weight:700;
	text-decoration:none;
}
.single-product div.product p.price del,
.woocommerce-variation-price .price del {
	order:2;
	color:#aaa2a7;
	font-size:14px;
	font-weight:400;
	text-decoration-thickness:1px;
	opacity:1;
}
.single-product div.product p.price > .woocommerce-Price-amount,
.woocommerce-variation-price .price > .woocommerce-Price-amount {
	color:#e84357;
	font-size:30px;
	font-weight:700;
}
.woocommerce ul.products li.product .price { font-variant-numeric:tabular-nums; }
.woocommerce ul.products li.product .price ins { color:#e84357; font-weight:700; text-decoration:none; }
.woocommerce ul.products li.product .price del { color:#aaa2a7; opacity:1; }

/* Quantity + Add to cart + Buy now stay on one clean row where space allows. */
.single-product form.cart { align-items:stretch; }
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .nocturne-buy-now,
.woocommerce-variation-add-to-cart .single_add_to_cart_button,
.woocommerce-variation-add-to-cart .nocturne-buy-now {
	flex:1 1 0;
	min-width:0;
	min-height:48px;
}
.single-product form.cart .nocturne-buy-now {
	border:1px solid #efc9cf !important;
	background:#f7dce1 !important;
	color:#cf3650 !important;
}
.single-product form.cart .nocturne-buy-now:hover {
	border-color:#eab9c2 !important;
	background:#f3cfd6 !important;
	color:#bd2942 !important;
}

@media (max-width:1024px) {
	:root { --nocturne-content-width:90%; }
	.single-product div.product { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
}

@media (max-width:782px) {
	:root { --nocturne-content-width:95%; }
	.single-product div.product { grid-template-columns:1fr; }
}

@media (max-width:600px) {
	.single-product form.cart,
	.woocommerce-variation-add-to-cart {
		display:grid;
		grid-template-columns:72px minmax(0,1fr) minmax(0,1fr);
		gap:8px;
	}
	.single-product form.cart .quantity,
	.woocommerce-variation-add-to-cart .quantity { width:72px; }
	.single-product form.cart .single_add_to_cart_button,
	.single-product form.cart .nocturne-buy-now { padding-inline:10px; font-size:8px; }
}

@media (max-width:420px) {
	.single-product form.cart,
	.woocommerce-variation-add-to-cart { grid-template-columns:64px minmax(0,1fr) minmax(0,1fr); }
	.single-product form.cart .quantity,
	.woocommerce-variation-add-to-cart .quantity { width:64px; }
}


/* 2026-08-27 product page refresh: centered premium single-column layout */
.single-product .woocommerce-breadcrumb {
	width:min(92%, 1120px);
	margin:0 auto;
}
.single-product div.product {
	width:min(92%, 1120px);
	margin:0 auto;
	padding:42px 0 0;
	display:block;
}
.single-product div.product .woocommerce-product-gallery {
	float:none;
	width:min(100%, 760px);
	margin:0 auto 34px;
}
.single-product div.product .summary {
	float:none;
	width:min(100%, 760px);
	margin:0 auto;
	padding:0;
}
.single-product div.product .product_title {
	margin:12px 0 16px;
	font-size:clamp(34px, 4.2vw, 60px);
	line-height:1.12;
	text-align:center;
	letter-spacing:-0.02em;
}
.single-product div.product .price,
.single-product div.product .woocommerce-product-details__short-description,
.single-product .nocturne-detail-points,
.single-product form.cart,
.single-product form.variations_form.cart,
.single-product .product_meta {
	width:100%;
	max-width:760px;
	margin-left:auto;
	margin-right:auto;
}
.single-product div.product p.price,
.single-product .woocommerce-variation-price .price {
	justify-content:center;
	margin:20px auto 24px;
}
.single-product .woocommerce-product-details__short-description {
	font-size:15px;
	line-height:1.9;
	text-align:center;
	color:var(--muted);
}
.single-product .nocturne-detail-points {
	margin-top:24px;
	margin-bottom:8px;
}
.single-product .nocturne-detail-points li,
.single-product .nocturne-detail-points p,
.single-product .summary ul li {
	font-size:15px;
	line-height:1.9;
}
.single-product form.cart,
.single-product .woocommerce-variation-add-to-cart {
	justify-content:center;
	align-items:stretch;
	gap:12px;
}
.single-product form.variations_form.cart table.variations th.label {
	text-align:center;
}
.single-product form.variations_form.cart table.variations td.value,
.single-product form.variations_form.cart .reset_variations {
	text-align:center;
}
.single-product form.variations_form.cart table.variations select {
	max-width:520px;
	margin:0 auto;
}
.single-product div.product .quantity {
	min-width:94px;
}
.single-product .woocommerce-tabs,
.single-product .related.products {
	width:min(92%, 1120px);
	margin-left:auto;
	margin-right:auto;
	padding-top:64px;
}
.single-product .woocommerce-tabs ul.tabs {
	justify-content:center;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin:0 18px;
}
.single-product .woocommerce-Tabs-panel {
	max-width:860px;
	margin:0 auto;
	font-size:15px;
	line-height:1.95;
	color:var(--muted);
}
.single-product .woocommerce-Tabs-panel p,
.single-product .woocommerce-Tabs-panel li {
	font-size:15px;
	line-height:1.95;
}
.single-product .related.products > h2 {
	text-align:center;
}
@media (max-width:1024px) {
	.single-product div.product,
	.single-product .woocommerce-tabs,
	.single-product .related.products,
	.single-product .woocommerce-breadcrumb {
		width:min(90%, 980px);
	}
	.single-product div.product .woocommerce-product-gallery,
	.single-product div.product .summary,
	.single-product div.product .price,
	.single-product div.product .woocommerce-product-details__short-description {
		max-width:720px;
	}
}
@media (max-width:782px) {
	.single-product div.product,
	.single-product .woocommerce-tabs,
	.single-product .related.products,
	.single-product .woocommerce-breadcrumb {
		width:min(95%, 100%);
	}
	.single-product div.product {
		padding-top:28px;
	}
	.single-product div.product .woocommerce-product-gallery {
		margin-bottom:26px;
	}
	.single-product div.product .summary,
	.single-product div.product .woocommerce-product-gallery,
	.single-product .woocommerce-Tabs-panel {
		max-width:100%;
	}
	.single-product div.product .product_title {
		font-size:clamp(28px, 8vw, 42px);
	}
	.single-product div.product p.price,
	.single-product .woocommerce-variation-price .price {
		justify-content:flex-start;
	}
	.single-product .woocommerce-product-details__short-description,
	.single-product form.variations_form.cart table.variations th.label,
	.single-product form.variations_form.cart table.variations td.value,
	.single-product form.variations_form.cart .reset_variations {
		text-align:left;
	}
	.single-product form.variations_form.cart table.variations select {
		max-width:100%;
	}
}


/* 2026-08-27 product page refinement v1.8: balanced 50/50 layout + improved select box */
.single-product .woocommerce-breadcrumb {
	width:min(85%, 1280px);
	margin:0 auto;
}
.single-product div.product {
	width:min(85%, 1280px);
	margin:0 auto;
	padding:34px 0 0;
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	align-items:start;
	gap:clamp(44px, 4vw, 86px);
}
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
	float:none;
	width:auto;
	min-width:0;
	margin:0;
	padding:0;
}
.single-product div.product .woocommerce-product-gallery {
	position:relative;
}
.single-product div.product .summary {
	padding-top:12px;
}
.single-product div.product .product_title {
	margin:12px 0 18px;
	font-size:clamp(38px, 3.6vw, 58px);
	line-height:1.12;
	text-align:left;
	letter-spacing:-0.02em;
}
.single-product div.product p.price,
.single-product .woocommerce-variation-price .price {
	justify-content:flex-start;
	margin:18px 0 22px;
}
.single-product .woocommerce-product-details__short-description {
	font-size:15px;
	line-height:1.9;
	text-align:left;
	color:var(--muted);
}
.single-product .nocturne-detail-points {
	margin-top:22px;
	margin-bottom:12px;
}
.single-product .nocturne-detail-points li,
.single-product .nocturne-detail-points p,
.single-product .summary ul li {
	font-size:15px;
	line-height:1.9;
}
.single-product form.variations_form.cart {
	display:block;
	margin-top:28px !important;
}
.single-product form.variations_form.cart table.variations {
	margin:0 0 20px;
}
.single-product form.variations_form.cart table.variations th.label {
	margin:0 0 10px;
	text-align:left;
	font-size:12px;
	letter-spacing:.18em;
	color:var(--ink);
}
.single-product form.variations_form.cart table.variations td.value {
	margin-bottom:18px;
	text-align:left;
}
.single-product form.variations_form.cart table.variations select {
	width:100%;
	max-width:100%;
	min-height:56px;
	padding:0 52px 0 18px;
	border:1px solid #d8ced0;
	border-radius:18px;
	background-color:#fff;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23726168' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 18px center;
	background-size:18px 18px;
	appearance:none;
	-webkit-appearance:none;
	font-size:16px;
	font-weight:500;
	color:var(--ink);
	box-shadow:0 8px 24px rgba(23,18,20,.05);
	transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.single-product form.variations_form.cart table.variations select:hover {
	border-color:#c8b9bc;
	background-color:#fffdfa;
}
.single-product form.variations_form.cart table.variations select:focus {
	outline:none;
	border-color:#b66c78;
	box-shadow:0 0 0 4px rgba(182,108,120,.12), 0 10px 30px rgba(23,18,20,.06);
	background-color:#fff;
}
.single-product form.variations_form.cart .reset_variations {
	display:inline-flex !important;
	align-items:center;
	gap:6px;
	margin-top:12px;
	font-size:12px;
	color:#8f858a;
	text-decoration:none;
}
.single-product form.variations_form.cart .reset_variations:hover {
	color:var(--wine);
}
.single-product form.cart,
.single-product .woocommerce-variation-add-to-cart {
	display:flex;
	align-items:stretch;
	justify-content:flex-start;
	gap:12px;
	flex-wrap:wrap;
}
.single-product div.product .quantity {
	min-width:96px;
}
.single-product .woocommerce-tabs,
.single-product .related.products {
	width:min(85%, 1280px);
	margin-left:auto;
	margin-right:auto;
	padding-top:64px;
}
.single-product .woocommerce-tabs ul.tabs {
	justify-content:flex-start;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin:0 24px 0 0;
}
.single-product .woocommerce-Tabs-panel {
	max-width:100%;
	margin:0;
	font-size:15px;
	line-height:1.95;
	color:var(--muted);
}
.single-product .related.products > h2 {
	text-align:left;
}
@media (max-width:1024px) {
	.single-product .woocommerce-breadcrumb,
	.single-product div.product,
	.single-product .woocommerce-tabs,
	.single-product .related.products {
		width:min(90%, 1100px);
	}
	.single-product div.product {
		grid-template-columns:minmax(0,1fr) minmax(0,1fr);
		gap:36px;
	}
	.single-product div.product .product_title {
		font-size:clamp(34px, 4vw, 48px);
	}
}
@media (max-width:782px) {
	.single-product .woocommerce-breadcrumb,
	.single-product div.product,
	.single-product .woocommerce-tabs,
	.single-product .related.products {
		width:min(95%, 100%);
	}
	.single-product div.product {
		padding-top:24px;
		grid-template-columns:1fr;
		gap:28px;
	}
	.single-product div.product .summary {
		padding-top:0;
	}
	.single-product div.product .product_title,
	.single-product .woocommerce-product-details__short-description,
	.single-product div.product p.price,
	.single-product .woocommerce-variation-price .price,
	.single-product .woocommerce-tabs ul.tabs,
	.single-product .related.products > h2 {
		text-align:left;
		justify-content:flex-start;
	}
}
@media (max-width:600px) {
	.single-product form.cart,
	.single-product .woocommerce-variation-add-to-cart {
		display:grid;
		grid-template-columns:72px minmax(0,1fr) minmax(0,1fr);
		gap:8px;
	}
	.single-product form.variations_form.cart table.variations select {
		min-height:52px;
		padding-left:16px;
		padding-right:46px;
		font-size:15px;
	}
}
@media (max-width:420px) {
	.single-product form.cart,
	.single-product .woocommerce-variation-add-to-cart {
		grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);
	}
}


/* v1.9 product sale price, 50/50 product layout, custom variation picker, larger copy */

/* Sale prices: current price stays prominent; the pre-sale price is clearly grey and struck through. */
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins,
.single-product div.product p.price ins,
.single-product .woocommerce-variation-price .price ins {
	color:var(--ink) !important;
	font-weight:700 !important;
	text-decoration:none !important;
	text-decoration-line:none !important;
	opacity:1 !important;
}
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del,
.single-product div.product p.price del,
.single-product .woocommerce-variation-price .price del {
	color:#9b9498 !important;
	font-weight:400 !important;
	opacity:1 !important;
	text-decoration-line:line-through !important;
	text-decoration-color:#9b9498 !important;
	text-decoration-thickness:1.5px !important;
	text-decoration-skip-ink:none !important;
}
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce-page ul.products li.product .price del .woocommerce-Price-amount,
.single-product div.product p.price del .woocommerce-Price-amount,
.single-product .woocommerce-variation-price .price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del .woocommerce-Price-currencySymbol,
.woocommerce-page ul.products li.product .price del .woocommerce-Price-currencySymbol,
.single-product div.product p.price del .woocommerce-Price-currencySymbol,
.single-product .woocommerce-variation-price .price del .woocommerce-Price-currencySymbol {
	color:inherit !important;
}

/* Product page uses exactly the same responsive content width as the homepage. */
.single-product .page-width {
	width:var(--nocturne-content-width) !important;
	max-width:none !important;
	margin-left:auto !important;
	margin-right:auto !important;
}
.single-product .page-width .woocommerce-breadcrumb {
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
}
.single-product div.product {
	width:var(--nocturne-content-width) !important;
	max-width:none !important;
	margin-left:auto !important;
	margin-right:auto !important;
	padding-top:40px !important;
	display:grid !important;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
	column-gap:clamp(36px,3.2vw,62px) !important;
	row-gap:0 !important;
	align-items:start !important;
}
/* Override WooCommerce's stock 48% widths so both grid columns truly fill 50/50. */
.single-product div.product div.images,
.single-product div.product .woocommerce-product-gallery,
.single-product div.product div.summary,
.single-product div.product .summary {
	float:none !important;
	width:100% !important;
	max-width:none !important;
	min-width:0 !important;
	margin:0 !important;
}
.single-product div.product .summary {
	padding:12px 0 0 !important;
}
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img {
	width:100% !important;
	max-width:none !important;
}
.single-product .woocommerce-product-gallery__image img {
	display:block;
	height:auto !important;
}
.single-product .woocommerce-tabs,
.single-product .related.products {
	grid-column:1 / -1 !important;
	width:100% !important;
	max-width:none !important;
	margin-left:0 !important;
	margin-right:0 !important;
}

/* Slightly larger, calmer product typography. */
.single-product div.product .product_title {
	font-size:clamp(40px,3.35vw,60px) !important;
	line-height:1.08 !important;
	margin-bottom:20px !important;
}
.single-product div.product .woocommerce-product-details__short-description,
.single-product div.product .woocommerce-product-details__short-description p {
	font-size:16.5px !important;
	line-height:1.85 !important;
}
.single-product .summary > p,
.single-product .summary li,
.single-product .summary .stock {
	font-size:15.5px;
	line-height:1.8;
}
.single-product .nocturne-detail-points span {
	font-size:12px;
}
.single-product form.variations_form.cart table.variations th.label {
	font-size:13px !important;
	letter-spacing:.16em !important;
}
.single-product form.variations_form.cart .reset_variations,
.single-product .product_meta,
.single-product .product_meta a {
	font-size:13px !important;
	line-height:1.65 !important;
}
.single-product .woocommerce-Tabs-panel,
.single-product .woocommerce-Tabs-panel p,
.single-product .woocommerce-Tabs-panel li,
.single-product .woocommerce-Tabs-panel td,
.single-product .woocommerce-Tabs-panel th {
	font-size:16px !important;
	line-height:1.9 !important;
}

/* Enhanced non-colour variation picker. The native select stays as a fallback until JS enhances it. */
.single-product .nocturne-native-select.is-nocturne-enhanced {
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	min-height:0 !important;
	padding:0 !important;
	margin:-1px !important;
	border:0 !important;
	overflow:hidden !important;
	clip:rect(0 0 0 0) !important;
	clip-path:inset(50%) !important;
	white-space:nowrap !important;
	opacity:0 !important;
	pointer-events:none !important;
}
.single-product .nocturne-custom-select {
	position:relative;
	width:100%;
	max-width:100%;
	font-size:15px;
	z-index:8;
}
.single-product .nocturne-select-trigger {
	width:100%;
	min-height:58px;
	padding:0 18px 0 20px;
	border:1px solid #d5cccf;
	border-radius:10px;
	background:#fff;
	color:var(--ink);
	dis:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	font-family:inherit;
	font-size:15.5px;
	font-weight:500;
	text-align:left;
	cursor:pointer;
	box-shadow:0 8px 22px rgba(24,20,25,.045);
	transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.single-product .nocturne-select-trigger:hover {
	border-color:#bcaeb3;
	background:#fffdfa;
}
.single-product .nocturne-custom-select.is-open .nocturne-select-trigger,
.single-product .nocturne-select-trigger:focus-visible {
	outline:none;
	border-color:var(--wine);
	box-shadow:0 0 0 3px rgba(105,58,80,.10), 0 12px 30px rgba(24,20,25,.07);
}
.single-product .nocturne-select-trigger__label {
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.single-product .nocturne-select-trigger__icon {
	position:relative;
	width:18px;
	height:18px;
	flex:0 0 18px;
}
.single-product .nocturne-select-trigger__icon::before,
.single-product .nocturne-select-trigger__icon::after {
	content:"";
	position:absolute;
	top:8px;
	width:8px;
	height:1.5px;
	border-radius:2px;
	background:#756a70;
	transition:transform .18s ease;
}
.single-product .nocturne-select-trigger__icon::before { left:2px; transform:rotate(45deg); }
.single-product .nocturne-select-trigger__icon::after { right:2px; transform:rotate(-45deg); }
.single-product .nocturne-custom-select.is-open .nocturne-select-trigger__icon::before { transform:rotate(-45deg); }
.single-product .nocturne-custom-select.is-open .nocturne-select-trigger__icon::after { transform:rotate(45deg); }
.single-product .nocturne-select-menu {
	position:absolute;
	left:0;
	right:0;
	top:calc(100% + 8px);
	z-index:100;
	max-height:320px;
	padding:7px;
	overflow:auto;
	border:1px solid #ddd4d6;
	border-radius:10px;
	background:#fff;
	box-shadow:0 18px 45px rgba(24,20,25,.13);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transform:translateY(-6px);
	transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.single-product .nocturne-custom-select.is-open .nocturne-select-menu {
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:translateY(0);
}
.single-product .nocturne-select-option {
	position:relative;
	width:100%;
	min-height:46px;
	padding:11px 42px 11px 13px;
	border:0;
	border-radius:7px;
	background:transparent;
	color:#332d31;
	dis:flex;
	align-items:center;
	font-family:inherit;
	font-size:14.5px;
	font-weight:500;
	line-height:1.45;
	text-align:left;
	white-space:normal;
	cursor:pointer;
}
.single-product .nocturne-select-option:hover,
.single-product .nocturne-select-option:focus-visible {
	outline:none;
	background:#f3eeeb;
}
.single-product .nocturne-select-option.is-selected {
	background:#f0e7e9;
	color:var(--wine);
	font-weight:700;
}
.single-product .nocturne-select-option.is-selected::after {
	content:"✓";
	position:absolute;
	right:14px;
	top:50%;
	transform:translateY(-50%);
	font-size:14px;
	font-weight:800;
}
.single-product .nocturne-select-option:disabled {
	color:#b9b1b5;
	background:transparent;
	cursor:not-allowed;
}

@media (max-width:1024px) {
	.single-product div.product {
		grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
		column-gap:30px !important;
	}
	.single-product div.product .product_title {
		font-size:clamp(34px,4vw,48px) !important;
	}
	.single-product div.product .woocommerce-product-details__short-description,
	.single-product div.product .woocommerce-product-details__short-description p {
		font-size:16px !important;
	}
}
@media (max-width:782px) {
	.single-product div.product {
		grid-template-columns:1fr !important;
		row-gap:28px !important;
		padding-top:26px !important;
	}
	.single-product div.product .summary { padding-top:0 !important; }
	.single-product .woocommerce-tabs,
	.single-product .related.products { grid-column:1 !important; }
	.single-product .woocommerce-Tabs-panel,
	.single-product .woocommerce-Tabs-panel p,
	.single-product .woocommerce-Tabs-panel li {
		font-size:15.5px !important;
	}
}


/* v2.0 small catalog fixes: variable arrow spacing + unmistakable sale strike-through */
.nocturne-card-bottom {
	column-gap:14px !important;
	row-gap:8px !important;
}
.nocturne-card-bottom > div {
	display:flex;
	align-items:baseline;
	min-width:0;
	flex:0 1 auto;
}
.nocturne-card-bottom .price {
	display:inline-flex !important;
	align-items:baseline;
	min-width:0;
	margin:0 !important;
}
.nocturne-card-bottom .nocturne-price-from {
	flex:0 0 auto;
	margin-right:7px;
}
.nocturne-card-bottom .nocturne-mini-add,
.woocommerce ul.products li.product .button.nocturne-mini-add {
	position:relative;
	flex:0 0 40px !important;
	margin-left:2px !important;
}

/* Force the original price line through the actual amount/bdi, not only the parent <del>. */
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del,
.single-product div.product p.price del,
.single-product .woocommerce-variation-price .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce-page ul.products li.product .price del .woocommerce-Price-amount,
.single-product div.product p.price del .woocommerce-Price-amount,
.single-product .woocommerce-variation-price .price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del bdi,
.woocommerce-page ul.products li.product .price del bdi,
.single-product div.product p.price del bdi,
.single-product .woocommerce-variation-price .price del bdi {
	color:#a39ca0 !important;
	text-decoration:line-through !important;
	text-decoration-line:line-through !important;
	text-decoration-color:#8f878c !important;
	text-decoration-thickness:1.5px !important;
	text-decoration-skip-ink:none !important;
	opacity:1 !important;
}

@media (max-width:600px) {
	.nocturne-card-bottom { column-gap:8px !important; }
	.nocturne-card-bottom > div { flex:1 1 auto; }
	.nocturne-card-bottom .nocturne-mini-add,
	.woocommerce ul.products li.product .button.nocturne-mini-add {
		flex:0 0 38px !important;
		margin-left:4px !important;
	}
}


/* 2026-08-27 v2.1: move single-product variation arrow further right */
.single-product form.variations_form.cart table.variations select {
	padding-right:72px !important;
	background-position:right 26px center !important;
}
@media (max-width:600px) {
	.single-product form.variations_form.cart table.variations select {
		padding-right:64px !important;
		background-position:right 22px center !important;
	}
}


/* 2026-08-27 v2.2: fix custom variation dropdown arrow overlap */
.single-product .nocturne-select-trigger {
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	padding:0 24px 0 20px !important;
	gap:18px !important;
}
.single-product .nocturne-select-trigger__label {
	flex:1 1 auto !important;
	padding-right:14px !important;
}
.single-product .nocturne-select-trigger__icon {
	margin-left:auto !important;
	flex:0 0 18px !important;
	transform:translateX(4px);
}
@media (max-width:600px) {
	.single-product .nocturne-select-trigger {
		padding:0 22px 0 18px !important;
	}
	.single-product .nocturne-select-trigger__label {
		padding-right:12px !important;
	}
	.single-product .nocturne-select-trigger__icon {
		transform:translateX(2px);
	}
}


/* 2026-08-27 v2.3: mobile archive layout tightened and centered */
@media (max-width:782px) {
	.nocturne-shop {
		padding-bottom:84px !important;
	}
	.collection-layout {
		grid-template-columns:1fr !important;
		gap:18px !important;
		padding-top:24px !important;
	}
	.shop-results {
		width:100% !important;
		min-width:0 !important;
	}
	.sort-row {
		margin-bottom:18px !important;
	}
	.sort-row .woocommerce-ordering,
	.sort-row .woocommerce-ordering select {
		width:100% !important;
	}
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce .nocturne-shop .collection-layout .shop-results ul.products {
		width:100% !important;
		margin:0 auto !important;
		display:grid !important;
		grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
		gap:24px 14px !important;
		align-items:start !important;
		justify-content:center !important;
	}
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		width:100% !important;
		margin:0 !important;
	}
	.woocommerce ul.products li.product.nocturne-product-card,
	.woocommerce-page ul.products li.product.nocturne-product-card {
		display:flex !important;
		flex-direction:column !important;
		height:100% !important;
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__link {
		display:block;
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		margin:8px 0 8px !important;
		font-size:12px !important;
		line-height:1.4 !important;
		min-height:0 !important;
	}
	.woocommerce ul.products li.product .price {
		font-size:13px !important;
		gap:4px !important;
		white-space:nowrap !important;
	}
	.woocommerce ul.products li.product .price del {
		font-size:10px !important;
	}
	.woocommerce ul.products li.product .price ins,
	.woocommerce ul.products li.product .price del {
		display:inline-flex !important;
		align-items:baseline !important;
	}
	.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
		font-size:.78em !important;
	}
	.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
	.woocommerce-page ul.products li.product .price del .woocommerce-Price-amount,
	.woocommerce ul.products li.product .price del bdi,
	.woocommerce-page ul.products li.product .price del bdi {
		text-decoration:line-through !important;
	}
	.woocommerce ul.products li.product .nocturne-product-media,
	.woocommerce-page ul.products li.product .nocturne-product-media {
		width:100% !important;
		aspect-ratio:1 / 1.08 !important;
	}
	.woocommerce ul.products li.product .nocturne-product-copy,
	.woocommerce-page ul.products li.product .nocturne-product-copy {
		padding-top:12px !important;
	}
	.woocommerce ul.products li.product .eyebrow,
	.woocommerce-page ul.products li.product .eyebrow {
		font-size:9px !important;
		line-height:1.35 !important;
	}
	.nocturne-card-bottom {
		min-height:auto !important;
		margin-top:0 !important;
		display:flex !important;
		flex-wrap:nowrap !important;
		align-items:center !important;
		justify-content:space-between !important;
		gap:8px !important;
	}
	.nocturne-card-bottom > div {
		flex:1 1 auto !important;
		min-width:0 !important;
	}
	.nocturne-card-bottom .price {
		max-width:100% !important;
		overflow:hidden !important;
	}
	.nocturne-card-bottom .nocturne-price-from {
		margin-right:4px !important;
	}
	.nocturne-card-bottom .nocturne-mini-add,
	.woocommerce ul.products li.product .button.nocturne-mini-add {
		flex:0 0 34px !important;
		width:34px !important;
		min-width:34px !important;
		height:34px !important;
		min-height:34px !important;
		margin-left:8px !important;
		font-size:18px !important;
	}
	.nocturne-sales {
		margin-top:6px !important;
		font-size:10px !important;
		line-height:1.35 !important;
	}
}
@media (max-width:430px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce .nocturne-shop .collection-layout .shop-results ul.products {
		gap:22px 12px !important;
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size:11.5px !important;
	}
	.nocturne-card-bottom .nocturne-mini-add,
	.woocommerce ul.products li.product .button.nocturne-mini-add {
		margin-left:6px !important;
	}
}


/* 2026-08-27 v2.4: keep WooCommerce FlexSlider widths intact so thumbnail clicks never blank the main image. */
.single-product .woocommerce-product-gallery .flex-viewport {
	width:100% !important;
	overflow:hidden !important;
}
.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
	margin:0 !important;
}
.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image {
	max-width:none !important;
}
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img {
	display:block !important;
	height:auto !important;
}


/* 2026-08-27 v2.5: restyle single-product options select to match compact rounded reference */
.single-product form.variations_form.cart table.variations td.value {
	display:flex !important;
	align-items:center !important;
	gap:12px !important;
	flex-wrap:wrap !important;
}
.single-product .nocturne-custom-select {
	flex:0 1 310px;
	max-width:310px;
}
.single-product .nocturne-select-trigger {
	min-height:42px !important;
	padding:0 16px 0 16px !important;
	border:1px solid #d8d3d6 !important;
	border-radius:999px !important;
	background:#fff !important;
	box-shadow:none !important;
	gap:10px !important;
	font-size:13px !important;
	font-weight:500 !important;
	color:#8a8187 !important;
}
.single-product .nocturne-select-trigger:hover {
	border-color:#cfc8cc !important;
	background:#fff !important;
}
.single-product .nocturne-custom-select.is-open .nocturne-select-trigger,
.single-product .nocturne-select-trigger:focus-visible {
	border-color:#d3c2c9 !important;
	box-shadow:0 0 0 2px rgba(216,147,167,.12) !important;
}
.single-product .nocturne-select-trigger__label {
	display:flex !important;
	align-items:center !important;
	min-width:0 !important;
	padding-right:10px !important;
	color:#8a8187 !important;
	font-size:13px !important;
	line-height:1 !important;
}
.single-product .nocturne-select-trigger__label::before {
	content:"💞";
	flex:0 0 auto;
	margin-right:6px;
	font-size:14px;
	line-height:1;
}
.single-product .nocturne-select-trigger__icon {
	width:14px !important;
	height:14px !important;
	flex:0 0 14px !important;
	margin-left:auto !important;
	transform:none !important;
}
.single-product .nocturne-select-trigger__icon::before,
.single-product .nocturne-select-trigger__icon::after {
	top:6px !important;
	width:6px !important;
	height:1.5px !important;
	background:#948a90 !important;
}
.single-product .nocturne-select-trigger__icon::before { left:1px !important; }
.single-product .nocturne-select-trigger__icon::after { right:1px !important; }
.single-product .nocturne-select-menu {
	margin-top:4px;
	border-radius:16px !important;
	padding:8px !important;
	border:1px solid #e2dbde !important;
	box-shadow:0 12px 30px rgba(24,20,25,.09) !important;
}
.single-product .nocturne-select-option {
	min-height:40px !important;
	padding:10px 36px 10px 12px !important;
	border-radius:12px !important;
	font-size:13px !important;
	font-weight:500 !important;
	color:#4b4348 !important;
}
.single-product .nocturne-select-option:hover,
.single-product .nocturne-select-option:focus-visible {
	background:#f7f2f4 !important;
}
.single-product .nocturne-select-option.is-selected {
	background:#f6eef1 !important;
	color:#8d5162 !important;
}
.single-product .nocturne-select-option.is-selected::after {
	right:12px !important;
	font-size:13px !important;
}
.single-product form.variations_form.cart .reset_variations {
	margin-top:0 !important;
	font-size:13px !important;
	color:#8a8187 !important;
	text-decoration:none !important;
}
.single-product form.variations_form.cart .reset_variations::before {
	content:"×";
	margin-right:4px;
	font-size:14px;
	line-height:1;
}
.single-product form.variations_form.cart .reset_variations:hover {
	color:var(--wine) !important;
}
@media (max-width:782px) {
	.single-product form.variations_form.cart table.variations td.value {
		gap:10px !important;
	}
	.single-product .nocturne-custom-select {
		flex:1 1 100%;
		max-width:100%;
	}
	.single-product form.variations_form.cart .reset_variations {
		margin-left:4px !important;
	}
}


/* 2026-08-27 v2.6: put Color / Options on one line and show price directly below like reference */
.single-product form.variations_form.cart table.variations tbody {
	display:block !important;
}
.single-product form.variations_form.cart table.variations tr {
	display:flex !important;
	align-items:center !important;
	gap:14px !important;
	margin:0 0 14px !important;
}
.single-product form.variations_form.cart table.variations th,
.single-product form.variations_form.cart table.variations td {
	width:auto !important;
	padding:0 !important;
	border:0 !important;
}
.single-product form.variations_form.cart table.variations th.label {
	flex:0 0 74px !important;
	margin:0 !important;
	font-size:16px !important;
	font-weight:600 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	line-height:1.3 !important;
	color:var(--ink) !important;
}
.single-product form.variations_form.cart table.variations td.value {
	flex:1 1 auto !important;
	min-width:0 !important;
	margin:0 !important;
	display:flex !important;
	align-items:center !important;
	gap:12px !important;
	flex-wrap:wrap !important;
}
.single-product .nocturne-variation-swatches {
	gap:12px !important;
}
.single-product .nocturne-custom-select {
	flex:0 1 310px !important;
	max-width:310px !important;
}
.single-product form.variations_form.cart .reset_variations {
	margin:0 !important;
	align-self:center !important;
}
.single-product .woocommerce-variation.single_variation {
	margin-top:4px !important;
	margin-bottom:14px !important;
}
.single-product .woocommerce-variation-price .price,
.single-product div.product p.price {
	justify-content:flex-start !important;
	margin:6px 0 16px !important;
}
.single-product .woocommerce-variation-price .price ins,
.single-product div.product p.price ins {
	font-size:33px !important;
}
.single-product .woocommerce-variation-price .price del,
.single-product div.product p.price del {
	font-size:15px !important;
	color:#aaa2a7 !important;
	text-decoration:line-through !important;
}
.single-product .woocommerce-variation-price .price del .woocommerce-Price-amount,
.single-product div.product p.price del .woocommerce-Price-amount,
.single-product .woocommerce-variation-price .price del bdi,
.single-product div.product p.price del bdi {
	text-decoration:line-through !important;
	color:#aaa2a7 !important;
}
@media (max-width:782px) {
	.single-product form.variations_form.cart table.variations tr {
		display:block !important;
		margin:0 0 16px !important;
	}
	.single-product form.variations_form.cart table.variations th.label {
		flex:none !important;
		display:block !important;
		margin:0 0 8px !important;
		font-size:15px !important;
	}
	.single-product form.variations_form.cart table.variations td.value {
		display:flex !important;
		align-items:center !important;
		gap:10px !important;
	}
	.single-product .nocturne-custom-select {
		flex:1 1 auto !important;
		max-width:100% !important;
	}
}


/* 2026-08-27 v2.7: variation price only, no box/background */
.single-product .woocommerce-variation.single_variation {
	margin:6px 0 16px !important;
	padding:0 !important;
	border:0 !important;
	background:transparent !important;
	box-shadow:none !important;
}
.single-product .woocommerce-variation-price {
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	background:transparent !important;
}
.single-product .woocommerce-variation-price .price {
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	background:transparent !important;
	box-shadow:none !important;
	display:flex !important;
	align-items:baseline !important;
	gap:8px !important;
}
.single-product .woocommerce-variation-description,
.single-product .woocommerce-variation-availability {
	display:none !important;
}
.single-product .woocommerce-variation-price .price ins {
	font-size:24px !important;
	font-weight:700 !important;
	color:#e84357 !important;
	text-decoration:none !important;
}
.single-product .woocommerce-variation-price .price del {
	font-size:14px !important;
	font-weight:400 !important;
	color:#aaa2a7 !important;
	text-decoration:line-through !important;
	text-decoration-thickness:1.4px !important;
	opacity:1 !important;
}
.single-product .woocommerce-variation-price .price del .woocommerce-Price-amount,
.single-product .woocommerce-variation-price .price del bdi {
	color:#aaa2a7 !important;
	text-decoration:line-through !important;
	text-decoration-thickness:1.4px !important;
}
