/* ==========================================================================
   Page-section layouts — ported from design/source ui_kits/website/kit.css
   (container-queries → media-queries, prefixed .jdc-). Used by the page
   templates (template-home/about/contact.php).
   ========================================================================== */

/* Image placeholder frame (no photography supplied yet) */
.jdc-frame__ph{position:absolute;inset:0;display:grid;place-items:center;gap:8px;padding:var(--sp-4);text-align:center;
  background:repeating-linear-gradient(135deg,var(--gold-tint) 0 14px,#F3E2CE 14px 28px);color:rgba(62,39,35,.55)}
.jdc-frame__note{display:block;max-width:260px;font-family:var(--font-body);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:rgba(62,39,35,.62);line-height:1.35}
.jdc-frame--scrim::after{content:"";position:absolute;inset:0;background:var(--surface-scrim)}

/* Split (two-up), reused across pages */
.jdc-split{display:grid;gap:var(--sp-6);grid-template-columns:1fr}
@media(min-width:900px){.jdc-split{grid-template-columns:1fr 1fr;align-items:center;gap:var(--sp-8)}}

/* ---- Home hero (hero3): full-bleed photo + berry veil + copy ---- */
.jdc-hero3{position:relative;background:var(--surface-dark);color:var(--text-on-dark);overflow:hidden;isolation:isolate}
.jdc-hero3__bg{position:absolute;inset:0;z-index:0}
.jdc-hero3__bg .jdc-frame{height:100%;border-radius:0}
.jdc-hero3__veil{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(38,22,20,.95) 0%,rgba(70,20,26,.9) 34%,rgba(122,31,43,.55) 62%,rgba(122,31,43,.24) 100%)}
.jdc-hero3__inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:var(--sp-8);align-items:center;padding-top:164px;padding-bottom:var(--sp-16)}
.jdc-hero3 h1{color:var(--text-on-dark);font-size:clamp(38px,7vw,62px);line-height:1.05;margin:0}
.jdc-hero3 h1 em{font-style:italic;color:var(--text-accent-on-dark);letter-spacing:0}
.jdc-hero3__lede{margin:var(--sp-6) 0 0;font-size:var(--fs-body-lg);line-height:1.6;color:var(--text-on-dark-muted);max-width:520px}
.jdc-hero3__cta{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-8)}
.jdc-hero3__art{max-width:420px;margin-top:var(--sp-6)}
@media(min-width:900px){
  .jdc-hero3__inner{grid-template-columns:minmax(0,1fr) minmax(0,42%);padding-top:188px;padding-bottom:120px;gap:var(--sp-10)}
  .jdc-hero3__art{max-width:none;margin-top:0}
}

/* ---- Ticker ---- */
.jdc-ticker{background:var(--berry-deep);color:var(--text-on-dark);padding:13px 0}
.jdc-ticker__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4) var(--sp-6)}
.jdc-ticker__row span,.jdc-ticker__row a{display:inline-flex;align-items:center;gap:8px;font:700 14px/1.3 var(--font-body);letter-spacing:.02em;color:var(--text-on-dark);text-decoration:none}
.jdc-ticker__row .jdc-ico{color:var(--text-accent-on-dark)}
.jdc-ticker__phone{margin-left:auto}

/* ---- Categories (two unequal panels) ---- */
.jdc-cats{display:grid;grid-template-columns:1fr;gap:var(--grid-gap)}
@media(min-width:900px){.jdc-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap-lg)}}
.jdc-catcard{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;box-shadow:var(--sh-2);transition:box-shadow var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}
.jdc-catcard:hover{box-shadow:var(--sh-3);transform:translateY(var(--lift-hover))}
.jdc-catcard__label{position:absolute;left:var(--sp-5);right:var(--sp-5);bottom:var(--sp-5);color:var(--text-on-dark)}
.jdc-catcard__label b{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-bold);line-height:1.1}
.jdc-catcard__label span{display:block;margin-top:6px;font-size:var(--fs-small);color:var(--text-on-dark-muted)}
.jdc-catcard__count{display:block;margin-top:4px;font-size:var(--fs-caption);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--tart-gold)}

/* ---- Bestseller feature (1 feature + 2 tiles) ---- */
.jdc-feature{display:grid;grid-template-columns:1fr;gap:var(--grid-gap)}
@media(min-width:900px){.jdc-feature{grid-template-columns:1.35fr 1fr 1fr;gap:var(--grid-gap-lg);align-items:stretch}.jdc-feature>*{height:100%}}

/* menu leader line (dotted) */
.jdc-leader{display:flex;align-items:baseline;gap:8px}
.jdc-leader .dots{flex:1;border-bottom:1px dotted var(--cocoa-40);transform:translateY(-4px)}
.jdc-menu-line{display:grid;gap:2px;padding:var(--sp-4) 0;border-bottom:1px solid var(--line)}

/* ---- Numbered services ---- */
.jdc-numgrid{display:grid;grid-template-columns:1fr;gap:var(--grid-gap)}
@media(min-width:640px){.jdc-numgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.jdc-numgrid{grid-template-columns:repeat(4,1fr)}}
.jdc-numcard{background:var(--surface-card);padding:var(--sp-6);box-shadow:var(--sh-2);border-top:3px solid var(--strawberry)}
.jdc-numcard .num{font-family:var(--font-display);font-size:44px;line-height:1;color:var(--strawberry);display:block;margin-bottom:var(--sp-3)}

/* ---- Story collage ---- */
.jdc-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:var(--sp-4)}
.jdc-collage .wide{grid-column:1 / -1}

/* ---- Ruled row (trust points / four rules) ---- */
.jdc-ruled{display:grid;grid-template-columns:1fr;gap:0}
.jdc-ruled>*{padding:var(--sp-5) 0;border-top:1px solid var(--line)}
@media(min-width:900px){
  .jdc-ruled{grid-template-columns:repeat(4,1fr)}
  .jdc-ruled>*{padding:0 var(--sp-6);border-top:0;border-left:1px solid var(--line)}
  .jdc-ruled>*:first-child{padding-left:0;border-left:0}
}
.jdc-ruled__title{font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-heading);margin:10px 0 6px}
.jdc-band--dark .jdc-ruled>*{border-color:var(--line-on-dark)}
.jdc-band--dark .jdc-ruled__title{color:var(--text-on-dark)}
.jdc-numeral{font-family:var(--font-display);font-size:34px;font-weight:700;color:transparent;-webkit-text-stroke:1.5px var(--tart-gold);display:block;margin-bottom:10px}

/* ---- Stats (catering band) ---- */
.jdc-stats{display:grid;grid-template-columns:1fr 1fr;gap:0}
.jdc-stats>div{padding:var(--sp-4) var(--sp-5) var(--sp-4) 0}
.jdc-stats>div+div{border-left:1px solid var(--line-on-dark);padding-left:var(--sp-5)}
@media(min-width:900px){.jdc-stats{grid-template-columns:repeat(3,auto);justify-content:start}}

/* ---- Testimonials ---- */
.jdc-quote{margin:0}
.jdc-quote p{font-family:var(--font-display);font-size:clamp(24px,3.2vw,34px);line-height:1.25;color:var(--text-heading);margin:10px 0 var(--sp-4)}
.jdc-stars{display:flex;gap:3px;color:var(--tart-gold)}

/* ---- Form card + info rows (contact) ---- */
.jdc-formcard{background:var(--surface-card);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:var(--sp-6)}
.jdc-inforow{display:flex;gap:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line)}
.jdc-inforow h3{font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;margin:0 0 6px}
.jdc-inforow ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:var(--fs-small);color:var(--text-muted)}

/* CF7 quote form fields — match design/source form components */
.jdc-formgrid{display:grid;gap:var(--sp-4)}
.jdc-formgrid p{margin:0}
.jdc-formgrid label{display:block;font-family:var(--font-body);font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--text-body)}
.jdc-formgrid label .wpcf7-form-control-wrap{margin-top:6px}
@media(min-width:640px){.jdc-formgrid{grid-template-columns:1fr 1fr}.jdc-formgrid .jdc-span2,.jdc-formgrid p:has([type=submit]),.jdc-formgrid p:has(textarea){grid-column:1 / -1}}
.jdc-formcard .wpcf7-form-control-wrap{display:block}
.jdc-formcard input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.jdc-formcard textarea,
.jdc-formcard select{width:100%;font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-body);background:var(--surface-card);border:var(--bw) solid var(--line);border-radius:var(--r-md);padding:13px 14px;min-height:var(--tap-min);outline:none;transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}
.jdc-formcard input:focus,.jdc-formcard textarea:focus,.jdc-formcard select:focus{border-color:var(--berry-deep);box-shadow:var(--sh-focus)}
.jdc-formcard textarea{min-height:120px;resize:vertical;line-height:var(--lh-body)}
.jdc-formcard .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:var(--fw-bold);letter-spacing:var(--ls-button);border:var(--bw-strong) solid transparent;border-radius:var(--r-pill);cursor:pointer;font-size:var(--fs-body-lg);padding:17px 32px;min-height:56px;background:var(--btn-primary-bg);color:#fff;box-shadow:var(--sh-2);transition:background var(--dur) var(--ease-out)}
.jdc-formcard .wpcf7-submit:hover{background:var(--btn-primary-bg-hover)}

/* ---- Catering: package cards ---- */
.jdc-pkgcard{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-6);border-radius:var(--r-lg);background:var(--surface-card);border:var(--bw) solid var(--line);box-shadow:var(--sh-1)}
.jdc-pkgcard--featured{background:var(--cream);border:var(--bw-strong) solid var(--strawberry);box-shadow:var(--sh-3)}
.jdc-pkgcard__head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.jdc-pkgcard__head h3{margin:0;font-family:var(--font-display);font-size:var(--fs-h4);color:var(--text-heading)}
.jdc-pkgcard__blurb{margin:0;font-size:var(--fs-small);color:var(--text-muted);line-height:var(--lh-snug)}

/* ---- Catering: estimate aside + inputs ---- */
.jdc-select,.jdc-num-input{width:100%;font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-body);background:var(--surface-card);border:var(--bw) solid var(--line);border-radius:var(--r-md);padding:12px 14px;min-height:var(--tap-min)}
.jdc-estimate{background:var(--surface-card);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:var(--sp-6)}
@media(min-width:900px){.jdc-estimate{position:sticky;top:calc(var(--header-h-lg) + 16px)}}
.jdc-estimate__head{font-family:var(--font-display);font-size:var(--fs-h4);margin-bottom:var(--sp-4)}
.jdc-estimate__row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:var(--bw) solid var(--line);font-size:var(--fs-small)}
.jdc-estimate__row span:first-child{color:var(--text-muted)}
.jdc-estimate__row span:last-child{font-weight:var(--fw-bold)}
.jdc-estimate__total{display:flex;justify-content:space-between;align-items:baseline;margin-top:var(--sp-4)}
.jdc-estimate__total > span:first-child{font-weight:var(--fw-bold)}
.jdc-estimate__note{font-size:var(--fs-caption);color:var(--text-muted);margin:8px 0 var(--sp-4)}

/* ---- Catering: how-it-works steps (dark band) ---- */
.jdc-step{padding-top:var(--sp-5);border-top:1px solid var(--line-on-dark)}
.jdc-step__title{font-family:var(--font-display);font-size:var(--fs-h4);color:var(--text-on-dark);margin-bottom:6px}
.jdc-step p{margin:0;color:var(--text-on-dark-muted);font-size:var(--fs-small);line-height:var(--lh-snug)}

/* rail (testimonials on dark) */
.jdc-rail{display:grid;gap:var(--grid-gap);grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--sp-2)}
.jdc-rail>*{scroll-snap-align:start}
@media(min-width:900px){.jdc-rail{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}}
