/* By Nance brand override — loaded on every page */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap");

:root {
  --color-terra: #DC9178;
  --color-terra-dark: #b66750;
  --color-blush: #FADCD0;
  --color-champagne: #E8D5C4;
  --color-cream: #FDF8F5;
  --color-charcoal: #2C2C2C;
  --color-gold: #8b6914;
  --color-taupe: #8a7a5e;
}

body {
  font-family: "DM Sans", sans-serif !important;
  color: #2c2417;
}

h1, h2, h3, h4,
.font-serif,
[class*="font-display"] {
  font-family: "Cormorant Garamond", serif !important;
  letter-spacing: 0.01em;
  font-weight: 500;
}

/* Replace Bagisto navyBlue accent with brand terra */
.bg-navyBlue,
[class*="bg-navyBlue"] {
  background-color: var(--color-terra) !important;
}
.text-navyBlue,
[class*="text-navyBlue"] {
  color: var(--color-terra) !important;
}
.border-navyBlue,
[class*="border-navyBlue"] {
  border-color: var(--color-terra) !important;
}
.hover\:bg-navyBlue:hover {
  background-color: var(--color-terra-dark) !important;
}

/* Primary buttons */
button[type="submit"],
button.primary-button,
.btn-primary,
a.btn-primary {
  background-color: var(--color-terra) !important;
  color: #fff !important;
  border-radius: 6px;
  font-family: "DM Sans", sans-serif !important;
  transition: background 0.15s;
}
button[type="submit"]:hover,
button.primary-button:hover,
.btn-primary:hover {
  background-color: var(--color-terra-dark) !important;
}

/* Home offer banner */
.home-offer {
  background: var(--color-cream) !important;
}

/* Page headers */
.page-title,
.page-header h1 {
  color: var(--color-charcoal);
  font-family: "Cormorant Garamond", serif !important;
}

/* Product cards */
.product-card,
[class*="product-card"] {
  border: 1px solid #ece3d5;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition: transform 0.25s, box-shadow 0.25s;
}
.product-card:hover,
[class*="product-card"]:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

/* Form inputs */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea,
select {
  border-color: #d5c9b8;
  border-radius: 6px;
  background: #faf8f5;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--color-terra) !important;
  box-shadow: 0 0 0 3px rgba(220, 145, 120, 0.15) !important;
  background: #fff;
}

/* Links */
a, a:hover {
  color: var(--color-terra);
}

/* Header nav */
header nav a {
  color: var(--color-charcoal);
  font-family: "DM Sans", sans-serif;
  font-weight: 500;
}
header nav a:hover {
  color: var(--color-terra);
}

/* Category page titles */
.category-name,
.category-page h1 {
  font-family: "Cormorant Garamond", serif !important;
  color: var(--color-charcoal);
}

/* Price */
.product-price,
[class*="price"] {
  color: var(--color-terra);
}

/* Section titles on home */
.top-collection-header h2,
.section-title h2,
.inline-col-title,
.overlay-text {
  font-family: "Cormorant Garamond", serif !important;
  color: var(--color-charcoal) !important;
}

/* Override blue accent in carousel */
[class*="swiper-pagination"] [class*="bg-"] {
  background-color: var(--color-terra) !important;
}

/* Offcanvas drawer, modals */
.offcanvas-header,
.modal-header {
  background: var(--color-cream);
  border-bottom: 1px solid var(--color-champagne);
}

/* Stars / badges */
.badge-featured {
  background: var(--color-terra);
  color: #fff;
}

/* Services section */
.services-content,
[class*="services"] {
  background: var(--color-cream);
}

/* Footer — black text on cream background for readability */
footer.bg-lightOrange,
footer {
  background-color: #fdf8f5 !important;
}
footer,
footer *,
footer a,
footer p,
footer li,
footer span,
footer label,
footer h1, footer h2, footer h3, footer h4,
footer .font-medium, footer .font-semibold, footer .font-bold {
  color: #1a1a1a !important;
}
footer h2, footer h3, footer .font-medium, footer .font-semibold {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
}
footer a:hover {
  color: var(--color-terra-dark) !important;
}
footer input[type="email"],
footer input[type="text"] {
  background: #fff !important;
  color: #1a1a1a !important;
  border: 1px solid #d5c9b8 !important;
}
footer input::placeholder {
  color: #8a7a5e !important;
  opacity: 1;
}
footer .border-t,
footer .border-b,
footer [class*="border-"] {
  border-color: #ece3d5 !important;
}
/* Copyright bar — kept terra-tinted, text remains black, link stays terra */
footer .bg-\[\#F1EADF\] {
  background-color: #f1eadf !important;
}
footer .bg-\[\#F1EADF\] a {
  color: var(--color-terra-dark) !important;
}

/* Header logo — 200% larger (forced over inline width/height attrs) */
header a[aria-label] > img,
header img[alt="By Nance"],
header img[src*="logo"] {
  height: 96px !important;
  min-height: 96px !important;
  max-height: 96px !important;
  width: auto !important;
  max-width: none !important;
  display: block !important;
  position: relative;
  z-index: 2;
}
header a[aria-label] {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  min-width: 260px;
  display: inline-flex;
  align-items: center;
}
header .shimmer {
  display: none !important;
}
@media (max-width: 768px) {
  header a[aria-label] > img,
  header img[alt="By Nance"],
  header img[src*="logo"] {
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
  }
  header a[aria-label] { min-width: 180px; }
}

/* Prevent search bar overflow */
header v-search,
header input[type="search"] {
  max-width: 320px;
}

/* Hero carousel — Vue 3 replaces <v-carousel> with its template root, so
   selectors must target the .nance-hero-carousel class we added to that root. */
.nance-hero-carousel {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 60vh !important;
  max-height: 640px !important;
  min-height: 360px !important;
  overflow: hidden !important;
}
.nance-hero-carousel > .inline-flex {
  display: flex !important;
  height: 100% !important;
  max-height: 100% !important;
}
.nance-hero-carousel .max-h-screen.w-screen {
  display: block !important;
  flex: 0 0 100vw !important;
  width: 100vw !important;
  height: 100% !important;
  max-height: 100% !important;
}
.nance-hero-carousel img {
  aspect-ratio: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}
@media (max-width: 768px) {
  .nance-hero-carousel {
    height: 50vh !important;
    min-height: 260px !important;
  }
}


/* === Persona pages (moved from inline <style>) === */
.persona{font-family:"DM Sans",sans-serif;color:#2c2417;line-height:1.75;--terra:#dc9178;--terra-dark:#b66750;--gold:#8b6914;--cream:#fdf8f5;--champagne:#fbeee4;--charcoal:#1c1710;--body:#4a4035;--line:#ece3d5;}
/* Reset overrides from global brand.css (h1-h4 !important + a{color:terra}) */
.persona a{color:inherit !important;text-decoration:none;}
.persona a.pbtn{text-decoration:none !important;}
.persona h1,.persona h2,.persona h3,.persona h4{letter-spacing:normal !important;font-weight:500 !important;}
.persona h1 em,.persona h2 em,.persona h3 em{font-weight:inherit !important;letter-spacing:inherit !important;}

.persona-hero{position:relative;min-height:64vh !important;padding:120px 24px 96px !important;overflow:hidden !important;display:flex !important;align-items:center !important;justify-content:center !important;text-align:center !important;margin:0 !important;width:100%;}
.persona-hero-bg{position:absolute !important;inset:0 !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important;min-height:100% !important;max-width:none !important;object-fit:cover !important;object-position:center center !important;z-index:0 !important;display:block !important;margin:0 !important;}
.persona-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,23,16,0.22) 0%,rgba(28,23,16,0.62) 100%);z-index:1;}
.persona-hero-inner{position:relative;z-index:2;color:#fff;max-width:820px;}
.persona-hero .eyebrow{display:inline-block;font-size:12px;letter-spacing:0.32em;text-transform:uppercase;margin-bottom:24px;color:#FADCD0;font-weight:500;}
.persona-hero h1{font-family:"Cormorant Garamond",serif !important;font-size:72px !important;line-height:1.02 !important;font-weight:500 !important;font-style:italic !important;margin:0 0 28px !important;letter-spacing:-0.015em !important;text-shadow:0 2px 28px rgba(0,0,0,0.35);color:#fff !important;}
.persona-hero h1 em{font-style:italic !important;color:#FADCD0 !important;font-weight:500 !important;letter-spacing:-0.015em !important;}
.persona-hero .sub{font-family:"Cormorant Garamond",serif;font-size:22px;line-height:1.5;font-style:italic;opacity:0.96;margin:0 auto 40px;max-width:680px;}
.persona-hero .actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.persona .pbtn{display:inline-block;padding:16px 34px;font-size:14px;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;text-decoration:none;border-radius:2px;transition:all 0.2s;border:1px solid transparent;font-family:"DM Sans",sans-serif;}
.persona-hero .pbtn-fill{background:#fff !important;color:var(--terra-dark) !important;border-color:#fff !important;}
.persona-hero .pbtn-fill:hover{background:var(--terra) !important;color:#fff !important;border-color:var(--terra) !important;}
.persona-hero .pbtn-ghost{background:transparent !important;border-color:rgba(255,255,255,0.6) !important;color:#fff !important;}
.persona-hero .pbtn-ghost:hover{border-color:#fff !important;background:rgba(255,255,255,0.1) !important;color:#fff !important;}

.persona-section{max-width:1080px;margin:0 auto;padding:96px 24px 0;}
.persona-section-header{text-align:center;max-width:720px;margin:0 auto 56px;}
.persona-section-header .overline{display:block;font-size:12px;letter-spacing:0.28em;text-transform:uppercase;color:var(--terra-dark);margin-bottom:16px;font-weight:500;}
.persona-section h2,.persona-cta-box h2{font-family:"Cormorant Garamond",serif !important;font-size:44px;line-height:1.15;font-weight:500 !important;font-style:italic;color:var(--charcoal) !important;margin:0 0 20px;}
.persona-section h2 em,.persona-cta-box h2 em{font-style:italic;color:var(--terra-dark) !important;}

.persona-usps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:16px;}
.persona-usp{background:#fff;padding:40px 32px;border:1px solid var(--line);border-radius:4px;text-align:left;transition:transform 0.25s,box-shadow 0.25s;}
.persona-usp:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(44,36,23,0.08);}
.persona-usp-icon{font-size:38px;margin-bottom:20px;line-height:1;}
.persona-usp h3{font-family:"Cormorant Garamond",serif !important;font-size:24px !important;line-height:1.3 !important;font-weight:500 !important;font-style:italic !important;color:var(--charcoal) !important;margin:0 0 14px !important;letter-spacing:normal !important;}
.persona-usp p{font-size:15.5px;line-height:1.7;color:var(--body);margin:0;}

.persona-sust{background:linear-gradient(180deg,var(--cream) 0%,var(--champagne) 100%);margin-top:96px;padding:72px 24px;text-align:center;}
.persona-sust-inner{max-width:780px;margin:0 auto;font-family:"Cormorant Garamond",serif;font-size:26px;line-height:1.45;font-style:italic;color:var(--charcoal);}
.persona-sust-inner strong{font-weight:600;color:var(--terra-dark);font-style:italic;}

.persona-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:16px;}
.persona-tier{padding:36px 28px 32px;background:var(--cream);border:1px solid var(--line);border-radius:4px;text-align:center;transition:border-color 0.2s;}
.persona-tier:hover{border-color:var(--terra);}
.persona-tier h3{font-family:"Cormorant Garamond",serif !important;font-size:26px !important;font-weight:500 !important;font-style:italic !important;margin:0 0 6px !important;color:var(--charcoal) !important;letter-spacing:normal !important;}
.persona-tier .price{font-family:"Cormorant Garamond",serif;font-size:40px;color:var(--terra-dark);font-weight:500;margin:8px 0 16px;line-height:1;}
.persona-tier p{font-size:14.5px;line-height:1.6;color:var(--body);margin:0;}

.persona-cta{margin:96px auto 0;max-width:960px;padding:0 24px;}
.persona-cta-box{background:linear-gradient(180deg,var(--cream) 0%,var(--champagne) 100%);padding:80px 40px;text-align:center;border-radius:4px;}
.persona-cta-box h2{font-family:"Cormorant Garamond",serif;font-size:44px;line-height:1.15;font-weight:500;font-style:italic;color:var(--charcoal);margin:0 0 16px;}
.persona-cta-box p{font-size:17px;color:var(--body);max-width:620px;margin:0 auto 36px;line-height:1.7;}
.persona-cta-box .pbtn{display:inline-block;padding:18px 44px;font-size:14px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;text-decoration:none;border-radius:2px;transition:all 0.2s;margin:4px 8px;border:1px solid transparent;font-family:"DM Sans",sans-serif;}
.persona-cta-box .pbtn-fill{background:var(--terra) !important;color:#fff !important;border-color:var(--terra) !important;}
.persona-cta-box .pbtn-fill:hover{background:var(--terra-dark) !important;border-color:var(--terra-dark) !important;}
.persona-cta-box .pbtn-ghost{background:transparent !important;color:var(--terra-dark) !important;border-color:var(--terra-dark) !important;}
.persona-cta-box .pbtn-ghost:hover{background:var(--terra-dark) !important;color:#fff !important;}

.persona-b2b{margin:72px auto 96px;max-width:960px;padding:0 24px;}
.persona-b2b-inner{background:#fff;border:1px solid var(--line);border-radius:4px;padding:40px 44px;display:flex;align-items:center;justify-content:space-between;gap:32px;}
.persona-b2b-text h4{font-family:"Cormorant Garamond",serif !important;font-size:22px !important;font-weight:500 !important;font-style:italic !important;margin:0 0 8px !important;color:var(--charcoal) !important;letter-spacing:normal !important;}
.persona-b2b-text p{font-size:15px;line-height:1.65;color:var(--body);margin:0;max-width:560px;}
.persona-b2b .pbtn{flex-shrink:0;display:inline-block;padding:14px 28px;font-size:13px;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;text-decoration:none;border-radius:2px;background:var(--terra) !important;color:#fff !important;border:1px solid var(--terra) !important;transition:all 0.2s;font-family:"DM Sans",sans-serif;}
.persona-b2b .pbtn:hover{background:var(--terra-dark) !important;border-color:var(--terra-dark) !important;}

@media(max-width:960px){
  .persona-hero{min-height:54vh;padding:80px 20px 64px;}
  .persona-hero h1{font-size:44px;}
  .persona-hero .sub{font-size:19px;}
  .persona-section{padding:64px 20px 0;}
  .persona-section h2{font-size:32px;}
  .persona-usps,.persona-tiers{grid-template-columns:1fr;gap:20px;}
  .persona-sust{margin-top:64px;padding:56px 20px;}
  .persona-sust-inner{font-size:21px;}
  .persona-cta{margin-top:72px;}
  .persona-cta-box{padding:56px 24px;}
  .persona-cta-box h2{font-size:32px;}
  .persona-cta-box .btn{display:block;margin:10px auto;max-width:280px;}
  .persona-b2b{margin:56px auto 72px;}
  .persona-b2b-inner{flex-direction:column;text-align:center;padding:32px 24px;}
}


/* === About-Us page (moved from inline <style>) === */
.about-page{max-width:960px;margin:60px auto 80px;padding:0 24px;font-family:"DM Sans",sans-serif;color:#2c2417;line-height:1.75;}
.about-page .eyebrow{display:block;font-size:12px;letter-spacing:0.28em !important;text-transform:uppercase;color:#b66750 !important;margin-bottom:20px;font-weight:500 !important;}
.about-page h1{font-family:"Cormorant Garamond",serif !important;font-size:64px !important;line-height:1.05 !important;font-weight:500 !important;font-style:italic !important;color:#1c1710 !important;margin:0 0 20px !important;letter-spacing:-0.01em !important;}
.about-page h2{font-family:"Cormorant Garamond",serif !important;font-size:36px !important;line-height:1.2 !important;font-weight:500 !important;color:#2c2417 !important;margin:72px 0 20px !important;font-style:italic !important;position:relative;padding-top:24px;letter-spacing:normal !important;}
.about-page h2::before{content:"";position:absolute;top:0;left:0;width:56px;height:1px;background:linear-gradient(90deg,#dc9178 0%,transparent 100%);}
.about-page h3{font-family:"Cormorant Garamond",serif !important;font-weight:500 !important;font-style:italic !important;letter-spacing:normal !important;}
.about-page .lead{font-family:"Cormorant Garamond",serif !important;font-size:26px !important;line-height:1.5 !important;color:#3a3025 !important;font-weight:400 !important;font-style:italic !important;margin:0 0 48px !important;max-width:760px;}
.about-page p{font-size:17px;color:#4a4035 !important;margin:0 0 20px;}
.about-page figure{margin:48px 0;position:relative;}
.about-page figure img{width:100% !important;max-width:100% !important;height:auto !important;border-radius:2px;box-shadow:0 30px 60px rgba(44,36,23,0.12);display:block !important;}
.about-page figcaption{font-family:"Cormorant Garamond",serif !important;font-style:italic;font-size:15px;color:#8b6914 !important;text-align:center;margin-top:16px;letter-spacing:0.02em;}
.about-page .ornament{text-align:center;margin:56px 0;color:#dc9178;font-family:"Cormorant Garamond",serif;font-size:24px;letter-spacing:0.6em;}
.about-page .pullquote{font-family:"Cormorant Garamond",serif !important;font-size:30px !important;line-height:1.35 !important;font-style:italic !important;color:#b66750 !important;text-align:center !important;padding:48px 20px !important;margin:56px 0 !important;border-top:1px solid #ece3d5;border-bottom:1px solid #ece3d5;position:relative;letter-spacing:normal !important;}
.about-page .pullquote::before{content:"\201C";position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:#fff;padding:0 20px;font-size:56px;color:#dc9178;font-style:normal;line-height:1;}
.about-page .meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:64px 0;padding:40px 24px;background:linear-gradient(180deg,#fdf8f5 0%,#fbeee4 100%);border-radius:4px;}
.about-page .meta-item{text-align:center;}
.about-page .meta-item strong{display:block !important;font-family:"Cormorant Garamond",serif !important;font-size:44px !important;color:#b66750 !important;font-weight:500 !important;font-style:italic !important;margin-bottom:6px !important;line-height:1 !important;letter-spacing:normal !important;}
.about-page .meta-item span{font-size:12px;letter-spacing:0.22em !important;text-transform:uppercase;color:#8b6914 !important;}
.about-page .visit-card{background:#fdf8f5;border:1px solid #ece3d5;border-radius:4px;padding:40px;margin:56px 0;text-align:center;}
.about-page .visit-card h3{font-family:"Cormorant Garamond",serif !important;font-style:italic !important;font-size:28px !important;margin:0 0 20px !important;color:#2c2417 !important;letter-spacing:normal !important;}
.about-page .visit-card p{margin:0 0 8px;font-size:16px;}
.about-page .visit-card a{color:#b66750 !important;text-decoration:none !important;border-bottom:1px solid rgba(182,103,80,0.3);transition:border-color 0.2s;}
.about-page .visit-card a:hover{border-color:#b66750;}
.about-page .signature{font-family:"Cormorant Garamond",serif !important;font-style:italic !important;font-size:36px !important;color:#b66750 !important;margin-top:48px;text-align:right;letter-spacing:normal !important;}
@media(max-width:768px){
  .about-page h1{font-size:42px !important;}
  .about-page h2{font-size:28px !important;margin:56px 0 16px !important;}
  .about-page .lead{font-size:20px !important;}
  .about-page .meta-grid{grid-template-columns:1fr;gap:24px;padding:32px 20px;}
  .about-page .pullquote{font-size:22px !important;padding:32px 16px !important;}
  .about-page .visit-card{padding:28px 20px;}
  .about-page .signature{font-size:28px !important;text-align:center;}
}
