/* Sweet BakeArt — premium legal pages */
:root {
  --legal-wine: #852d38;
  --legal-wine-deep: #561b26;
  --legal-rose: #f5c5d9;
  --legal-rose-soft: #fff4f8;
  --legal-cream: #fffaf7;
  --legal-ink: #3c2027;
  --legal-copy: #73545b;
  --legal-line: rgba(133, 45, 56, .13);
  --legal-shadow: 0 24px 70px rgba(73, 19, 34, .12);
  --legal-shadow-soft: 0 14px 38px rgba(73, 19, 34, .08);
  --legal-radius: 28px;
  --legal-max: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.page-privacy,
body.page-terms {
  margin: 0;
  overflow-x: hidden;
  color: var(--legal-copy);
  background:
    radial-gradient(circle at 5% 35%, rgba(245,197,217,.26), transparent 25rem),
    radial-gradient(circle at 96% 72%, rgba(133,45,56,.08), transparent 26rem),
    linear-gradient(180deg, #fffafb 0%, #fdf6f8 52%, #fffaf7 100%);
  font-family: "Open Sans", Arial, sans-serif;
  line-height: 1.75;
}
body.page-privacy h1,
body.page-privacy h2,
body.page-privacy h3,
body.page-terms h1,
body.page-terms h2,
body.page-terms h3 {
  font-family: "Playfair Display", Georgia, serif;
}
body.page-privacy a,
body.page-terms a { text-decoration: none; }
body.page-privacy .container,
body.page-terms .container { width: min(92%, var(--legal-max)); margin-inline: auto; }

/* Accessible jump link */
.legal-skip {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 11000;
  padding: .7rem 1rem;
  border-radius: 999px;
  color: #fff;
  background: var(--legal-wine);
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.legal-skip:focus { transform: translateY(0); }

/* Header */
body:is(.page-privacy,.page-terms) header.navbar,
body:is(.page-privacy,.page-terms) header.navbar.scrolled,
body:is(.page-privacy,.page-terms) header.navbar.polish-scrolled {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  width: 100%;
  border: 0;
  background: linear-gradient(180deg, rgba(35,10,17,.48), transparent);
  box-shadow: none;
  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body:is(.page-privacy,.page-terms) header.navbar.polish-scrolled {
  background: rgba(255,250,251,.96);
  border-bottom: 1px solid rgba(133,45,56,.09);
  box-shadow: 0 14px 38px rgba(53,15,25,.09);
}
body:is(.page-privacy,.page-terms) .nav-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body:is(.page-privacy,.page-terms) .logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
body:is(.page-privacy,.page-terms) .logo img {
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.18));
}
body:is(.page-privacy,.page-terms) nav.nav-links {
  position: absolute;
  left: 50%;
  display: flex;
  align-items: center;
  transform: translateX(-50%);
}
body:is(.page-privacy,.page-terms) .nav-links a {
  position: relative;
  color: rgba(255,255,255,.92) !important;
  font-weight: 700;
  letter-spacing: .01em;
  text-shadow: 0 1px 12px rgba(0,0,0,.25);
}
body:is(.page-privacy,.page-terms) header.navbar.polish-scrolled .nav-links a {
  color: var(--legal-wine) !important;
  text-shadow: none;
}
body:is(.page-privacy,.page-terms) .nav-links a::after {
  content: "";
  position: absolute;
  left: .34rem;
  right: .34rem;
  bottom: .2rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0;
  transform: scaleX(.4);
  transition: opacity .18s ease, transform .18s ease;
}
body:is(.page-privacy,.page-terms) .nav-links a:hover::after,
body:is(.page-privacy,.page-terms) .nav-links a:focus-visible::after {
  opacity: .8;
  transform: scaleX(1);
}
body:is(.page-privacy,.page-terms) .nav-right {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-left: auto;
}
body:is(.page-privacy,.page-terms) .cart-icon,
body:is(.page-privacy,.page-terms) .menu-toggle {
  position: relative;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  color: var(--legal-wine);
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 26px rgba(38,9,16,.14);
}
body:is(.page-privacy,.page-terms) .menu-toggle { display: none; cursor: pointer; }
body:is(.page-privacy,.page-terms) .cart-icon i,
body:is(.page-privacy,.page-terms) .menu-toggle i { color: var(--legal-wine); }
body:is(.page-privacy,.page-terms) #cart-count {
  position: absolute;
  top: -6px;
  right: -5px;
  min-width: 21px;
  height: 21px;
  padding-inline: 5px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: var(--legal-wine);
  font-size: .68rem;
  font-weight: 800;
}

/* Hero */
.legal-hero {
  position: relative;
  min-height: 470px;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: var(--legal-wine-deep);
}
.legal-hero__media,
.legal-hero__media img,
.legal-hero__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.legal-hero__media { z-index: -3; margin: 0; }
.legal-hero__media img { object-fit: cover; object-position: center 45%; }
.legal-hero__overlay {
  z-index: -2;
  background:
    radial-gradient(circle at 78% 25%, rgba(245,197,217,.28), transparent 30%),
    linear-gradient(100deg, rgba(49,11,21,.94) 0%, rgba(81,22,36,.82) 46%, rgba(40,8,16,.57) 100%);
}
.legal-hero::before,
.legal-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  pointer-events: none;
}
.legal-hero::before { width: 390px; height: 390px; right: -95px; top: -150px; }
.legal-hero::after { width: 250px; height: 250px; right: 10%; bottom: -180px; }
.legal-hero__inner { padding: 125px 0 72px; }
.legal-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: 1.35rem;
  color: rgba(255,255,255,.8);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.legal-breadcrumb a { color: #fff; }
.legal-breadcrumb i { font-size: .62rem; opacity: .7; }
.legal-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: 1rem;
  padding: .45rem .76rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.1);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.legal-hero h1 {
  max-width: 780px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.55rem, 6vw, 5rem);
  line-height: 1.02;
  letter-spacing: -.035em;
  text-shadow: 0 12px 30px rgba(0,0,0,.18);
}
.legal-hero__intro {
  max-width: 720px;
  margin: 1.1rem 0 1.5rem;
  color: rgba(255,255,255,.86);
  font-size: clamp(1rem, 1.6vw, 1.16rem);
  line-height: 1.75;
}
.legal-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.legal-hero__meta span {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  padding: .58rem .82rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  color: rgba(255,255,255,.9);
  background: rgba(255,255,255,.08);
  font-size: .83rem;
  font-weight: 700;
}
.legal-hero__meta i { color: var(--legal-rose); }

/* Main legal content */
.legal-main { position: relative; padding: clamp(3.5rem, 7vw, 6.5rem) 0; }
.legal-main::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 100%;
  height: 56px;
  transform: translateY(-98%);
  background: linear-gradient(175deg, transparent 0 48%, #fffafb 49% 100%);
  pointer-events: none;
}
.legal-layout {
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(0, 2.2fr);
  gap: clamp(1.5rem, 4vw, 3.2rem);
  align-items: start;
}
.legal-index {
  position: sticky;
  top: 108px;
  padding: 1.25rem;
  border: 1px solid var(--legal-line);
  border-radius: 22px;
  background: rgba(255,255,255,.8);
  box-shadow: var(--legal-shadow-soft);
  backdrop-filter: blur(12px);
}
.legal-index__label {
  display: flex;
  align-items: center;
  gap: .52rem;
  margin-bottom: .8rem;
  color: var(--legal-wine);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.legal-index h2 {
  margin: 0 0 1rem;
  color: var(--legal-ink);
  font-size: 1.38rem;
}
.legal-index nav { display: grid; gap: .26rem; }
.legal-index a {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: .55rem;
  align-items: center;
  padding: .52rem .58rem;
  border-radius: 10px;
  color: var(--legal-copy);
  font-size: .83rem;
  font-weight: 650;
  line-height: 1.35;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.legal-index a span:first-child {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--legal-wine);
  background: rgba(245,197,217,.45);
  font-size: .67rem;
  font-weight: 900;
}
.legal-index a:hover,
.legal-index a:focus-visible,
.legal-index a.is-active {
  color: var(--legal-wine);
  background: var(--legal-rose-soft);
  transform: translateX(2px);
  outline: none;
}
.legal-index a.legal-index__switch {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1rem;
  padding: .8rem;
  border-radius: 14px;
  color: #fff !important;
  background: linear-gradient(135deg, var(--legal-wine-deep), var(--legal-wine));
  font-weight: 800 !important;
  box-shadow: 0 12px 26px rgba(99,27,44,.2);
}
.legal-index a.legal-index__switch span:first-child {
  color: #fff !important;
  background: rgba(255,255,255,.14) !important;
}

.legal-document {
  min-width: 0;
  padding: clamp(1.35rem, 4vw, 3rem);
  border: 1px solid rgba(133,45,56,.1);
  border-radius: var(--legal-radius);
  background: rgba(255,255,255,.93);
  box-shadow: var(--legal-shadow);
}
.legal-document__lead {
  position: relative;
  margin-bottom: 1.2rem;
  padding: 1.2rem 1.25rem 1.2rem 1.35rem;
  overflow: hidden;
  border: 1px solid rgba(133,45,56,.1);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(245,197,217,.23), rgba(255,250,247,.92));
  color: var(--legal-ink);
  font-size: 1.02rem;
}
.legal-document__lead::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(var(--legal-wine), var(--legal-rose));
}
.legal-section {
  position: relative;
  scroll-margin-top: 110px;
  padding: 1.8rem 0;
  border-bottom: 1px solid var(--legal-line);
}
.legal-section:last-of-type { border-bottom: 0; }
.legal-section__head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: .9rem;
  align-items: center;
  margin-bottom: .75rem;
}
.legal-section__number {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(133,45,56,.13);
  border-radius: 15px;
  color: var(--legal-wine);
  background: linear-gradient(145deg, #fff, #fae8ef);
  box-shadow: 0 8px 20px rgba(84,21,37,.08);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.08rem;
  font-weight: 800;
}
.legal-section h2 {
  margin: 0;
  color: var(--legal-ink);
  font-size: clamp(1.35rem, 2.4vw, 1.72rem);
  letter-spacing: -.01em;
}
.legal-section p { margin: 0; color: var(--legal-copy); }
.legal-section p + p { margin-top: .75rem; }
.legal-section ul {
  display: grid;
  gap: .72rem;
  margin: .2rem 0 0;
  padding: 0;
  list-style: none;
}
.legal-section li {
  position: relative;
  padding-left: 1.55rem;
  color: var(--legal-copy);
}
.legal-section li::before {
  content: "";
  position: absolute;
  left: .1rem;
  top: .72em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--legal-wine);
  box-shadow: 0 0 0 5px rgba(245,197,217,.4);
}
.legal-section a { color: var(--legal-wine); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.legal-alert {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  gap: .8rem;
  align-items: start;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(133,45,56,.13);
  border-radius: 16px;
  background: #fff8f3;
}
.legal-alert__icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: var(--legal-wine);
}
.legal-alert strong { display: block; margin-bottom: .15rem; color: var(--legal-ink); }

.legal-contact-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 1.2rem;
  align-items: center;
  margin-top: 2rem;
  padding: clamp(1.2rem, 3vw, 1.7rem);
  border-radius: 20px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 10%, rgba(245,197,217,.22), transparent 35%),
    linear-gradient(135deg, var(--legal-wine-deep), var(--legal-wine));
  box-shadow: 0 20px 44px rgba(86,27,38,.22);
}
.legal-contact-card h2 { margin: 0 0 .28rem; color: #fff; font-size: 1.42rem; }
.legal-contact-card p { margin: 0; color: rgba(255,255,255,.78); font-size: .9rem; }
.legal-contact-card__actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; }
.legal-contact-card__actions a {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  min-height: 43px;
  padding: .65rem .82rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px;
  color: #fff;
  background: rgba(255,255,255,.1);
  font-size: .8rem;
  font-weight: 800;
}
.legal-contact-card__actions a:first-child { color: var(--legal-wine); background: #fff; }

.legal-next {
  display: grid;
  grid-template-columns: 56px minmax(0,1fr) auto;
  gap: .9rem;
  align-items: center;
  margin-top: 1.5rem;
  padding: 1rem;
  border: 1px solid var(--legal-line);
  border-radius: 18px;
  color: var(--legal-copy);
  background: rgba(255,255,255,.72);
  box-shadow: var(--legal-shadow-soft);
  transition: transform .2s ease, box-shadow .2s ease;
}
.legal-next:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(73,19,34,.12); }
.legal-next__icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, var(--legal-wine), #aa5067);
}
.legal-next small { display: block; color: #9a7a81; font-size: .68rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.legal-next strong { display: block; color: var(--legal-ink); font-family: "Playfair Display", Georgia, serif; font-size: 1.16rem; }
.legal-next > i { color: var(--legal-wine); }

/* Footer refinement */
body:is(.page-privacy,.page-terms) .footer { position: relative; margin-top: 0; padding: 4rem 0 1.4rem; overflow: hidden; }
body:is(.page-privacy,.page-terms) .footer::before {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  top: -270px;
  right: -80px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
}
body:is(.page-privacy,.page-terms) .footer-container { position: relative; }
body:is(.page-privacy,.page-terms) .footer-section { min-width: 210px; }
body:is(.page-privacy,.page-terms) .footer-section p { max-width: 370px; }
body:is(.page-privacy,.page-terms) .footer .social-links { gap: .8rem; }
body:is(.page-privacy,.page-terms) .footer .social-links a {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.07);
}

/* Drawer base — premium-dropdown.css enhances it */
body:is(.page-privacy,.page-terms) .mobile-drawer { display: none; }

@media (max-width: 900px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-index { position: relative; top: auto; }
  .legal-index nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .legal-index__switch { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  body:is(.page-privacy,.page-terms) nav.nav-links { display: none; }
  body:is(.page-privacy,.page-terms) .menu-toggle { display: inline-flex; }
  body:is(.page-privacy,.page-terms) .mobile-drawer { display: block; }
  body:is(.page-privacy,.page-terms) header.navbar,
  body:is(.page-privacy,.page-terms) header.navbar.polish-scrolled { height: 94px !important; min-height: 94px !important; }
  body:is(.page-privacy,.page-terms) header.navbar .nav-container,
  body:is(.page-privacy,.page-terms) header.navbar.polish-scrolled .nav-container {
    width: calc(100% - 28px) !important;
    height: 94px !important;
    min-height: 94px !important;
    margin-inline: auto;
  }
  body:is(.page-privacy,.page-terms) header.navbar .logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
  }
  body:is(.page-privacy,.page-terms) header.navbar .logo,
  body:is(.page-privacy,.page-terms) header.navbar .logo img {
    width: 70px !important;
    height: 70px !important;
    min-width: 70px !important;
    min-height: 70px !important;
    max-width: 70px !important;
    max-height: 70px !important;
  }
  body:is(.page-privacy,.page-terms) header.navbar .nav-right {
    position: absolute;
    inset: 0;
    width: 100%;
    justify-content: space-between;
    pointer-events: none;
  }
  body:is(.page-privacy,.page-terms) header.navbar .nav-right > * { pointer-events: auto; }
  .legal-hero { min-height: 440px; }
  .legal-hero__inner { padding-top: 126px; }
  .legal-hero__media img { object-position: 62% 50%; }
  .legal-contact-card { grid-template-columns: 1fr; }
  .legal-contact-card__actions { justify-content: flex-start; }
}

@media (max-width: 620px) {
  .legal-hero { min-height: 425px; }
  .legal-hero__inner { padding: 118px 0 62px; }
  .legal-hero h1 { font-size: clamp(2.35rem, 13vw, 3.5rem); }
  .legal-hero__intro { font-size: .96rem; line-height: 1.65; }
  .legal-hero__meta span { padding: .5rem .65rem; font-size: .75rem; }
  .legal-main { padding-top: 3.2rem; }
  .legal-index { padding: 1rem; }
  .legal-index nav { grid-template-columns: 1fr; }
  .legal-document { padding: 1.05rem; border-radius: 22px; }
  .legal-document__lead { padding: 1rem 1rem 1rem 1.15rem; font-size: .94rem; }
  .legal-section { padding: 1.5rem 0; }
  .legal-section__head { grid-template-columns: 42px minmax(0,1fr); gap: .7rem; }
  .legal-section__number { width: 40px; height: 40px; border-radius: 13px; font-size: .95rem; }
  .legal-section h2 { font-size: 1.28rem; }
  .legal-contact-card__actions { display: grid; grid-template-columns: 1fr; }
  .legal-contact-card__actions a { justify-content: center; }
  .legal-next { grid-template-columns: 48px minmax(0,1fr) auto; padding: .85rem; }
  .legal-next__icon { width: 46px; height: 46px; border-radius: 14px; }
  body:is(.page-privacy,.page-terms) .footer { padding-top: 3.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
