/*
Theme Name: Souleste Sounds
Theme URI: http://earth.urdemo.website/souleste
Author: Souleste / converted by Claude
Author URI: http://earth.urdemo.website/souleste
Description: Dark, editorial single-artist theme for Souleste Sounds. Homepage sections are managed through ACF Pro and the shop is powered by WooCommerce. Includes fully styled WooCommerce shop, single product, category, cart, checkout and my-account pages plus a reusable inner-page template.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: souleste
Tags: dark, music, ecommerce, woocommerce, acf, one-page
*/

:root {
  --black: #000000;
  --near-black: #0a0a0a;
  --dark: #111111;
  --dark-2: #1a1a1a;
  --white: #ffffff;
  --off-white: #e8e8e8;
  --silver: #999999;
  --dim: #555555;
  --gold: #c8a96e;
  --gold-dim: #8a6e3e;
  --border: rgba(255,255,255,0.07);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background: var(--black);
  color: var(--off-white);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
}

img { max-width: 100%; }
a { color: inherit; }

/* ── NAV ── */
nav.site-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.6rem 3rem;
  border-bottom: 1px solid var(--border);
  transition: padding 0.35s ease, background-color 0.35s ease, border-color 0.35s ease;
}
nav.site-nav::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.9) 0%, transparent 100%);
  pointer-events: none;
  transition: opacity 0.35s ease;
}
/* sticky shrink on scroll */
nav.site-nav.scrolled {
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
  background-color: rgba(8,8,8,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom-color: rgba(255,255,255,0.12);
}
nav.site-nav.scrolled::before { opacity: 0; }
.nav-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1rem, 2vw, 1.3rem);
  font-weight: 300;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: var(--white);
  text-decoration: none;
  position: relative;
}
.nav-links {
  display: flex;
  gap: 2.5rem;
  list-style: none;
  position: relative;
  align-items: center;
}
.nav-links a {
  color: var(--off-white);
  text-decoration: none;
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transition: color 0.3s;
  display: block;
}
.nav-links a:hover { color: var(--gold); }
.nav-links li { position: relative; }

/* hover underline that grows left -> right (top-level text links only) */
.nav-links > li:not(.nav-cart-item):not(.nav-search-item) > a { position: relative; }
.nav-links > li:not(.nav-cart-item):not(.nav-search-item) > a::before {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -5px;
  height: 1px;
  background: var(--gold);
  transition: right 400ms ease-in-out;
}
.nav-links > li:not(.nav-cart-item):not(.nav-search-item) > a:hover::before,
.nav-links > li.current-menu-item:not(.nav-cart-item):not(.nav-search-item) > a::before { right: 0; }

/* dropdown / submenu */
.nav-links ul.sub-menu {
  list-style: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: rgba(8,8,8,0.97);
  border: 1px solid var(--border);
  padding: 0.8rem 0;
  min-width: 200px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, transform .3s;
  z-index: 120;
}
.nav-links li:hover > ul.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.nav-links ul.sub-menu li { display: block; }
.nav-links ul.sub-menu a {
  padding: 0.55rem 1.5rem;
  white-space: nowrap;
  font-size: 0.72rem;
  color: var(--off-white);
}
.nav-links ul.sub-menu a:hover { color: var(--gold); }
.nav-links .menu-item-has-children > a::after {
  content: ' +';
  color: var(--gold-dim);
}

.nav-cart {
  position: relative;
  display: flex;
  align-items: center;
  color: var(--gold) !important;
  padding: 0.2rem;
}
.nav-cart .nav-cart-icon {
  display: block;
  transition: transform 0.3s, color 0.3s;
}
.nav-cart:hover .nav-cart-icon { transform: translateY(-1px); }
.nav-cart .count {
  position: absolute;
  top: -6px;
  right: -8px;
  font-size: .5rem;
  font-weight: 500;
  background: var(--gold);
  color: var(--black);
  border-radius: 50%;
  width: 15px; height: 15px;
  display: inline-flex; align-items: center; justify-content: center;
  line-height: 1;
}

/* search toggle button */
.nav-search {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.2rem;
  color: var(--off-white);
  transition: color 0.3s, transform 0.3s;
}
.nav-search:hover { color: var(--gold); transform: translateY(-1px); }
.nav-search-icon { display: block; }

/* search overlay */
.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(5,5,5,0.96);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.search-overlay.open { opacity: 1; visibility: visible; }
.search-overlay-form {
  width: min(680px, 86vw);
  border-bottom: 1px solid var(--border);
}
.search-overlay-input {
  width: 100%;
  background: none;
  border: none;
  outline: none;
  color: var(--white);
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.6rem, 5vw, 3rem);
  font-weight: 300;
  letter-spacing: 0.04em;
  padding: 0.4rem 0;
}
.search-overlay-input::placeholder { color: var(--dim); }
.search-overlay-close {
  position: absolute;
  top: 2rem; right: 2.4rem;
  background: none;
  border: none;
  color: var(--silver);
  font-size: 2.4rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.3s, transform 0.3s;
}
.search-overlay-close:hover { color: var(--white); transform: rotate(90deg); }

.nav-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  position: relative;
  z-index: 101;
  background: none;
  border: none;
  padding: 4px;
}
.nav-hamburger span {
  display: block;
  width: 24px;
  height: 1px;
  background: var(--white);
  transition: all 0.3s;
}

/* ── HERO ── */
.hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
}
.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 42% 38%;
  display: block;
  filter: brightness(0.96) contrast(1.05) grayscale(8%);
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.15) 0%,
    transparent 35%,
    rgba(0,0,0,0.45) 80%,
    rgba(0,0,0,0.75) 100%
  );
}
.hero-text {
  position: absolute;
  bottom: 10vh;
  left: 5vw;
  text-shadow: 0 2px 24px rgba(0,0,0,0.6);
}
.hero-text h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(4rem, 12vw, 10rem);
  font-weight: 300;
  line-height: 0.88;
  letter-spacing: -0.02em;
  color: var(--white);
}
.hero-text h1 em {
  font-style: italic;
  color: var(--gold);
}
.hero-eyebrow {
  font-size: 0.6rem;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1.5rem;
  display: block;
}
.hero-sub {
  margin-top: 1.5rem;
  font-size: 0.65rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--silver);
}

.scroll-hint {
  position: absolute;
  right: 3rem;
  bottom: 8vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
  color: var(--dim);
  font-size: 0.55rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.scroll-line {
  width: 1px;
  height: 60px;
  background: linear-gradient(to bottom, var(--dim), transparent);
  animation: scrollpulse 2s ease-in-out infinite;
}
@keyframes scrollpulse { 0%,100%{opacity:0.3;transform:scaleY(1)} 50%{opacity:1;transform:scaleY(1.2)} }

/* ── SECTION SPACING ── */
.section-pad {
  padding: clamp(5rem, 10vw, 10rem) clamp(1.5rem, 5vw, 5rem);
}

/* ── FULL BLEED ── */
.full-bleed {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.full-bleed img {
  width: 100%;
  display: block;
  max-height: 90vh;
  object-fit: cover;
  object-position: center 25%;
  filter: brightness(0.7) contrast(1.1) grayscale(10%);
  transition: transform 1s ease;
}
.full-bleed:hover img { transform: scale(1.02); }

/* ── MARQUEE ── */
.marquee-bar {
  overflow: hidden;
  background: var(--dark-2);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 1.1rem 0;
  white-space: nowrap;
}
.marquee-track {
  display: inline-flex;
  animation: marquee 22s linear infinite;
}
.marquee-track span {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1rem;
  letter-spacing: 0.1em;
  color: var(--silver);
  padding: 0 2.5rem;
}
.marquee-track .dot { color: var(--gold); font-style: normal; font-size: 0.5rem; vertical-align: middle; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── PHOTO GRID (2 col) ── */
.photo-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
  background: var(--black);
}
.photo-grid-2 .cell {
  overflow: hidden;
  aspect-ratio: 2/3;
  position: relative;
}
.photo-grid-2 .cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.75) contrast(1.1) grayscale(10%);
  transition: transform 0.9s ease, filter 0.9s ease;
}
.photo-grid-2 .cell:hover img {
  transform: scale(1.04);
  filter: brightness(0.9) contrast(1.05) grayscale(0%);
}

/* ── ABOUT ── */
.about-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.about-img {
  overflow: hidden;
  position: relative;
  min-height: 60vh;
}
.about-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% center;
  display: block;
  filter: brightness(0.65) contrast(1.1) grayscale(15%);
}
.about-content {
  background: var(--near-black);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 8vw, 8rem);
  border-left: 1px solid var(--border);
}
.label-tag {
  font-size: 0.55rem;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.label-tag::after {
  content: '';
  display: block;
  height: 1px;
  width: 40px;
  background: var(--gold-dim);
}
.about-content h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 300;
  line-height: 1.05;
  color: var(--white);
  margin-bottom: 2rem;
}
.about-content h2 em {
  font-style: italic;
  color: var(--silver);
}
.about-content p {
  font-size: 0.82rem;
  line-height: 2;
  color: var(--dim);
  max-width: 380px;
  margin-bottom: 2.5rem;
}
.btn-outline {
  display: inline-block;
  border: 1px solid var(--dim);
  color: var(--silver);
  padding: 0.75rem 2rem;
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s;
  width: fit-content;
}
.btn-outline:hover {
  border-color: var(--gold);
  color: var(--gold);
}

/* ── MUSIC ── */
.music-section {
  background: var(--near-black);
  border-top: 1px solid var(--border);
}
.sec-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 3.5rem;
}
.sec-head h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 300;
  color: var(--white);
}
.sec-head a {
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid var(--gold-dim);
  padding-bottom: 2px;
  transition: opacity 0.3s;
}
.sec-head a:hover { opacity: 0.6; }

.releases {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 2rem;
}
.r-card {
  cursor: pointer;
}
.r-card .art {
  aspect-ratio: 1;
  background: var(--dark-2);
  overflow: hidden;
  margin-bottom: 1.2rem;
  position: relative;
  border: 1px solid var(--border);
}
.r-card:hover .art { border-color: var(--gold-dim); }
.r-card .art img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .9s ease, filter .9s ease;
  filter: brightness(.92);
}
.r-card:hover .art img { transform: scale(1.05); filter: brightness(1); }
.r-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--off-white);
  margin-bottom: 0.3rem;
}
.r-card .r-meta {
  font-size: 0.6rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--dim);
}

/* ── TOUR ── */
.tour-section {
  background: var(--black);
  border-top: 1px solid var(--border);
}
.tour-row {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  align-items: center;
  gap: 2.5rem;
  padding: 1.8rem 0;
  border-bottom: 1px solid var(--border);
  transition: padding-left 0.3s, border-color 0.3s;
  cursor: default;
}
.tour-row:hover {
  padding-left: 1.5rem;
  border-bottom-color: var(--gold-dim);
}
.t-date {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
}
.t-date small {
  display: block;
  font-family: 'Jost', sans-serif;
  font-size: 0.5rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--dim);
  margin-top: 4px;
}
.t-info .t-venue {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  font-weight: 300;
  color: var(--white);
  margin-bottom: 0.25rem;
}
.t-info .t-loc {
  font-size: 0.6rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--dim);
}
.btn-tix {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--silver);
  padding: 0.55rem 1.4rem;
  font-family: 'Jost', sans-serif;
  font-size: 0.55rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s;
  text-decoration: none;
  white-space: nowrap;
}
.btn-tix:hover {
  border-color: var(--gold);
  color: var(--gold);
}

/* ── FOOTER ── */
footer.site-footer {
  background: var(--near-black);
  border-top: 1px solid var(--border);
  padding: 4rem clamp(1.5rem, 5vw, 5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  text-align: center;
}
.f-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 6vw, 3rem);
  font-weight: 300;
  letter-spacing: 0.6em;
  text-transform: uppercase;
  color: var(--white);
}
.f-merch {
  display: inline-block;
  border: 1px solid var(--gold);
  color: var(--gold);
  padding: 0.85rem 3rem;
  font-family: 'Jost', sans-serif;
  font-size: 0.6rem;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s;
}
.f-merch:hover {
  background: var(--gold);
  color: var(--black);
}
.f-socials {
  display: flex;
  gap: 2.5rem;
  list-style: none;
  flex-wrap: wrap;
  justify-content: center;
}
.f-socials a {
  color: var(--dim);
  text-decoration: none;
  font-size: 0.6rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  transition: color 0.3s;
}
.f-socials a:hover { color: var(--white); }
.f-copy {
  font-size: 0.55rem;
  letter-spacing: 0.15em;
  color: #333;
}

/* ── FADE IN ── */
.fi {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s ease, transform 1s ease;
}
.fi.vis { opacity: 1; transform: translateY(0); }

/* ── SHOP (homepage grid) ── */
.shop-section {
  background: var(--near-black);
  border-top: 1px solid var(--border);
}
.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 2.5rem 2rem;
}
.p-card { display: flex; flex-direction: column; }
.p-img {
  aspect-ratio: 1/1;
  overflow: hidden;
  border: 1px solid var(--border);
  margin-bottom: 1.1rem;
  background: #000;
}
.p-img img {
  width: 100%; height: 100%; object-fit: contain; display: block;
  transition: transform .9s ease, filter .9s ease;
  filter: brightness(.95);
}
.p-card:hover .p-img img { transform: scale(1.04); filter: brightness(1); }
.p-card:hover .p-img { border-color: var(--gold-dim); }
.p-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem; font-weight: 400;
  color: var(--off-white);
  margin-bottom: 0.35rem;
}
.p-price {
  font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--silver); margin-bottom: 1rem;
}
.p-buy {
  margin-top: auto;
  display: inline-block;
  border: 1px solid var(--border);
  color: var(--silver);
  padding: 0.6rem 1.4rem;
  font-size: 0.55rem; letter-spacing: 0.3em; text-transform: uppercase;
  text-decoration: none;
  transition: all .3s;
  width: fit-content;
}
.p-buy:hover { border-color: var(--gold); color: var(--gold); }

/* ════════════════════════════════════════════
   INNER PAGES (page.php, blog, archives)
   ════════════════════════════════════════════ */
.page-hero {
  position: relative;
  min-height: 30vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4.5rem 1.5rem 2.5rem;
  overflow: hidden;
  border-bottom: 1px solid var(--border);
}
.page-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.85)), var(--near-black);
  z-index: -2;
}
.page-hero .page-hero-bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  filter: brightness(.4) grayscale(20%);
  z-index: -1;
}
.page-hero .eyebrow {
  font-size: .6rem; letter-spacing: .5em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 1.3rem;
}
.page-hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(2.4rem, 6vw, 5rem);
  line-height: 1.15;
  color: var(--white);
  margin: 0;
  padding: 0;
}
.page-hero h1 em { font-style: italic; color: var(--gold); }
.breadcrumbs, .woocommerce-breadcrumb {
  font-size: .58rem; letter-spacing: .25em; text-transform: uppercase;
  color: var(--silver); margin: 1.4rem 0 0;
}
.page-hero .breadcrumbs,
.page-hero .woocommerce-breadcrumb,
.woocommerce .page-hero .woocommerce-breadcrumb { margin: 1.4rem 0 0 !important; }
.breadcrumbs a, .woocommerce-breadcrumb a { color: var(--silver); text-decoration: none; }
.breadcrumbs a:hover, .woocommerce-breadcrumb a:hover { color: var(--gold); }

.content-wrap {
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(3rem, 8vw, 7rem) clamp(1.5rem, 5vw, 3rem);
}
.content-wrap.wide { max-width: 1200px; }
/* WooCommerce cart/checkout/account need a wider, tighter container */
.woocommerce-cart .content-wrap,
.woocommerce-checkout .content-wrap,
.woocommerce-account .content-wrap {
  max-width: 1200px;
  padding-top: clamp(2rem, 4vw, 3rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.entry-content { font-size: .9rem; line-height: 2; color: var(--off-white); }
.entry-content p { margin-bottom: 1.5rem; }
.entry-content h2 {
  font-family: 'Cormorant Garamond', serif; font-weight: 300;
  font-size: clamp(1.8rem, 4vw, 2.8rem); color: var(--white);
  margin: 2.5rem 0 1.2rem;
}
.entry-content h3 {
  font-family: 'Cormorant Garamond', serif; font-weight: 400;
  font-size: 1.4rem; color: var(--off-white); margin: 2rem 0 1rem;
}
.entry-content a { color: var(--gold); }
.entry-content ul, .entry-content ol { margin: 0 0 1.5rem 1.4rem; color: var(--silver); }
.entry-content img { display: block; margin: 2rem 0; border: 1px solid var(--border); }
.entry-content blockquote {
  border-left: 2px solid var(--gold-dim);
  padding-left: 1.5rem; margin: 2rem 0;
  font-family: 'Cormorant Garamond', serif; font-style: italic;
  font-size: 1.3rem; color: var(--silver);
}

/* blog list */
.post-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); gap: 2.5rem; }
.post-card { border: 1px solid var(--border); background: var(--near-black); }
.post-card .thumb { aspect-ratio: 16/10; overflow: hidden; }
.post-card .thumb img { width:100%; height:100%; object-fit:cover; filter:brightness(.8); transition:.6s; }
.post-card:hover .thumb img { transform:scale(1.05); filter:brightness(1); }
.post-card .body { padding: 1.6rem; }
.post-card h2 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.4rem; color:var(--white); margin-bottom:.6rem; }
.post-card .meta { font-size:.55rem; letter-spacing:.2em; text-transform:uppercase; color:var(--dim); margin-bottom:1rem; }
.post-card .excerpt { font-size:.8rem; line-height:1.9; color:var(--silver); }
.pagination { display:flex; gap:.6rem; justify-content:center; margin-top:3rem; }
.pagination .page-numbers {
  border:1px solid var(--border); padding:.5rem .9rem; color:var(--silver);
  font-size:.6rem; text-decoration:none; letter-spacing:.1em;
}
.pagination .page-numbers.current, .pagination .page-numbers:hover { border-color:var(--gold); color:var(--gold); }

/* ════════════════════════════════════════════
   WOOCOMMERCE — dark theme overrides
   ════════════════════════════════════════════ */
.woo-wrap { padding: clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,5vw,5rem); max-width: 1400px; margin: 0 auto; }
.woocommerce, .woocommerce-page { color: var(--off-white); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit,
.woocommerce-page button.button, .wc-block-components-button {
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  font-size: .6rem !important;
  letter-spacing: .3em !important;
  text-transform: uppercase !important;
  padding: .85rem 1.8rem !important;
  transition: all .3s !important;
  box-shadow: none !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #respond input#submit:hover,
.wc-block-components-button:hover {
  background: var(--gold) !important;
  color: var(--black) !important;
}

/* shop / archive grid */
.woocommerce ul.products, .woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 2.5rem 2rem !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  justify-content: stretch !important;
  list-style: none !important;
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product,
.woocommerce ul.products li.product.first, .woocommerce ul.products li.product.last {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 1.1rem !important;
  float: none !important;
  clear: none !important;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.18);
  transition: border-color .4s ease, background-color .4s ease;
}
.woocommerce ul.products li.product:hover, .woocommerce-page ul.products li.product:hover {
  border-color: var(--gold) !important;
  background-color: rgba(255,255,255,0.02);
}
/* WooCommerce adds clearfix pseudo-elements to ul.products; in a grid they
   become phantom grid items and shove the products right by one cell. Kill them. */
.woocommerce ul.products::before, .woocommerce ul.products::after,
.woocommerce-page ul.products::before, .woocommerce-page ul.products::after {
  content: none !important;
  display: none !important;
}
@media (max-width: 900px) {
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: minmax(0, 1fr) !important; }
}
.woocommerce ul.products li.product a img {
  border: 0; margin-bottom: 1rem; background:#000;
  transition: transform .8s ease, filter .8s ease; filter: brightness(.95);
}
.woocommerce ul.products li.product a:hover img { transform: scale(1.03); filter: brightness(1); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.15rem !important; font-weight: 400 !important;
  color: var(--off-white) !important; padding: 0 0 .3rem !important;
}
.woocommerce ul.products li.product .price {
  color: var(--silver) !important; font-size: .7rem !important;
  letter-spacing: .15em; font-weight: 300 !important;
}
.woocommerce ul.products li.product .price del { color: var(--dim) !important; opacity:.6; }
.woocommerce ul.products li.product .price ins { color: var(--gold) !important; text-decoration:none; }
.woocommerce span.onsale {
  background: var(--gold) !important; color: var(--black) !important;
  border-radius: 0 !important; min-height: auto; min-width: auto;
  padding: .3rem .7rem; font-size: .55rem; letter-spacing: .2em; text-transform: uppercase;
  font-weight: 400; line-height: 1;
}

/* result count / ordering */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { color: var(--silver); font-size:.72rem; letter-spacing:.1em; line-height:1.6; }
.woocommerce .woocommerce-ordering select,
.woocommerce select, .woocommerce .select2-container .select2-selection {
  background: var(--dark) !important; color: var(--off-white) !important;
  border: 1px solid var(--border) !important; border-radius: 0 !important;
  padding: .6rem .8rem; font-family:'Jost',sans-serif;
}

/* single product */
.single-product div.product { display: block; }
.single-product .product-top {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(2rem,5vw,4rem); align-items: start;
}
.single-product div.product .woocommerce-product-gallery { float: none !important; width: 100% !important; }
.single-product div.product .woocommerce-product-gallery img { border: 1px solid var(--border); transition: border-color .3s ease; }
.single-product div.product .woocommerce-product-gallery:hover img { border-color: var(--gold) !important; }
.single-product div.product .summary { float: none !important; width: 100% !important; margin: 0 !important; }
/* full-width related products / up-sells (like reference) with visible divider */
.single-product div.product > .related.products,
.single-product div.product > .upsells.products {
  width: 100% !important;
  margin-top: 3.5rem;
  padding-top: 3.5rem;
  border-top: 1px solid rgba(255,255,255,0.18);
  clear: both;
}
@media (max-width: 768px) {
  .single-product .product-top { grid-template-columns: 1fr; }
}

/* description / reviews accordion inside the summary column */
.souleste-accordion { margin-top: 1.6rem; }
.souleste-accordion .acc-item { border-top: 1px solid rgba(255,255,255,0.18); }
.souleste-accordion .acc-item:last-child { border-bottom: 1px solid rgba(255,255,255,0.18); }
.souleste-accordion .acc-head {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  background: none; border: 0; cursor: pointer;
  padding: 1.1rem 0;
  color: var(--off-white);
  font-family: 'Jost', sans-serif; font-weight: 400;
  text-transform: uppercase; letter-spacing: .18em; font-size: .78rem;
  transition: color .3s;
}
.souleste-accordion .acc-head:hover,
.souleste-accordion .acc-item.open .acc-head { color: var(--gold); }
.souleste-accordion .acc-icon { position: relative; width: 14px; height: 14px; flex: 0 0 auto; }
.souleste-accordion .acc-icon::before,
.souleste-accordion .acc-icon::after {
  content: ''; position: absolute; background: var(--gold);
  transition: transform .3s ease, opacity .3s ease;
}
.souleste-accordion .acc-icon::before { top: 50%; left: 0; right: 0; height: 1px; transform: translateY(-50%); }
.souleste-accordion .acc-icon::after { left: 50%; top: 0; bottom: 0; width: 1px; transform: translateX(-50%); }
.souleste-accordion .acc-item.open .acc-icon::after { opacity: 0; transform: translateX(-50%) rotate(90deg); }
.souleste-accordion .acc-panel { overflow: hidden; max-height: 0; transition: max-height .45s ease; }
.souleste-accordion .acc-item.open .acc-panel { max-height: 3000px; }
.souleste-accordion .acc-panel-inner {
  padding: 0 0 1.5rem; color: var(--silver);
  line-height: 1.9; font-size: .85rem;
}
.souleste-accordion .acc-panel-inner p { margin-bottom: 1rem; }
.single-product .product_title {
  font-family: 'Cormorant Garamond', serif !important; font-weight: 300 !important;
  font-size: clamp(2rem,4vw,3rem) !important; color: var(--white) !important; line-height:1.05;
}
.single-product .summary .price, .single-product .summary .price .amount {
  color: var(--gold) !important; font-size: 1.3rem !important; font-weight: 300 !important;
}
.single-product .woocommerce-product-details__short-description {
  color: var(--silver); line-height: 2; font-size: .85rem; margin: 1.5rem 0;
}
.woocommerce div.product form.cart div.quantity input.qty {
  background: var(--dark); border: 1px solid var(--border); color: var(--white);
  padding: .7rem; width: 70px;
}
.woocommerce .woocommerce-tabs ul.tabs { border:0; padding:0; }
.woocommerce .woocommerce-tabs ul.tabs::before { border-bottom:1px solid var(--border); }
.woocommerce .woocommerce-tabs ul.tabs li {
  background: transparent; border: 1px solid var(--border); border-radius:0;
}
.woocommerce .woocommerce-tabs ul.tabs li a { color: var(--silver); }
.woocommerce .woocommerce-tabs ul.tabs li.active { background: var(--dark); border-bottom-color: var(--dark); }
.woocommerce .woocommerce-tabs ul.tabs li.active a { color: var(--gold); }
.woocommerce #reviews #comments h2, .woocommerce .related h2, .woocommerce .upsells h2 {
  font-family:'Cormorant Garamond',serif; font-weight:300; color:var(--white);
  font-size: 2rem; margin-bottom: 1.5rem;
}

/* ─── CART ─── */
.woocommerce-cart .woo-wrap, .woocommerce-checkout .woo-wrap { max-width: 1200px; }
.woocommerce table.shop_table {
  border: 1px solid var(--border); border-radius: 0; background: var(--near-black);
  color: var(--off-white); border-collapse: collapse; overflow: hidden; width: 100%;
}
.woocommerce table.shop_table thead th, .woocommerce table.shop_table th {
  color: var(--white); border-top: 0; font-weight: 400;
  letter-spacing: .2em; text-transform: uppercase; font-size: .6rem;
  padding: 1.15rem 1.4rem; background: var(--dark);
}
.woocommerce table.shop_table td { border-top: 1px solid var(--border); padding: 1.35rem 1.4rem; vertical-align: middle; }
.woocommerce-cart table.cart tr.cart_item { transition: background .3s; }
.woocommerce-cart table.cart tr.cart_item:hover { background: rgba(255,255,255,0.02); }
.woocommerce-cart table.cart img { width: 84px; border: 1px solid var(--border); transition: border-color .3s; }
.woocommerce-cart table.cart tr.cart_item:hover img { border-color: var(--gold-dim); }
.woocommerce-cart table.cart td.product-name a {
  color: var(--off-white); text-decoration: none;
  font-family: 'Cormorant Garamond', serif; font-size: 1.15rem;
}
.woocommerce-cart table.cart td.product-name a:hover { color: var(--gold); }
.woocommerce-cart table.cart td.product-subtotal { color: var(--gold); }

/* quantity stepper */
.woocommerce .quantity input.qty {
  background: var(--dark); border: 1px solid var(--border); color: var(--white);
  padding: .6rem; width: 66px; text-align: center; border-radius: 0;
}
.woocommerce .quantity input.qty:focus { border-color: var(--gold); outline: none; }

/* coupon + update row */
.woocommerce-cart table.cart td.actions { padding: 1.2rem 1.4rem; background: var(--near-black); }
.woocommerce-cart table.cart td.actions .coupon { display: inline-flex; gap: .6rem; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 220px !important; max-width: 48vw; }

/* cart layout + totals card */
.woocommerce-cart .woocommerce-cart-form { margin-bottom: 0; }
.woocommerce-cart .cart-collaterals {
  width: 100% !important; float: none !important;
  margin-top: 2.5rem; display: flex; justify-content: flex-end;
}
.woocommerce .cart-collaterals .cart_totals, .woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--near-black); border: 1px solid var(--border); padding: 2rem;
  width: 440px !important; max-width: 100%; float: none !important;
}
.woocommerce .cart_totals h2 {
  font-family: 'Cormorant Garamond', serif; font-weight: 300; color: var(--white);
  font-size: 1.9rem; margin-bottom: 1.4rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border);
}
.woocommerce .cart_totals table th { text-transform: uppercase; letter-spacing: .15em; font-size: .6rem; color: var(--silver); background: transparent; }
.woocommerce .cart_totals table td { border-top: 1px solid var(--border); }
.woocommerce .cart_totals .order-total .amount { color: var(--gold); font-size: 1.25rem; font-weight: 400; }
.woocommerce-cart .wc-proceed-to-checkout { padding-top: 1.5rem !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  width: 100%; text-align: center;
  background: var(--gold) !important; color: var(--black) !important; border-color: var(--gold) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--gold-dim) !important; border-color: var(--gold-dim) !important; }
.woocommerce a.remove {
  color: var(--gold) !important; font-weight: 400;
  border: 1px solid var(--border); border-radius: 50%; line-height: 1.6;
}
.woocommerce a.remove:hover { background: var(--gold) !important; color: var(--black) !important; border-color: var(--gold) !important; }
.cart-empty.woocommerce-info, .woocommerce .cart-empty { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; }

/* forms / checkout / account inputs */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-account .woocommerce input.input-text,
.woocommerce .input-text, .woocommerce input[type="text"], .woocommerce input[type="email"],
.woocommerce input[type="password"], .woocommerce input[type="tel"], .woocommerce textarea {
  background: var(--dark) !important; border: 1px solid var(--border) !important;
  color: var(--off-white) !important; border-radius: 0 !important; padding: .85rem !important;
  transition: border-color .3s ease !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce .input-text:focus { border-color: var(--gold) !important; outline: none; }
.woocommerce form .form-row { margin-bottom: 1.1rem; }
.woocommerce form .form-row label, .woocommerce-checkout label, .woocommerce-account label {
  color: var(--silver); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
  display: block; margin-bottom: .4rem;
}
.woocommerce form .form-row .required { color: var(--gold); }

/* ─── CHECKOUT LAYOUT (float: details left, order summary right) ─── */
.woocommerce-checkout form.checkout.woocommerce-checkout { display: block; }
.woocommerce-checkout form.checkout.woocommerce-checkout::after { content: ''; display: table; clear: both; }
.woocommerce-checkout #customer_details { float: left; width: 56%; }
.woocommerce-checkout #order_review_heading { float: right; width: 38%; clear: right; margin: 0 0 1.2rem; }
.woocommerce-checkout #order_review { float: right; width: 38%; clear: right; }
.woocommerce-checkout #customer_details .col2-set,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; margin: 0; }
.woocommerce-checkout #customer_details .col-2 { margin-top: 2rem; }
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading, .woocommerce-checkout h3 {
  font-family: 'Cormorant Garamond', serif; font-weight: 300; color: var(--white);
  font-size: 1.7rem; margin-bottom: 1.2rem; padding-bottom: .8rem; border-bottom: 1px solid var(--border);
}

/* order review card */
.woocommerce-checkout #order_review {
  background: var(--near-black); border: 1px solid var(--border); padding: 1.8rem;
}
.woocommerce-checkout-review-order-table { border: 0 !important; background: transparent !important; }
.woocommerce-checkout-review-order-table th { background: transparent !important; padding: .85rem .4rem !important; font-size: .58rem !important; }
.woocommerce-checkout-review-order-table td { padding: .85rem .4rem !important; }
.woocommerce-checkout-review-order-table .order-total .amount { color: var(--gold); font-size: 1.25rem; font-weight: 400; }

/* payment */
.woocommerce #payment, .woocommerce-checkout #payment { background: var(--dark) !important; border: 1px solid var(--border); border-radius: 0; }
.woocommerce #payment .payment_box { background: var(--near-black) !important; color: var(--silver); border-radius: 0; }
.woocommerce #payment ul.payment_methods { border-bottom: 1px solid var(--border); }
.woocommerce #payment div.form-row.place-order { padding: 1.2rem; }
.woocommerce #payment #place_order, .woocommerce-checkout #place_order {
  width: 100%; background: var(--gold) !important; color: var(--black) !important; border-color: var(--gold) !important;
  font-size: .7rem !important; padding: 1.1rem !important; letter-spacing: .35em !important;
}
.woocommerce #payment #place_order:hover, .woocommerce-checkout #place_order:hover { background: var(--gold-dim) !important; border-color: var(--gold-dim) !important; }

/* themed select2 (country / state dropdowns) */
.woocommerce .select2-container--default .select2-selection--single {
  background: var(--dark) !important; border: 1px solid var(--border) !important;
  border-radius: 0 !important; height: auto !important; padding: .55rem .4rem;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--off-white) !important; line-height: 1.6; }
.select2-dropdown { background: var(--dark) !important; border: 1px solid var(--border) !important; color: var(--off-white) !important; border-radius: 0 !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted { background: var(--gold) !important; color: var(--black) !important; }
.select2-search--dropdown .select2-search__field { background: var(--near-black) !important; border: 1px solid var(--border) !important; color: var(--off-white) !important; }

.woocommerce-info, .woocommerce-message, .woocommerce-error {
  background: var(--near-black) !important; border-top: 3px solid var(--gold) !important; color: var(--off-white) !important;
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--gold) !important; }
/* ─── CHECKOUT COUPON ─── */
.woocommerce-form-coupon-toggle .woocommerce-info {
  display: flex; align-items: center; gap: .5rem;
  font-size: .78rem; letter-spacing: .04em;
  padding: 1rem 1.3rem !important; margin-bottom: 1.6rem;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before { position: static; margin-right: .2rem; }
.woocommerce-form-coupon-toggle .showcoupon { color: var(--gold) !important; text-decoration: none; border-bottom: 1px solid var(--gold-dim); }
.woocommerce-form-coupon-toggle .showcoupon:hover { border-color: var(--gold); }
.woocommerce form.checkout_coupon {
  border: 1px solid var(--border) !important; border-radius: 0;
  background: var(--near-black); padding: 1.4rem !important; margin-bottom: 2rem;
  display: flex; flex-wrap: wrap; align-items: center; gap: .9rem;
}
.woocommerce form.checkout_coupon p:not(.form-row) {
  width: 100%; margin: 0 0 .2rem; font-size: .78rem; color: var(--silver);
}
.woocommerce form.checkout_coupon .form-row {
  margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important;
}
.woocommerce form.checkout_coupon .form-row-first { flex: 1 1 260px; }
.woocommerce form.checkout_coupon .input-text { width: 100% !important; margin: 0; }
.woocommerce form.checkout_coupon .button { white-space: nowrap; margin: 0; }
.woocommerce form.checkout_coupon .clear { display: none; }

@media (max-width: 860px) {
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { float: none !important; width: 100% !important; }
  .woocommerce-checkout #order_review_heading { margin-top: 2rem; }
  .woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; }
}

/* ─── MY ACCOUNT: LOGIN (logged out) ─── */
body.woocommerce-account:not(.logged-in) .content-wrap { max-width: 560px; }
.woocommerce .u-columns.col2-set { display: block; }
/* hide the redundant "Login" / "Register" headings (page hero already shows title) */
body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column1 > h2,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 > h2 { display: none; }
.woocommerce form.login, .woocommerce form.woocommerce-form-login,
.woocommerce form.register, .woocommerce form.woocommerce-form-register {
  border: 1px solid var(--border) !important; border-radius: 0;
  background: var(--near-black); padding: 2.2rem !important; margin: 0 0 1.5rem;
}
.woocommerce form.login .form-row, .woocommerce form.register .form-row { margin-bottom: 1.25rem; }
.woocommerce form.login .button, .woocommerce form.register .button {
  width: 100%; background: var(--gold) !important; color: var(--black) !important;
  border-color: var(--gold) !important; padding: 1rem !important;
}
.woocommerce form.login .button:hover, .woocommerce form.register .button:hover { background: var(--gold-dim) !important; border-color: var(--gold-dim) !important; }
.woocommerce-form-login__rememberme {
  display: inline-flex; align-items: center; gap: .5rem;
  margin: 0 0 0 .2rem !important; text-transform: none; letter-spacing: 0;
  font-size: .72rem !important; color: var(--silver);
}
.woocommerce-form-login__rememberme input { width: auto; }
.woocommerce-form-login__submit { margin-bottom: 1.2rem !important; }
.woocommerce .woocommerce-LostPassword { margin: 0; }
.woocommerce .woocommerce-LostPassword a { color: var(--silver); font-size: .72rem; letter-spacing: .05em; }
.woocommerce .woocommerce-LostPassword a:hover { color: var(--gold); }

/* ─── MY ACCOUNT: DASHBOARD (logged in) — float layout (robust against the
   empty .woocommerce-notices-wrapper that breaks a CSS grid) ─── */
.logged-in.woocommerce-account .woocommerce::after { content: ''; display: table; clear: both; }
.logged-in.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { float: none; width: 100%; }
.woocommerce-account .woocommerce-MyAccount-navigation {
  float: left !important; width: 250px !important; margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none; margin: 0; padding: 0;
  border: 1px solid var(--border); background: var(--near-black);
}
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--border); position: relative; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 1rem 1.3rem; color: var(--silver); text-decoration: none;
  font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; transition: .3s;
  border-left: 2px solid transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--dark); color: var(--gold); border-left-color: var(--gold);
}
.woocommerce-account .woocommerce-MyAccount-content {
  float: right !important; width: calc(100% - 290px) !important; margin: 0 !important;
  color: var(--off-white); border: 1px solid var(--border);
  background: var(--near-black); padding: clamp(1.5rem,3vw,2.2rem); line-height: 1.9;
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; color: var(--white);
  margin-bottom: 1.2rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--border);
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: var(--gold); }
.woocommerce-account .woocommerce-MyAccount-content mark { background: transparent; color: var(--gold); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address { margin-bottom: 1.5rem; }
@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    float: none !important; width: 100% !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content { margin-top: 1.5rem !important; }
}

/* ── RESPONSIVE ── */
@media (max-width: 980px) {
  .single-product div.product { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  nav.site-nav { padding: 1.4rem 1.5rem; }
  .nav-links { display: none; }
  .nav-links.open {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.97);
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    z-index: 100;
    overflow-y: auto;
    padding: 5rem 1rem;
  }
  .nav-links.open a { font-size: 1.1rem; letter-spacing: 0.3em; color: var(--white); }
  .nav-links.open ul.sub-menu {
    position: static; transform: none; opacity:1; visibility:visible;
    background: transparent; border: 0; padding: .5rem 0; text-align:center;
  }
  .nav-links.open ul.sub-menu a { font-size:.85rem; color: var(--silver); }
  .nav-hamburger { display: flex; }

  .photo-grid-2 { grid-template-columns: 1fr; }
  .photo-grid-2 .cell { aspect-ratio: 4/5; }

  .about-wrap { grid-template-columns: 1fr; }
  .about-img { min-height: 55vw; max-height: 70vw; }

  .tour-row { grid-template-columns: 60px 1fr; }
  .btn-tix { display: none; }

  .scroll-hint { display: none; }
}
