:root {
  --page-max-width: 720px;
  --page-padding-x: 20px;
  --page-padding-top: 48px;
  --page-padding-bottom: 64px;
  --text-color: #2c241d;
  --background-color: #fbf8f3;
}

/* Shared eyebrow normalization */
.policy-kicker{
  margin: 0 0 10px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6f6258 !important;
}

/* Final mobile hero alignment with Around the Oven */
@media (max-width: 768px){
  .policy-hero{
    padding: 0 0 54px !important;
    background: #f7f3ee !important;
    text-align: center !important;
  }

  .policy-hero-art{
    margin-top: 0 !important;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--background-color);
  color: var(--text-color);
}

.policy-page {
  max-width: var(--page-max-width);
  margin: 0 auto;
  padding: var(--page-padding-top) var(--page-padding-x) var(--page-padding-bottom);
}

.policy-page h1 {
  font-family: "Cormorant Garamond", serif;
  font-size: 36px;
  line-height: 1.1;
  font-weight: 500;
  margin: 0 0 24px;
}

.policy-page h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 500;
  margin: 40px 0 12px;
}

.policy-page p,
.policy-page li {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
}

.policy-page p {
  margin: 0 0 16px;
}

.policy-page ul {
  margin: 0 0 16px;
  padding-left: 20px;
}

.policy-page li {
  margin-bottom: 8px;
}

.policy-page strong {
  font-weight: 600;
}

@media (max-width: 768px) {
  :root {
    --page-padding-x: 18px;
    --page-padding-top: 36px;
    --page-padding-bottom: 56px;
  }

  .policy-page h1 {
    font-size: 32px;
    margin-bottom: 20px;
  }

  .policy-page h2 {
    font-size: 22px;
    margin-top: 32px;
    margin-bottom: 10px;
  }

  .policy-page p,
  .policy-page li {
    font-size: 15px;
    line-height: 1.65;
  }
}


/* =========================================================
   DOLCE FORNO — DELIVERY & SUPPORT PAGE ENHANCEMENTS
   ========================================================= */

.delivery-support-page{
  background: #fbf8f3;
}

.policy-page{
  max-width: none;
  margin: 0;
  padding: 0 0 80px;
  background: #fbf8f3;
}

.policy-page-inner{
  width: min(820px, calc(100% - 40px));
  margin: 0 auto;
}

.policy-hero{
  padding: 160px 0 36px;
  background: linear-gradient(to bottom, rgba(251,248,243,0.98), rgba(251,248,243,1));
}

.policy-hero-art{
  display: none;
}

.policy-kicker{
  font-family: Inter, Arial, sans-serif;
  font-size: 0.85rem;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6e6258;
  margin: 0 0 14px;
  text-align: left;
}

.policy-page h1{
  max-width: 22ch;
  margin: 0 0 14px;
  text-align: left;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 34px;
  line-height: 1.18;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #3f2c22;
}

.policy-page .policy-lead{
  max-width: 70ch;
  margin: 0;
  text-align: left;
  color: #5A473B;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.policy-content{
  padding-top: 12px;
}

.policy-section{
  background: #f3e8dc;
  border: 1px solid rgba(184,146,69,0.24);
  border-radius: 22px;
  padding: 30px 30px 24px;
  margin-bottom: 18px;
  box-shadow: 0 12px 30px rgba(63,43,31,0.06);
}

.policy-section h2{
  margin: 0 0 14px;
  font-size: 30px;
  line-height: 1.08;
  font-weight: 600;
  color: #3f2c22;
  letter-spacing: -0.01em;
  border-bottom: 1px solid rgba(184,146,69,0.32);
  padding-bottom: 10px;
}

.policy-section p,
.policy-section li{
  color: #5A473B;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.policy-section p:last-child,
.policy-section ul:last-child{
  margin-bottom: 0;
}

@media (max-width: 768px){
  .policy-page{
    padding-bottom: 64px;
  }

  .policy-page-inner{
    width: min(820px, calc(100% - 28px));
  }

  .policy-hero{
    padding: 124px 0 24px;
  }

  .policy-section{
    border-radius: 18px;
    padding: 22px 20px 18px;
    margin-bottom: 14px;
  }

  .policy-section h2{
    font-size: 30px;
    line-height: 1.08;
    font-weight: 600;
    margin-bottom: 14px;
    padding-bottom: 10px;
  }

  .policy-kicker{
    margin-bottom: 12px;
  }
}

@media (min-width: 1025px){
  .delivery-support-page{
    background: #f7f3ee;
  }

  .policy-page{
    padding-bottom: 96px;
    background: #f7f3ee;
  }

  .policy-hero{
    padding: 0 0 54px;
    background: #f7f3ee;
    text-align: center;
  }

  .policy-hero-art{
    display: block;
    width: 100vw;
    height: clamp(420px, 30vw, 620px);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 46px;
    background: #efe6d8 url("/images/delivery-support-hero-sketch-desktop.png") center center / cover no-repeat;
  }

  .policy-hero .policy-page-inner{
    width: min(860px, calc(100% - 80px));
    margin: 0 auto;
    text-align: center;
  }

  .policy-page .policy-kicker{
    margin: 0 0 12px;
    font-family: Inter, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.16em;
    font-weight: 600;
    text-transform: uppercase;
    color: #6f6258;
    text-align: center;
  }

  .policy-page h1{
    max-width: none;
    margin: 0 auto 18px;
    text-align: center;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(46px, 4vw, 68px);
    line-height: 1.08;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: #3f2c22;
  }

  .policy-page .policy-lead{
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
    color: #5A473B;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
  }

  .policy-content{
    padding-top: 0;
  }

  .policy-content .policy-page-inner{
    width: min(1180px, calc(100% - 80px));
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .policy-section{
    min-width: 0;
    margin: 0;
    padding: 34px 36px 32px;
    border: 1px solid rgba(155, 115, 72, 0.18);
    border-radius: 18px;
    background: #efe6d8;
    box-shadow: 0 18px 44px rgba(58, 46, 38, 0.08);
  }

  .policy-section:nth-child(1),
  .policy-section:nth-child(4){
    grid-column: 1 / -1;
  }

  .policy-section h2{
    margin: 0 0 16px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(34px, 3vw, 46px);
    line-height: 1.08;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: #3f2c22;
    border-bottom: 1px solid rgba(184,146,69,0.34);
    padding-bottom: 14px;
  }

  .policy-section p,
  .policy-section li{
    color: #5A473B;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
  }

  .policy-section p{
    margin: 0 0 16px;
  }

  .policy-section ul{
    margin: 0 0 18px;
    padding-left: 22px;
  }

  .policy-section li{
    margin-bottom: 8px;
  }

  .policy-section strong{
    color: #3f2c22;
    font-weight: 600;
  }
}

@media (max-width: 768px){
  .policy-page h1{
    font-size: 32px;
    line-height: 1.18;
  }

  .policy-hero-art{
    display: block !important;
    position: relative !important;
    width: 100vw !important;
    height: auto !important;
    max-height: 420px !important;
    aspect-ratio: 1.7 / 1 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-bottom: 28px !important;
    background:
      linear-gradient(rgba(239, 230, 216, 0.88), rgba(239, 230, 216, 0.88)),
      url("/images/logo.png") center center / 250px auto no-repeat,
      #efe6d8 !important;
    background-repeat: no-repeat, no-repeat, no-repeat !important;
    background-size: auto, 250px auto, auto !important;
    background-position: center center, center center, center center !important;
  }

  .policy-hero-art::after,
  .policy-hero-art::before{
    content: "" !important;
    position: absolute !important;
    width: 82px !important;
    aspect-ratio: 1 / 1 !important;
    background: url("/images/icon_trays.png") center center / contain no-repeat !important;
    opacity: 0.14 !important;
    pointer-events: none !important;
  }

  .policy-hero-art::after{
    left: 22px !important;
    bottom: 20px !important;
  }

  .policy-hero-art::before{
    right: 22px !important;
    top: 20px !important;
  }
}

/* Desktop hero matches Dolce Trays */
@media (min-width: 1025px){
  .policy-hero-art{
    position: relative !important;
    background:
      linear-gradient(rgba(239, 230, 216, 0.88), rgba(239, 230, 216, 0.88)),
      url("/images/logo.png") center center / 360px auto no-repeat,
      #efe6d8 !important;
    background-repeat: no-repeat, no-repeat, no-repeat !important;
    background-size: auto, 360px auto, auto !important;
    background-position: center center, center center, center center !important;
  }

  .policy-hero-art::after,
  .policy-hero-art::before{
    content: "" !important;
    position: absolute !important;
    width: clamp(92px, 9vw, 138px) !important;
    aspect-ratio: 1 / 1 !important;
    background: url("/images/icon_trays.png") center center / contain no-repeat !important;
    opacity: 0.16 !important;
    pointer-events: none !important;
  }

  .policy-hero-art::after{
    left: clamp(34px, 5vw, 76px) !important;
    bottom: clamp(28px, 4vw, 58px) !important;
  }

  .policy-hero-art::before{
    right: clamp(34px, 5vw, 76px) !important;
    top: clamp(28px, 4vw, 58px) !important;
  }
}

/* Final shared eyebrow normalization */
.policy-kicker{
  margin: 0 0 10px !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6f6258 !important;
}

/* Mobile final override: remove the top hero image/pattern */
@media (max-width: 768px){
  .policy-hero{
    padding-top: 34px !important;
  }

  .policy-hero-art{
    display: none !important;
  }
}
