@import url("https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap");

:root {
  --dv-ink: #33302e;
  --dv-ink-2: #1c1b1a;
  --dv-muted: #5d5a57;
  --dv-line: #e3dfd9;
  --dv-paper: #ffffff;
  --dv-cream: #f1eee7;
  --dv-cream-2: #f6f4ef;
  --dv-btn: #4e4b4a;
  --dv-btn-hover: #35322f;
  --dv-serif: "Crimson Text", "Times New Roman", Georgia, serif;
  --dv-sans: "Inter", "HK Grotesk", "Helvetica Neue", Arial, sans-serif;
}

body.dvstore { font-family: var(--dv-sans); color: var(--dv-ink); }
body.dvstore h1, body.dvstore h2, body.dvstore h3, body.dvstore h4 { font-family: var(--dv-serif); font-weight: 400; }

/* ---------- header ---------- */
.dvstore #top-bar { display: none !important; }
.dvstore .header-main { background: #fff; border-bottom: 1px solid var(--dv-line); }
.dvstore .header-main .logo, .dvstore .header-main #logo { margin: 0; }
.dvstore .header-main .logo a,
.dvstore .header-main #logo a {
  display: block; width: 132px; height: 34px; overflow: hidden;
  background: url("../img/logo.svg") no-repeat left center / contain;
  font-size: 0 !important; line-height: 0 !important; color: transparent !important;
}
.dvstore .header-main .logo a img,
.dvstore .header-main #logo a img { display: none !important; }
.dvstore .nav-spacing-medium .header-nav > li > a { padding-left: 14px; padding-right: 14px; }
.dvstore .header-nav > li > a {
  font-family: var(--dv-sans) !important;
  font-size: 13.5px !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  font-weight: 400 !important;
  color: var(--dv-ink) !important;
}
.dvstore .header-nav > li > a:hover { color: #000 !important; text-decoration: underline; text-underline-offset: 7px; }
.dvstore .header-nav > li.is-divider:before { background: var(--dv-line); }
.dvstore .header-bottom { border-top: 0; }
.dvstore .header-newsletter-item, .dvstore .header-cart-title { font-family: var(--dv-sans) !important; font-size: 13px !important; }
.dvstore .header-search-form, .dvstore .searchform input[type="search"] { font-family: var(--dv-sans); }
.dvstore .sticky-add-to-cart, .dvstore .wc-proceed-to-checkout a { font-family: var(--dv-sans); }
.dvstore .nav-dropdown > li > a, .dvstore .nav-dropdown a { font-family: var(--dv-sans); font-size: 13px; letter-spacing: .01em; }
.dvstore .mobile-sidebar .nav > li > a, .dvstore .nav-sidebar > li > a {
  font-family: var(--dv-sans) !important; font-size: 14px !important; letter-spacing: .02em !important;
  text-transform: none !important; font-weight: 400 !important; color: var(--dv-ink) !important;
}
.dvstore .mobile-sidebar .nav > li > a .nav-dropdown-indicator, .dvstore .nav-sidebar .nav-dropdown-indicator { opacity: .55; }
.dvstore .mobile-sidebar button.factory-mobile-parent, .dvstore .nav-sidebar button.factory-mobile-parent {
  font-family: var(--dv-sans) !important; font-size: 14px !important; letter-spacing: .02em !important;
  text-transform: none !important; font-weight: 400 !important; color: var(--dv-ink) !important;
}
.dvstore .mobile-sidebar .toggle, .dvstore .nav-sidebar .toggle { color: var(--dv-ink) !important; }
.dvstore .header-main { box-shadow: none; }

/* ---------- footer ---------- */
.dvstore .footer-2 { background: var(--dv-cream-2) !important; color: var(--dv-ink) !important; border-top: 1px solid var(--dv-line); }
.dvstore .footer-2 .widget-title { font-family: var(--dv-serif); font-size: 18px; letter-spacing: 0; text-transform: none; color: var(--dv-ink) !important; }
.dvstore .footer-2 .is-divider { background: rgba(0,0,0,.15); }
.dvstore .footer-2 a, .dvstore .footer-2 p, .dvstore .footer-2 li { color: var(--dv-ink) !important; font-family: var(--dv-sans); font-size: 13px; }
.dvstore .footer-2 a:hover { color: #000 !important; text-decoration: underline; text-underline-offset: 4px; }
.dvstore .footer-2 .mc4wp-form input[type="email"], .dvstore .footer-2 input[type="email"] { border: 1px solid #d6d1c9; background: #fff; font-family: var(--dv-sans); }
.dvstore .footer-2 input[type="submit"], .dvstore .footer-2 button[type="submit"] { background: var(--dv-ink-2) !important; color: #fff !important; border: 0; letter-spacing: .12em; }
.dvstore .absolute-footer { background: #fff !important; color: var(--dv-muted) !important; border-top: 1px solid var(--dv-line); }
.dvstore .absolute-footer .copyright-footer { font-size: 0 !important; }
.dvstore .absolute-footer .copyright-footer::after { content: "© 2026 Davines North America Inc. — All rights reserved."; font-size: 12px; color: var(--dv-muted); }
.dv-foot-col__title { font-family: var(--dv-serif); font-size: 18px; letter-spacing: 0; margin: 0 0 16px; color: var(--dv-ink); }
.dv-foot-col__item { margin: 0 0 11px; font-family: var(--dv-sans); font-size: 13px; line-height: 1.4; }
.dv-foot-col__item a { color: var(--dv-ink); text-decoration: none; }
.dv-foot-col__item a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 849px) { .dv-foot-col__title { margin-bottom: 10px; } .dv-foot-col__item { margin-bottom: 8px; } }

/* ---------- shared UI ---------- */
.dv-module { width: 100%; }
.dv-section-title {
  margin: 0 0 22px; font-family: var(--dv-serif); font-size: 40px; line-height: 1.15;
  font-weight: 400; letter-spacing: 0; color: var(--dv-ink);
}
.dv-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 158px; padding: 14px 26px; line-height: 1;
  font-family: var(--dv-sans); font-size: 13px; letter-spacing: .02em; text-transform: none;
  background: var(--dv-btn); color: #fff !important; border: 1px solid var(--dv-btn);
  text-decoration: none; transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.dv-btn:hover { background: var(--dv-btn-hover); border-color: var(--dv-btn-hover); color: #fff !important; }
.dv-btn--outline { background: transparent; color: var(--dv-ink) !important; border-color: #c9c4bc; }
.dv-btn--outline:hover { background: var(--dv-btn); border-color: var(--dv-btn); color: #fff !important; }
.dv-btn--dark { background: var(--dv-ink-2); border-color: var(--dv-ink-2); }
.dv-btn--dark:hover { background: #000; border-color: #000; }

/* ---------- product card ---------- */
.dv-card { display: flex; flex-direction: column; min-width: 0; font-family: var(--dv-sans); }
.dv-card__media { position: relative; display: block; overflow: hidden; background: #fff; aspect-ratio: 1 / 1; }
.dv-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 7%; display: block; transition: transform .6s ease; background: #fff; }
.dv-card:hover .dv-card__media img { transform: scale(1.04); }
.dv-card__ph { position: absolute; inset: 0; background: var(--dv-cream-2); }
.dv-card__badge {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: var(--dv-ink-2); color: #fff; font-size: 11px; font-weight: 500;
  letter-spacing: .06em; line-height: 1; padding: 7px 9px; border-radius: 0;
}
.dv-card__quick {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 12px; text-align: center;
  font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase;
  background: rgba(255,255,255,.95); color: var(--dv-ink);
  opacity: 0; transform: translateY(8px); transition: opacity .25s ease, transform .25s ease;
}
.dv-card:hover .dv-card__quick, .dv-card:focus-within .dv-card__quick { opacity: 1; transform: translateY(0); }
.dv-card__title { margin: 14px 0 5px; font-family: var(--dv-sans); font-size: 13.5px; font-weight: 400; line-height: 1.45; color: var(--dv-ink); letter-spacing: 0; }
.dv-card__title a { color: inherit; text-decoration: none; }
.dv-card__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.dv-card__price { font-size: 13px; color: var(--dv-ink); }
.dv-card__now { font-weight: 500; }
.dv-card__was { color: var(--dv-muted); margin-left: 6px; font-weight: 400; }
.dv-empty { padding: 40px 20px; text-align: center; color: var(--dv-muted); font-family: var(--dv-sans); }

@media (max-width: 849px) {
  .dvstore .header-main .logo a, .dvstore .header-main #logo a { width: 104px; height: 28px; }
  .dv-section-title { font-size: 27px; margin-bottom: 16px; }
  .dv-btn { min-width: 132px; padding: 12px 20px; font-size: 12px; }
  .dv-card__badge { top: 8px; left: 8px; font-size: 10px; padding: 5px 7px; }
  .dv-card__title { font-size: 12.5px; margin-top: 10px; }
  .dv-card__price { font-size: 12px; }
  .dv-card__quick { display: none; }
}
