
:root {
  --cream:#faf7f1;
  --ivory:#f4ece0;
  --gold:#a7814e;
  --dark:#29251f;
  --muted:#655b50;
  --border:#e5dacc;
}

* {box-sizing:border-box}

html {
  scroll-behavior:smooth;
  scroll-padding-top:120px;
}

body {
  margin:0;
  padding-top:110px;
  background:var(--cream);
  color:var(--dark);
  font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
}

a {text-decoration:none;color:inherit}
button,select {font:inherit}
button {cursor:pointer}

h1,h2,h3 {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:normal;
}

.announcement {
  position:fixed;
  top:0;left:0;right:0;
  height:34px;
  z-index:101;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--dark);
  color:#fff7e9;
  font-size:10px;
  letter-spacing:2.5px;
  text-align:center;
}

header {
  position:fixed;
  top:34px;left:0;right:0;
  z-index:100;
  background:rgba(250,247,241,.97);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  box-shadow:0 5px 25px #281e1412;
}

.nav {
  max-width:1240px;
  min-height:76px;
  padding:12px 25px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.logo img {
  display:block;
  height:52px;
  width:auto;
  max-width:180px;
  object-fit:contain;
}

.nav-links {
  display:flex;
  align-items:center;
  gap:30px;
}

.nav-links a {
  font-size:12px;
  font-weight:600;
  letter-spacing:1.3px;
}

.nav-links a:hover {color:var(--gold)}

.nav-actions {
  display:flex;
  align-items:center;
  gap:10px;
}

.region {
  background:#fffaf4;
  border:1px solid #d8c7b1;
  border-radius:4px;
  padding:11px;
  color:var(--dark);
  font-size:12px;
  font-weight:600;
}

.menu-button {
  display:none;
  border:0;
  background:transparent;
  color:var(--dark);
  font-size:25px;
}

.hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:630px;
  background:#eee2d2;
}

.hero-content {
  padding:clamp(40px,7vw,105px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  background:linear-gradient(135deg,#f5eee5,#e8d7c1);
}

.eyebrow {
  color:#906d3d;
  font-size:11px;
  font-weight:bold;
  letter-spacing:2.7px;
  text-transform:uppercase;
}

.hero h1 {
  font-size:clamp(48px,5.6vw,82px);
  line-height:1.09;
  letter-spacing:-1.5px;
  margin:22px 0;
}

.hero h1 em {color:#9d7847}

.hero p {
  max-width:430px;
  color:#62574c;
  font-size:16px;
  line-height:1.9;
}

.hero-art {
  position:relative;
  min-height:630px;
  overflow:hidden;
}

.hero-art img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.btn {
  display:inline-block;
  border:1px solid var(--dark);
  border-radius:3px;
  background:var(--dark);
  color:white;
  padding:16px 24px;
  margin-top:24px;
  font-size:12px;
  font-weight:bold;
  letter-spacing:1.2px;
  text-align:center;
  transition:.25s;
}

.btn:hover {
  background:var(--gold);
  border-color:var(--gold);
  transform:translateY(-2px);
}

.highlights {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:28px 5%;
  background:#f0e7db;
  border-bottom:1px solid var(--border);
}

.highlight {
  padding:12px;
  text-align:center;
  border-right:1px solid #ded0bf;
}

.highlight:last-child {border-right:0}

.highlight strong {
  display:block;
  font-size:14px;
}

.highlight span {
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
}

.section {
  max-width:1240px;
  margin:auto;
  padding:95px 25px;
}

.section-heading {
  text-align:center;
  margin-bottom:40px;
}

.section-heading h2 {
  font-size:clamp(36px,4vw,54px);
  margin:14px 0;
}

.section-heading p {
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
}

.filters {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:36px;
}

.filter {
  padding:12px 19px;
  background:transparent;
  border:1px solid #d9c9b6;
  border-radius:3px;
  font-size:12px;
  font-weight:600;
}

.filter.active {
  background:var(--dark);
  border-color:var(--dark);
  color:white;
}

.products {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:27px;
}

.product {
  overflow:hidden;
  background:#fffdfa;
  border:1px solid #e9e0d4;
  border-radius:7px;
  box-shadow:0 5px 18px #59452d0b;
  transition:.25s;
}

.product:hover {
  transform:translateY(-5px);
  box-shadow:0 18px 40px #59452d20;
}

.product-image {
  display:block;
  width:100%;
  aspect-ratio:1/1;
  position:relative;
  overflow:hidden;
  background:var(--ivory);
}

.product-image img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .4s;
}

.product:hover .product-image img {
  transform:scale(1.035);
}

.product-info {padding:25px}

.product-info h3 {
  font-size:29px;
  margin:0 0 9px;
}

.product-desc {
  color:#746859;
  font-size:13px;
  letter-spacing:.4px;
}

.sizes {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:21px;
}

.size {
  min-width:57px;
  padding:10px 11px;
  border:1px solid #d8cbbb;
  border-radius:3px;
  background:transparent;
  color:var(--dark);
  font-size:12px;
  font-weight:600;
}

.size.active {
  background:var(--dark);
  color:white;
  border-color:var(--dark);
}

.price {
  min-height:38px;
  margin-top:19px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.price strong {font-size:22px}

.old-price {
  color:#766b60;
  font-size:15px;
  text-decoration:line-through;
}

.discount {
  padding:7px 9px;
  background:#e6efe4;
  color:#285b36;
  border-radius:3px;
  font-size:11px;
  font-weight:bold;
}

.order-btn {
  display:block;
  width:100%;
  margin-top:20px;
}

.details-link {
  display:block;
  text-align:center;
  margin-top:15px;
  color:#906d3d;
  font-size:13px;
  font-weight:bold;
}

.pricing-note {
  text-align:center;
  margin-top:25px;
  color:var(--muted);
  font-size:13px;
}

.story {
  padding:105px 25px;
  text-align:center;
  background:linear-gradient(120deg,#e6d4bc,#f1e5d4);
}

.story h2 {
  font-size:clamp(38px,4.5vw,56px);
  margin:17px 0;
}

.story p {
  max-width:680px;
  margin:auto;
  color:#625548;
  font-size:16px;
  line-height:1.9;
}

.contact {
  padding:95px 25px;
  text-align:center;
}

.contact h2 {
  font-size:clamp(36px,4vw,50px);
}

.contact p {
  color:var(--muted);
  line-height:1.8;
}

footer {
  background:var(--dark);
  color:#f5ebdd;
  padding:55px 28px;
}

.footer-inner {
  max-width:1240px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}

.footer-logo {
  display:block;
  max-width:160px;
  max-height:60px;
  object-fit:contain;
  margin-bottom:10px;
}

footer small {
  color:#c5b7a6;
  line-height:1.8;
}

.toast {
  position:fixed;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  max-width:90%;
  padding:16px 22px;
  background:var(--dark);
  color:white;
  border-radius:4px;
  z-index:200;
  display:none;
  text-align:center;
  font-size:13px;
}

/* PRODUCT DETAILS */

.product-page {padding-top:55px}

.breadcrumb {
  margin-bottom:35px;
  color:#756959;
  font-size:13px;
}

.breadcrumb a:hover {color:var(--gold)}

.product-detail-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
  align-items:center;
}

.detail-image {
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:8px;
  background:var(--ivory);
}

.detail-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.detail-content h1 {
  font-size:clamp(45px,5vw,70px);
  margin:15px 0;
}

.detail-notes {
  color:#746859;
  font-size:15px;
}

.detail-price {margin:25px 0}

.detail-description {
  color:var(--muted);
  font-size:16px;
  line-height:1.9;
}

.detail-content h3 {
  margin:30px 0 0;
  font-size:23px;
}

.detail-order {
  display:block;
  width:100%;
  margin-top:30px;
}

.delivery-note {
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
}

.fragrance-info {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  margin-top:90px;
  padding-top:55px;
  border-top:1px solid var(--border);
}

.fragrance-info h2 {font-size:40px}

.fragrance-info p {
  color:var(--muted);
  line-height:1.9;
}

.info-panel {
  padding:30px;
  background:#f1e8db;
  border-radius:6px;
}

.info-panel h3 {font-size:27px}

.related-section {padding-top:20px}

[hidden] {display:none!important}

@media(max-width:900px) {
  .products {grid-template-columns:repeat(2,1fr)}
  .nav-links {gap:14px}
  .hero-art {min-height:520px}
  .product-detail-grid {gap:30px}
}

@media(max-width:700px) {
  .menu-button {display:block}
  .nav-links {display:none}

  .nav-links.open {
    display:flex;
    position:absolute;
    top:100%;
    left:0;right:0;
    flex-direction:column;
    align-items:stretch;
    padding:22px;
    gap:22px;
    background:var(--cream);
    border-bottom:1px solid var(--border);
  }

  .hero {grid-template-columns:1fr}
  .hero-content {padding:60px 25px}

  .hero-art {
    min-height:0;
    aspect-ratio:16/10;
  }

  .highlights {grid-template-columns:1fr}

  .highlight {
    border-right:0;
    border-bottom:1px solid #ded0bf;
  }

  .highlight:last-child {border-bottom:0}

  .product-detail-grid,
  .fragrance-info {
    grid-template-columns:1fr;
    gap:25px;
  }

  .fragrance-info {margin-top:50px}

  .footer-inner {
    flex-direction:column;
    text-align:center;
  }

  .footer-logo {margin:0 auto 12px}
}

@media(max-width:520px) {
  body {padding-top:97px}
  html {scroll-padding-top:105px}

  .announcement {
    height:30px;
    font-size:9px;
    letter-spacing:1.5px;
  }

  header {top:30px}

  .nav {
    min-height:67px;
    padding:12px 15px;
    gap:8px;
  }

  .logo img {
    height:40px;
    max-width:135px;
  }

  .region {
    padding:9px 5px;
    font-size:11px;
  }

  .hero h1 {font-size:48px}
  .section {padding:65px 18px}
  .products {grid-template-columns:1fr}
  .product-info {padding:22px}
  .story,.contact {padding:75px 24px}
  .detail-content h1 {font-size:48px}
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition:none!important;
  }
}
