/* ===== REVIEWS (match subzero modern) ===== */
body.page-monogram .reviews--modern { margin-top: 28px !important; }
body.page-monogram .reviews-block { padding: 40px 0; background: #fff; }
body.page-monogram .reviews-block::before,
body.page-monogram .reviews-block::after { content: none !important; display: none !important; }
/* remove grey separators like subzero */
body.page-monogram main::before,
body.page-monogram .features-block::before,
body.page-monogram .features-block::after,
body.page-monogram .portfolio-block::before,
body.page-monogram .portfolio-block::after,
body.page-monogram .reviews-block::before,
body.page-monogram .reviews-block::after { content: none !important; display: none !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }
body.page-monogram .reviews-carousel { margin-top: 0; margin-bottom: 20px; padding: 30px 0; overflow: hidden !important; position: relative; }
/* Aggressive reset to remove any grey separators */
body.page-monogram main,
body.page-monogram section,
body.page-monogram .portfolio-block,
body.page-monogram .reviews-block {
  background: #fff !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
body.page-monogram .section-divider,
body.page-monogram .section-divider::before,
body.page-monogram .section-divider::after { display: none !important; content: none !important; }
/* kill separators specifically between portfolio and reviews */
body.page-monogram .portfolio-block + .reviews-block { border-top: 0 !important; box-shadow: none !important; background: #fff !important; }
body.page-monogram .portfolio-block + .reviews-block::before,
body.page-monogram .portfolio-block + .reviews-block::after { content: none !important; display: none !important; }
body.page-monogram #reviews-monogram .reviews-carousel-track {
  display: flex;
  animation: reviews-carousel-move 35s linear infinite;
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
}
/* Allow text to wrap normally inside cards */
body.page-monogram #reviews-monogram .review-carousel-text { white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
/* Move exactly the width of one duplicated set (5 cards) */
@keyframes reviews-carousel-move {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(calc(-5 * (350px + 20px)), 0, 0); }
}
@media (max-width: 768px) { body.page-monogram #reviews-monogram .reviews-carousel-track { animation: reviews-carousel-move 14s linear infinite !important; } }
@media (max-width: 480px) { body.page-monogram #reviews-monogram .reviews-carousel-track { animation: reviews-carousel-move 10s linear infinite !important; } }

/* Cards sizing like subzero */
body.page-monogram .review-carousel-slide { flex: 0 0 350px; max-width: 350px; margin-right: 20px; background: #ffffff; border-radius: 14px; box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08); padding: 20px; margin-top: 10px; margin-bottom: 10px; }
body.page-monogram .review-carousel-rating { color: #FFB400; font-size: 18px; letter-spacing: 2px; margin-bottom: 8px; }
body.page-monogram .review-carousel-text { margin: 0 0 10px 0; color: #333; line-height: 1.45; font-style: italic; }
body.page-monogram .review-carousel-author { color: #555; font-size: 0.95rem; }
/* ===== PORTFOLIO (match subzero) ===== */
/* Constrain to site container width explicitly */
body.page-monogram .portfolio-block > .container,
body.page-monogram #reviews-monogram > .container {
  max-width: 1240px !important; /* match site container (like subzero) */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
body.page-monogram .portfolio-carousel,
body.page-monogram .reviews-carousel { width: 100%; }
/* remove any container-level separators */
body.page-monogram .portfolio-block .container,
body.page-monogram .reviews-block .container { box-shadow: none !important; border-top: 0 !important; border-bottom: 0 !important; background: transparent !important; }
/* Use global .container sizing from the site (no overrides here) */
body.page-monogram .portfolio-block { margin-top: 0 !important; }
body.page-monogram .portfolio-block .section-title { font-size: clamp(28px, 3.2vw, 40px) !important; line-height: 1.1; margin-bottom: 16px; }
body.page-monogram .portfolio-carousel { margin-top: 48px; margin-bottom: 24px; padding: 20px 0; overflow: hidden; position: relative; }
body.page-monogram .carousel-track { display: flex; animation: carousel-smooth 40s linear infinite; }
body.page-monogram .carousel-slide { flex: 0 0 300px; margin-right: 24px; border-radius: 14px; background: #ffffff; overflow: hidden; box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08); transition: transform 0.2s ease, box-shadow 0.2s ease; }
body.page-monogram .carousel-slide:last-child { margin-right: 0; }
body.page-monogram .carousel-slide img { width: 100%; height: 200px; object-fit: cover; display: block; }
body.page-monogram .slide-info { padding: 12px 12px 14px; }
body.page-monogram .carousel-slide:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0,0,0,0.12); }
@keyframes carousel-smooth { 0% { transform: translateX(0);} 100% { transform: translateX(calc(-5 * (300px + 24px))); } }
/* ===== WHY CHOOSE (copy from subzero) ===== */
body.page-monogram .hero + .features-block { margin-top: 47px !important; padding-top: 0; }
body.page-monogram .features-title { margin: 0 0 22px; }
@media (max-width: 480px) {
  body.page-monogram #why-monogram { margin-top: -11px !important; }
  body.page-monogram .features-title { margin: 8px 0 16px !important; }
}
/* Match wolf.html heading style */
body.page-monogram .features-title {
  font-size: clamp(28px, 3.2vw, 40px) !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  text-align: center !important;
  line-height: 1.1 !important;
}
body.page-monogram .features-grid-modern { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media (max-width:1024px){ body.page-monogram .features-grid-modern{ grid-template-columns:repeat(2,1fr); gap:16px; } }
@media (max-width:600px){ body.page-monogram .features-grid-modern{ grid-template-columns:repeat(2,1fr); gap:12px; } }
body.page-monogram .why-card{ position:relative; background:#fff; border:none; border-radius:14px; padding:18px 18px 16px; text-align:left; box-shadow:0 6px 16px rgba(20,32,50,.06); transition:transform .22s ease, box-shadow .22s ease; }
body.page-monogram .why-card::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; border-top-left-radius:14px; border-top-right-radius:14px; background:linear-gradient(90deg,#1E90FF,#FF6600); }
body.page-monogram .why-card:hover{ transform:translateY(-6px); box-shadow:0 14px 34px rgba(20,32,50,.12); }
body.page-monogram .why-head{ display:flex; align-items:center; gap:12px; margin-bottom:8px; }
body.page-monogram .why-icon{ width:54px; height:54px; border-radius:50%; background:linear-gradient(135deg,#1E90FF 0%, #007BFF 60%); display:grid; place-items:center; color:#fff; box-shadow:0 8px 18px rgba(30,144,255,.22); }
body.page-monogram .why-icon svg{ width:24px; height:24px; stroke: currentColor; }
body.page-monogram .why-title{ font-weight:800; letter-spacing:.02em; color:#0f172a; }
body.page-monogram .why-text{ color:#64748b; font-size:.95rem; line-height:1.35; }
@media (max-width:480px){
  body.page-monogram .why-card{ padding:14px 10px; text-align:center; }
  body.page-monogram .why-card::before{ content:none; }
  body.page-monogram .why-head{ flex-direction:column; gap:8px; margin-bottom:0; }
  body.page-monogram .why-icon{ width:48px; height:48px; }
  body.page-monogram .why-title{ font-size:.95rem; }
  body.page-monogram .why-text{ display:none; }
}
/* ===== ISSUES (match subzero icon sizing) ===== */
/* Issues section spacing and headings like subzero */
body.page-monogram .issue-category { margin-bottom: 48px; }
body.page-monogram .category-title { display:flex; align-items:center; gap:12px; font-size:1.5rem; font-weight:700; color:#1a1a1a; margin-bottom:24px; text-align:left; }
body.page-monogram .category-title svg { width:24px; height:24px; flex-shrink:0; }
body.page-monogram .issue-icon { font-size:24px; margin-bottom:12px; }
/* spacing like subzero */
body.page-monogram .issues-section .section-title { margin-bottom: 16px !important; }
body.page-monogram .issues-subtitle { margin-bottom: 32px !important; font-weight: 500; color:#666; }
body.page-monogram .issues-cta { text-align:center; margin-top:48px; padding:40px 0; background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); border-radius: 16px; border:1px solid #e2e8f0; }
body.page-monogram .issues-cta p { font-size:1.3rem; color:#1a1a1a; margin:0 0 24px 0; font-weight:600; line-height:1.4; }
body.page-monogram .issues-cta .btn-book { display:inline-block; background: linear-gradient(90deg, #FF6600, #FF9900); color:#fff; font-family:'Montserrat', sans-serif; font-weight:700; font-size:1.05rem; border:none; border-radius:25px; padding:14px 28px; text-decoration:none; transition: all .3s ease; text-transform: uppercase; letter-spacing:.5px; }
body.page-monogram .issues-cta .btn-book:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(255,102,0,.4); background: linear-gradient(90deg, #FF5500, #FF8800); }
/* Blue shields like subzero and white buttons */
body.page-monogram .category-title svg { color:#2f6bff; stroke: currentColor; }
body.page-monogram .issues-grid { display:grid; gap:16px; grid-template-columns: repeat(2,1fr); }
@media (min-width: 768px){ body.page-monogram .issues-grid { grid-template-columns: repeat(3,1fr); gap:18px; } }
@media (min-width: 1200px){ body.page-monogram .issues-grid { grid-template-columns: repeat(4,1fr); gap:20px; } }
body.page-monogram .issue-card { background:#ffffff; border:1px solid #eef1f5; border-radius:12px; padding:14px 16px; text-align:left; transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
body.page-monogram .issue-card:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0,0,0,.12); border-color:#2f6bff; }
body.page-monogram .issue-card h4 { font-size:1.1rem; font-weight:700; color:#1a1a1a; margin:0 0 6px; line-height:1.3; }
body.page-monogram .issue-card p { color:#666; margin:0; font-size:.95rem; }

/* iPhone-only: unify Mechanical Issues button sizing */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 430px) {
    body.page-monogram .issues-grid {
      grid-template-columns: calc(50% - 8px) calc(50% - 8px) !important;
      column-gap: 16px !important;
      row-gap: 16px !important;
      justify-items: stretch !important;
      align-items: stretch !important;
      grid-auto-rows: 1fr !important;
      padding: 0 !important;
    }
    /* Normalize button height and text wrapping */
    body.page-monogram .issue-card {
      padding: 14px 16px !important;
      min-height: 168px !important;
      display: flex; flex-direction: column; justify-content: flex-start;
      box-sizing: border-box !important; width: 100% !important; margin-inline: 0 !important;
    }
    body.page-monogram .issue-card .issue-icon{
      width: 28px !important; height: 28px !important; line-height: 28px !important;
      font-size: 24px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important;
      margin-bottom: 8px !important;
    }
    body.page-monogram .issue-card h4 {
      font-size: 1.05rem !important; margin-bottom: 6px !important; line-height: 1.25 !important;
      display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;
      white-space: normal !important; word-break: break-word !important; hyphens: auto !important;
    }
    body.page-monogram .issue-card p {
      font-size: .92rem !important; line-height: 1.3 !important;
      display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;
      white-space: normal !important; word-break: break-word !important; hyphens: auto !important;
    }
  }
}
/* ===== HERO (match subzero) ===== */
body.page-monogram .sub-hero { background: #fff; position: relative; padding: 18px 0 0; }
body.page-monogram .sub-hero::before,
body.page-monogram .sub-hero::after { display: none !important; content: none !important; }
body.page-monogram .brand-logo-large { width: 420px; max-width: 92vw; height: auto; margin: 0 auto 4px; display:block; }
body.page-monogram .hero-title-bg { margin: 6px auto 4px !important; }
@media (min-width: 992px) { body.page-monogram .brand-logo-large { width: 480px; } }
@media (max-width: 480px) {
  body.page-monogram .sub-hero { padding: 16px 0 0; }
  /* Add small side insets for the logo on mobile */
  body.page-monogram .brand-logo-large { width: calc(100vw - 24px) !important; max-width: calc(100vw - 24px) !important; margin: 8px auto 10px !important; display:block; }
}

/* ===== LICENSED / EPA CERTIFIED / INSURED (inline with dots) ===== */
body.page-monogram .license-minimal { margin: 2px 0 0 !important; }
body.page-monogram .license-line { display:flex; justify-content:center; align-items:center; gap:0; list-style:none; padding:0; margin:2px 0 0 !important; }
body.page-monogram .license-item { font-family:'Montserrat', Arial, sans-serif; font-weight:800; letter-spacing:.14em; color:#111; font-size:1rem; text-transform:uppercase; }
body.page-monogram .license-item:not(:last-child)::after { content:'\2022'; display:inline-block; width:1.2em; text-align:center; margin:0 12px; color:#9aa3af; }
/* iPhone: force single-line pills and tighter spacing like wolf */
@media (max-width: 480px) {
  body.page-monogram .license-line { flex-wrap: nowrap; white-space: nowrap; }
  body.page-monogram .license-item { font-size: 0.85rem; letter-spacing: .1em; }
  body.page-monogram .license-item:not(:last-child)::after { width: 1em; margin: 0 6px; }
}

/* CTA — identical sizing/spacing to subzero */
/* Match Wolf BOOK button styles */
body.page-monogram .sub-hero .cta-button,
body.page-monogram .sub-hero #main-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 22px; /* as on wolf */
  padding: 16px 28px;
  font-size: 16px;
  background: linear-gradient(90deg, #FF6600, #FF9900);
  color: #fff;
  border: none;
  border-radius: 28px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: none !important;
  filter: none !important;
}

/* No shadow on hover as well */
body.page-monogram .sub-hero .cta-button:hover,
body.page-monogram .sub-hero #main-cta:hover { box-shadow: none !important; filter: none !important; }
/* reduce white band under the CTA shadow (desktop as before) */
body.page-monogram .sub-hero .cta-button { margin-bottom: 6px; }
@media (max-width: 640px) {
  body.page-monogram .sub-hero .cta-button {
    max-width: 300px !important;
    padding: 14px 22px !important;
    font-size: 15px !important;
    margin-left: auto; margin-right: auto;
  }
}

/* Kill any global separators/paddings before Why on this page */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 430px) {
    body.page-monogram .features-block,
    body.page-monogram .features-block .container { padding-top: 0 !important; border-top: 0 !important; box-shadow: none !important; }
  }
}

/* iPhone-only: extra guard to ensure no gap under CTA */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 430px) {
    body.page-monogram .sub-hero { padding-bottom: 0 !important; }
    body.page-monogram .sub-hero .cta-button { margin-bottom: 0 !important; }
    body.page-monogram #why-monogram { margin-top: -11px !important; }
    body.page-monogram .features-block,
    body.page-monogram .features-block .container { padding-top: 0 !important; }
    body.page-monogram .features-title { margin-top: 0 !important; }
  }
}
body.page-monogram .sub-hero .cta-button::before,
body.page-monogram .sub-hero .cta-button::after { content: none !important; }
/* ===== BREADCRUMBS (1:1 colors/sizing with subzero) ===== */
body.page-monogram .brand-crumbs {
    max-width: 1200px;
    margin: 12px auto 0;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
    color: #6b7280;
    position: relative;
    z-index: 10;
    overflow: visible;
}

/* ===== Top strip: prevent duplicated text ===== */
body.page-monogram .top-strip .top-strip-text--full { display: inline-block; }
body.page-monogram .top-strip .top-strip-text--short { display: none; }
@media (max-width: 640px) {
  body.page-monogram .top-strip .top-strip-text--full { display: none !important; }
  body.page-monogram .top-strip .top-strip-text--short { display: inline-block !important; }
}
body.page-monogram .brand-crumbs .home-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #FF6600;
    text-decoration: none;
    font-weight: 700;
}
body.page-monogram .brand-crumbs .home-link:hover { text-decoration: underline; }
body.page-monogram .brand-crumbs .crumb-back { width: 14px; height: 14px; flex: 0 0 14px; stroke: currentColor; fill: none; }
body.page-monogram .brand-crumbs .crumb-sep { opacity: .35; margin: 0 4px; }
body.page-monogram .brand-crumbs .crumb-current { color: #6b7280; font-weight: 600; }
@media (max-width:480px) {
    body.page-monogram .brand-crumbs { font-size: 14px; }
    body.page-monogram .brand-crumbs .crumb-back { width: 12px; height: 12px; }
}
/* Monogram page scoped styles (start with header parity; extend later) */
body.page-monogram header .btn-call::after { content: none !important; }
@media (max-width: 650px){
  body.page-monogram .header-nav{ display:none !important; }
  body.page-monogram .header-right .btn-book{ display:none !important; }
}

/* ===== HOW section (match wolf) ===== */
body.page-monogram .wf-how { margin: 56px 0 48px; }
body.page-monogram .wf-how .section-title { margin: 0 0 28px; text-align: center; line-height:1.1; font-weight: 900; font-size: clamp(28px, 3.2vw, 46px); color: #1a1a1a; }
body.page-monogram .wf-how .how-grid { display: grid; grid-template-columns: repeat(3, minmax(260px, 1fr)); gap: clamp(14px, 2.2vw, 24px); }
body.page-monogram .wf-how .how-item { background:#fff; border-radius: 18px; padding: clamp(18px, 1.8vw, 24px); box-shadow: 0 12px 32px rgba(23, 41, 80, .08); }
body.page-monogram .wf-how .how-head { display:flex; align-items:center; gap:14px; margin-bottom:8px; }
body.page-monogram .wf-how .how-num { width:40px; height:40px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font: 800 18px/1 "Montserrat", system-ui, -apple-system, sans-serif; color:#fff; background: linear-gradient(180deg, #ff8a00 0%, #ff6a00 100%); box-shadow: 0 8px 18px rgba(255,106,0,.25); flex:0 0 40px; }
body.page-monogram .wf-how .how-title { margin:0; font-weight:800; font-size: clamp(18px, 1.8vw, 24px); line-height:1.2; color:#111827; }
body.page-monogram .wf-how .how-text { margin:8px 0 0; font-size: clamp(15px, 1.25vw, 18px); line-height:1.45; color:#374151; }
@media (max-width: 840px){ body.page-monogram .wf-how .how-grid { grid-template-columns: 1fr; } }

/* ===== FAQ (match subzero) ===== */
body.page-monogram .wf-faq { background:#fff !important; border-top:0 !important; border-bottom:0 !important; margin: clamp(40px, 6vh, 72px) 0; }
body.page-monogram .wf-faq::before, body.page-monogram .wf-faq::after { display:none !important; content:none !important; }
body.page-monogram .wf-faq .wf-title { font-size: clamp(32px, 4vw, 48px) !important; font-weight: 800 !important; color: #1a1a1a !important; text-align: center !important; margin-bottom: 16px !important; line-height: 1.1 !important; }
body.page-monogram .wf-faq .wf-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: clamp(12px, 2vw, 18px); }
@media (max-width: 767px){ body.page-monogram .wf-faq .wf-grid { grid-template-columns: 1fr; } }
/* Single-border approach: outer card has no border; button draws the only border */
body.page-monogram .wf-faq .wf-item { background: transparent; border-radius: 0; box-shadow: none; overflow: visible; border: 0; padding: 0; }
body.page-monogram .wf-faq .wf-btn {
  width:100%;
  text-align:left;
  padding: 20px 24px;
  background:none;
  border:1px solid #eaeef3 !important;
  border-left-width:1px !important;
  border-right-width:1px !important;
  border-top-width:1px !important;
  border-bottom-width:1px !important;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap:12px;
  font-weight:700;
  color:#1a1a1a;
}
body.page-monogram .wf-faq .wf-btn { box-sizing: border-box; border: 1px solid #eaeef3 !important; border-radius: 18px; background: none; }
body.page-monogram .wf-faq .wf-btn:hover { background:#f8fafc; color:#2f6bff; border-color:#2f6bff !important; box-shadow: none; }
body.page-monogram .wf-faq .wf-chev { width:24px; height:24px; stroke:currentColor; flex:0 0 24px; transition: transform .2s ease; }
body.page-monogram .wf-faq .wf-panel { display:none; padding: 0 24px 20px; color:#666; line-height:1.6; }
body.page-monogram .wf-faq .wf-item.is-open .wf-btn { background: none; color:#1a1a1a; border-color:#eaeef3 !important; box-shadow: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
body.page-monogram .wf-faq .wf-panel { border-top: 1px solid #eaeef3; }
body.page-monogram .wf-faq .wf-item.is-open .wf-chev { stroke:#2f6bff; transform: rotate(180deg); }
body.page-monogram .wf-faq .wf-item.is-open .wf-panel { display:block; }
@media (max-width: 767px){ body.page-monogram .wf-faq .wf-btn { padding: 18px 20px; font-size: 1rem; } body.page-monogram .wf-faq .wf-panel { padding: 0 20px 18px; } }
/* ===== Request Modal (match index/subzero) ===== */
body.page-monogram .modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 24px;
}
body.page-monogram .modal-overlay.is-open { display: flex !important; }
body.page-monogram .modal-overlay .modal-container {
  background: #fff;
  border-radius: 16px;
  width: min(720px, 100%);
  max-height: 80vh;
  overflow: auto;
  box-shadow: 0 20px 25px rgba(0,0,0,0.15);
}
body.page-monogram .modal-overlay .modal-header {
  padding: 24px 32px;
  border-bottom: 1px solid #e2e8f0;
  display: flex; align-items: center; justify-content: space-between;
}
body.page-monogram .modal-overlay .modal-header h2 { margin: 0; font-weight: 700; color: #1a1a1a; }
body.page-monogram .modal-overlay .modal-close { background: none; border: none; font-size: 1.8rem; color: #666; cursor: pointer; }
body.page-monogram .modal-overlay .modal-body { padding: 32px; }
body.page-monogram .request-form-modern .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
body.page-monogram .request-form-modern .form-group { display: flex; flex-direction: column; }
body.page-monogram .request-form-modern label { font-weight: 600; margin-bottom: 8px; }
body.page-monogram .request-form-modern input,
body.page-monogram .request-form-modern select,
body.page-monogram .request-form-modern textarea { padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 10px; font: inherit; }
body.page-monogram .request-form-modern input:focus,
body.page-monogram .request-form-modern select:focus,
body.page-monogram .request-form-modern textarea:focus { outline: none; border-color: #1E90FF; }
body.page-monogram .consent-group { margin-top: 16px; }
body.page-monogram .checkbox-label { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
body.page-monogram .checkbox-label input[type="checkbox"] { margin-top: 4px; }
body.page-monogram .consent-text { display: flex; flex-direction: column; gap: 4px; color: #666; }
@media (max-width: 768px) {
  body.page-monogram .request-form-modern .form-row { grid-template-columns: 1fr; }
  body.page-monogram .modal-overlay .modal-body { padding: 24px; }
}

/* ===== Service Area Section (match subzero) ===== */
body.page-monogram .service-area-section { margin: clamp(40px, 6vh, 72px) 0; padding: 40px 0; }
body.page-monogram .service-area-header { text-align: center; margin-bottom: 40px; }
body.page-monogram .service-area-subtitle { font-size: 1.2rem; color: #666; text-align: center; margin-bottom: 32px; font-weight: 500; max-width: 600px; margin-left: auto; margin-right: auto; line-height: 1.4; font-family: 'Montserrat', sans-serif; }
body.page-monogram .service-area-content { max-width: 1000px; margin: 0 auto; }
body.page-monogram .service-features { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 40px; }
body.page-monogram .service-feature { display: flex; align-items: flex-start; gap: 16px; padding: 24px; background: #ffffff; border-radius: 12px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border: 1px solid #eef1f5; transition: all 0.2s ease; }
body.page-monogram .service-feature:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); border-color: #2f6bff; }
body.page-monogram .feature-icon { font-size: 2rem; flex-shrink: 0; margin-top: 4px; }
body.page-monogram .feature-content h4 { font-size: 1.1rem; font-weight: 700; color: #1a1a1a; margin: 0 0 8px 0; font-family: 'Montserrat', sans-serif; }
body.page-monogram .feature-content p { color: #666; margin: 0; font-size: 0.95rem; line-height: 1.4; font-family: 'Montserrat', sans-serif; }
body.page-monogram .service-cta { text-align: center; padding: 32px; background: #ffffff; border-radius: 12px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border: 1px solid #eef1f5; }
body.page-monogram .service-cta .cta-title { font-size: 2rem; font-weight: 800; color: #1a1a1a; margin: 0 0 16px 0; font-family: 'Montserrat', sans-serif; line-height: 1.2; }
body.page-monogram .service-cta .cta-subtitle { color: #666; margin: 0 0 32px 0; font-size: 1.2rem; font-family: 'Montserrat', sans-serif; font-weight: 500; line-height: 1.5; }
body.page-monogram .service-cta .btn-book { display: inline-block; background: linear-gradient(90deg, #FF6600, #FF9900); color: white; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 1.2rem; border: none; border-radius: 30px; padding: 18px 36px; text-decoration: none; transition: all 0.3s ease; box-shadow: 0 8px 25px rgba(255, 102, 0, 0.3); text-transform: uppercase; letter-spacing: 0.5px; }
/* Enhanced CTA container sizing to match Sub-Zero */
body.page-monogram .service-cta { padding: 40px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08); border-radius: 20px; background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%) !important; }
body.page-monogram .cta-content { max-width: 500px; margin: 0 auto; }
body.page-monogram .service-cta .btn-book:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(255, 102, 0, 0.4); background: linear-gradient(90deg, #FF5500, #FF8800); }
@media (max-width: 1200px) { body.page-monogram .service-features { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (max-width: 768px) {
  body.page-monogram .service-area-section { margin: 32px 16px; padding: 32px 20px; }
  body.page-monogram .service-features { grid-template-columns: 1fr; gap: 20px; }
  body.page-monogram .service-feature { padding: 20px; }
  body.page-monogram .service-cta { padding: 30px 20px; margin-top: 30px; }
  body.page-monogram .service-cta .cta-title { font-size: 1.6rem; }
  body.page-monogram .service-cta .cta-subtitle { font-size: 1.1rem; margin-bottom: 24px; }
  body.page-monogram .service-cta .btn-book { font-size: 1.1rem; padding: 16px 28px; }
}

/* ===== Remove grey separators between sections (like Sub-Zero) ===== */
body.page-monogram main,
body.page-monogram section,
body.page-monogram .wf-faq,
body.page-monogram .service-area-section,
body.page-monogram .site-footer { background:#fff !important; border-top:0 !important; border-bottom:0 !important; box-shadow:none !important; }
body.page-monogram main::before,
body.page-monogram main::after,
body.page-monogram .service-area-section::before,
body.page-monogram .service-area-section::after,
body.page-monogram .wf-faq::before,
body.page-monogram .wf-faq::after,
body.page-monogram .site-footer::before,
body.page-monogram .site-footer::after { content:none !important; display:none !important; border:0 !important; box-shadow:none !important; background: transparent !important; }
/* Spacing guard to avoid margin-collapses drawing lines */
body.page-monogram #service-area { margin-bottom: 0 !important; }
body.page-monogram .site-footer { margin-top: 0 !important; padding-top: 24px !important; }

/* ===== Sticky CTA (match subzero) ===== */
body.page-monogram .sticky-cta { display:none; position:fixed; left:16px; right:16px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index:1000; text-align:center; font-weight:800; letter-spacing:.2px; padding:14px 16px; border-radius:999px; background: linear-gradient(180deg, #FF7A1A 0%, #FF6600 100%); color:#fff; text-decoration:none; box-shadow: 0 14px 30px rgba(255, 102, 0, .28); }
@media (max-width:768px){ body.page-monogram .sticky-cta { display:none } body.page-monogram .sticky-cta.is-visible { display:block } }
body.modal-open .sticky-cta { display:none !important }

/* ===== Footer (match subzero) ===== */
body.page-monogram .site-footer { background:#ffffff; color:#1a1a1a; padding:20px 0 15px; margin-top:40px; text-align:center; }
body.page-monogram .footer-main { display:flex; flex-direction:column; align-items:center; margin-bottom:30px; gap:30px; text-align:center; }
body.page-monogram .footer-contact-info { display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; }
body.page-monogram .contact-item { display:flex; align-items:center; gap:8px; }
body.page-monogram .footer-phone { font-size:1.3rem; font-weight:700; color:#1a1a1a; text-decoration:none; font-family:'Montserrat', sans-serif; transition: all .3s ease; }
body.page-monogram .footer-phone:hover { color:#FF6600; transform: translateY(-2px); }
body.page-monogram .footer-email { color:#666; text-decoration:none; font-size:1.1rem; font-family:'Montserrat', sans-serif; font-weight:500; transition: all .3s ease; }
body.page-monogram .footer-email:hover { color:#FF6600; transform: translateY(-2px); }
body.page-monogram .footer-copy { padding-top:15px; }
body.page-monogram .footer-copy p { color:#999; font-size:.9rem; line-height:1.6; font-family:'Montserrat', sans-serif; margin:0; max-width:800px; margin-left:auto; margin-right:auto; }
@media (max-width:768px){ body.page-monogram .site-footer { padding:30px 0 20px; margin-top:60px; } body.page-monogram .footer-main { gap:25px; } body.page-monogram .footer-phone { font-size:1.2rem; } body.page-monogram .footer-email { font-size:1rem; } body.page-monogram .footer-contact-info { gap:14px; } }
