/* Pricing pages (v2): pricing.html and the four detailed price lists */

/* ---- Pricing overview head ---- */
.pr-head{padding-bottom:clamp(20px,3vw,40px)}
.pr-head-grid{display:grid;gap:clamp(28px,5vw,64px);align-items:end}
@media(min-width:960px){.pr-head-grid{grid-template-columns:1.35fr .65fr}}
.pr-head h1,.sub-head h1{font-size:clamp(3.2rem,1.6rem + 6vw,7.2rem);line-height:.92;letter-spacing:-.035em;max-width:11ch}
.pr-head .sec-sub,.sub-head .sec-sub{margin-top:1.4rem;max-width:48ch}
.pr-lists{display:grid;padding:20px 24px 8px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card)}
.pr-lists-title{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin-bottom:4px}
.pr-lists a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;border-bottom:1px dotted var(--border-strong);color:var(--text);text-decoration:none;font-family:var(--font-display);font-size:1.2rem;transition:color var(--dur-2),padding var(--dur-3) var(--ease-settle)}
.pr-lists a:last-child{border-bottom:0}
.pr-lists a span{color:var(--accent-text);transition:transform var(--dur-2) var(--ease-out)}
.pr-lists a:hover{color:var(--accent-text);padding-left:6px}
.pr-lists a:hover span{transform:translateX(4px)}

/* ---- Groups of package cards ---- */
.pr-groups{padding-top:clamp(40px,6vw,72px)}
.pc-group{display:grid;gap:24px 56px;padding-top:28px;border-top:1px solid var(--border);scroll-margin-top:calc(var(--nav-h) + 16px)}
.pc-group+.pc-group{margin-top:clamp(64px,8vw,110px)}
@media(min-width:1000px){.pc-group{grid-template-columns:260px 1fr}.pc-group-head{position:sticky;top:calc(var(--nav-h) + 28px);align-self:start}}
.pc-group-head h2{font-size:clamp(2rem,1.4rem + 2vw,3rem);line-height:1;letter-spacing:-.02em}
.pc-group-head p{margin-top:.7rem;color:var(--text-muted);font-size:var(--fs-sm);max-width:30ch}
.pc-grid{display:grid;gap:16px}
@media(min-width:700px){.pc-grid{grid-template-columns:1fr 1fr}}

.price-card.pc{padding:clamp(24px,2.6vw,32px);gap:14px;border-radius:var(--radius-l)}
.pc h3{font-family:var(--font-display);font-size:clamp(1.5rem,1.3rem + .6vw,1.9rem);font-weight:500;line-height:1.1}
.pc-price{display:flex;flex-direction:column;gap:2px}
.pc-from{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}
.pc .price-amount{font-size:clamp(2.6rem,2rem + 2vw,3.6rem);letter-spacing:-.02em}
.pc .price-amount small{margin-left:.2em;letter-spacing:0}
#pr-takeaways .price-amount{font-style:italic;font-size:clamp(2rem,1.6rem + 1.4vw,2.6rem);color:var(--accent-text)}
.pc .price-desc{font-size:var(--fs-sm);line-height:1.6}
.pc-rows{list-style:none;display:grid;gap:8px;padding:14px 16px;border-radius:14px;background:var(--tint)}
.pc-rows li{display:flex;align-items:baseline;font-size:var(--fs-sm)}
.pc-rows li span{flex:1;display:flex;align-items:baseline}
.pc-rows li span::after{content:"";flex:1;min-width:16px;margin:0 10px;border-bottom:1px dotted var(--border-strong)}
.pc-rows li b{font-family:var(--font-display);font-size:1.15rem;font-weight:500;font-variant-numeric:tabular-nums}
.pc .price-features li::before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent-strong);margin-top:.6em}
.pc-actions{margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px}
.pc-actions .btn{margin-top:0}
.pc-link{display:inline-flex;align-items:center;gap:.45em;min-height:44px;font-size:var(--fs-sm);font-weight:600;color:var(--accent-text);text-decoration:none}
.pc-link .arrow{transition:transform var(--dur-2) var(--ease-out)}
.pc-link:hover .arrow{transform:translateX(4px)}
.pc-link:hover{text-decoration:underline;text-underline-offset:4px}

/* featured card: drawn circle round the price + script note */
.pc.featured{border-color:var(--accent-strong);box-shadow:0 30px 70px -40px var(--btn-shadow)}
.pc .annot-circle .annot-svg{left:-16%;top:-18%;width:132%;height:136%}
.pc-note{position:absolute;top:-22px;right:22px;flex-direction:row-reverse;align-items:flex-start}
.pc-note .note-script{font-size:1.7rem;background:var(--bg);padding:0 .25em;border-radius:8px}
.pc-note svg{width:52px;height:40px;margin-top:14px;transform:scaleX(-1)}
.pc-custom{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:clamp(24px,2.6vw,32px);border-radius:var(--radius-l);border:1px dashed var(--border-strong);background:none}
.pc-custom h3{font-style:italic;font-weight:400}
.pc-custom p{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.6}

/* ---- Notes band ---- */
.pr-notes-band{margin-top:clamp(40px,6vw,80px);padding-block:clamp(64px,8vw,110px)}
.pr-notes{margin-top:clamp(28px,4vw,48px);gap:clamp(24px,4vw,48px)}
.pr-note{padding-top:20px;border-top:2px solid var(--accent-strong)}
.pr-note h3{font-size:var(--fs-h4);margin-bottom:.6rem}
.pr-note p{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.7}

/* ---- Closing band (shared) ---- */
.pr-cta{padding-block:clamp(80px,10vw,140px)}
.pr-cta-grid{display:grid;gap:28px;align-items:end}
@media(min-width:960px){.pr-cta-grid{grid-template-columns:1.3fr .7fr}.pr-cta .btn-row{justify-content:flex-end}}
.pr-cta h2{font-size:clamp(2.6rem,1.5rem + 4.4vw,5.6rem);line-height:.96;letter-spacing:-.03em;max-width:12ch}
.pr-cta p{margin-top:1.2rem;color:var(--text-muted);font-size:var(--fs-lead);max-width:46ch}
.pr-notes-band{margin-bottom:clamp(40px,6vw,80px)}

/* ==== Detailed price lists (foil, luxury, canapés, weddings) ==== */
.sub-head{padding-bottom:clamp(8px,2vw,24px)}
.sub-head-grid{display:grid;gap:clamp(32px,5vw,72px);align-items:center}
@media(min-width:960px){.sub-head-grid{grid-template-columns:1.25fr .75fr}}
.sub-head h1{font-size:clamp(2.9rem,1.5rem + 5.2vw,6.4rem);max-width:12ch}
.sub-head .back-link{margin:0 0 18px}
.sub-photos{position:relative;width:100%;max-width:440px;aspect-ratio:1/.95;justify-self:center}
.sub-photos figure{position:absolute;margin:0;border-radius:24px;overflow:hidden;background:var(--bg3);border:6px solid var(--surface);box-shadow:var(--shadow)}
.sub-photos img{width:100%;height:100%;object-fit:cover}
.sub-photos figure:nth-child(1){width:60%;aspect-ratio:3/4;left:0;top:0;rotate:-4deg;z-index:2}
.sub-photos figure:nth-child(2){width:54%;aspect-ratio:4/5;right:0;bottom:0;rotate:4deg}
@media(max-width:959px){.sub-photos{max-width:360px;aspect-ratio:1/.8}}
.sub-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.6rem}
.sub-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1em;border-radius:var(--pill);border:1px solid var(--border-strong);color:var(--text);text-decoration:none;font-size:var(--fs-sm);font-weight:500;transition:background-color var(--dur-2),color var(--dur-2),border-color var(--dur-2)}
.sub-jump a:hover,.sub-jump a:focus-visible{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}

.sub-section{padding-top:clamp(48px,7vw,96px)}
.sub-section .head h2{font-size:clamp(2.2rem,1.5rem + 2.6vw,3.8rem)}
.pkg{scroll-margin-top:calc(var(--nav-h) + 20px)}
.pkg+.pkg{margin-top:clamp(72px,9vw,130px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--border)}

/* tiers */
.sub-section .tier-grid{margin-top:clamp(28px,4vw,44px);gap:16px}
.tier.card{padding:clamp(26px,2.6vw,34px);border-radius:var(--radius-l);gap:14px}
.tier .tier-name{font-size:clamp(1.6rem,1.3rem + .9vw,2.1rem);font-weight:500}
.tier .tier-price{font-size:clamp(2.8rem,2.2rem + 2vw,3.8rem);letter-spacing:-.02em;color:var(--text)}
.tier .tier-price small{letter-spacing:0}
.tier .tier-price s{font-family:var(--font-text);font-size:1rem}
.tier.featured .tier-price{color:var(--accent-text)}
.tier.featured{border-color:var(--accent-strong);box-shadow:0 30px 70px -40px var(--btn-shadow)}
.tier .annot-circle .annot-svg{left:-16%;top:-18%;width:132%;height:136%}
.tier-flag{position:absolute;top:-13px;left:24px;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.4em .9em;border-radius:var(--pill);background:var(--accent-strong);color:#fff}
.tier-list{list-style:none;display:grid;gap:9px;padding:16px 0;border-top:1px solid var(--border);font-size:var(--fs-sm)}
.tier .tier-list li::before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent-strong);margin-top:.6em}
.tier .tier-for{margin-top:auto;padding-top:14px;border-top:1px dotted var(--border-strong);font-size:var(--fs-sm);color:var(--text-muted)}
.tier-for span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:3px}
.tier .tier-save{align-self:flex-start;padding:.3em .8em;border-radius:var(--pill);background:var(--tint-strong);color:var(--accent-text);font-size:var(--fs-xs)}
.tier .pc-note{right:18px}

.included{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.included li{padding:.5em 1em;border-radius:var(--pill);border:1px dashed var(--border-strong);font-size:var(--fs-sm);color:var(--text)}

/* dish lists and add-ons */
.pkg-extras{display:grid;gap:clamp(24px,4vw,48px);margin-top:clamp(36px,5vw,56px);align-items:start}
@media(min-width:960px){.pkg-extras{grid-template-columns:1.4fr .8fr}.pkg-extras-2{grid-template-columns:.8fr 1.2fr}}
.dish-cols{display:grid;gap:20px 32px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
#dinner .dish-cols{margin-top:clamp(36px,5vw,56px)}
.dish-col h3,.addon-block h3,.deposit-card h3{font-family:var(--font-text);font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin-bottom:8px}
.dish-col ul{list-style:none}
.dish-col li{padding:8px 0;border-bottom:1px dotted var(--border-strong);font-family:var(--font-display);font-size:1.08rem;line-height:1.3}
.addon-block{padding:22px 24px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card)}
.addon-rows{background:none;padding:0;gap:10px}
.addon-rows li b{color:var(--accent-text)}
.addon-pair{display:grid;gap:16px;margin-top:clamp(28px,4vw,44px)}
@media(min-width:760px){.addon-pair{grid-template-columns:1fr 1fr}}
.fine-card{margin-top:24px;display:grid;gap:10px;padding:22px 26px;border-radius:var(--radius);background:var(--tint);color:var(--text-muted);font-size:var(--fs-sm);line-height:1.7;max-width:880px}
.fine-card strong{color:var(--text)}
.sub-section .fineprint{margin-top:clamp(24px,4vw,40px);max-width:880px}
.deposit-card{display:grid;gap:10px;align-content:start;padding:22px 26px;border-radius:var(--radius);background:var(--tint);border:1px solid var(--border-strong);font-size:var(--fs-sm);color:var(--text-muted);line-height:1.65}
.deposit-card strong{color:var(--text)}

/* foil: tray sizes + tables */
.tray-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:clamp(24px,4vw,40px) 0 clamp(28px,4vw,44px)}
.tray-size{display:grid;justify-items:start;gap:2px;padding:18px 18px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);text-align:left;color:var(--text);cursor:pointer;transition:border-color var(--dur-2),background-color var(--dur-2),transform var(--dur-3) var(--ease-settle)}
.tray-size:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.tray-size[aria-pressed="true"]{border-color:var(--accent-strong);background:var(--tint-strong)}
.tray{display:flex;align-items:flex-end;width:100%;height:58px;margin-bottom:12px}
.tray i{display:block;height:100%;border-radius:8px 8px 12px 12px;border:1.5px solid var(--accent-strong);background:repeating-linear-gradient(90deg,var(--tint) 0 6px,transparent 6px 12px);transition:background-color var(--dur-2)}
.tray-m i{width:40%;height:60%}
.tray-l i{width:64%;height:78%}
.tray-xl i{width:92%}
.tray-size[aria-pressed="true"] .tray i{background-color:var(--tint-strong)}
.tray-code{font-family:var(--font-display);font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem);line-height:1;color:var(--accent-text)}
.tray-name{font-weight:600;font-size:var(--fs-sm)}
.tray-feeds{font-size:var(--fs-xs);color:var(--text-muted)}
@media(max-width:520px){.tray-size{padding:14px 12px}.tray{height:40px}}

.ptables{gap:16px}
.ptable{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--card)}
.ptable table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.ptable caption{caption-side:top;text-align:left;padding:16px 20px 12px;font-family:var(--font-display);font-style:italic;font-size:1.35rem;color:var(--text);border-bottom:1px solid var(--border)}
.ptable th,.ptable td{padding:11px 20px;border-bottom:1px dotted var(--border)}
.ptable tbody tr:last-child th,.ptable tbody tr:last-child td{border-bottom:0}
.ptable thead th{padding-block:8px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;color:var(--text-faint);text-align:right}
.ptable thead abbr{text-decoration:none}
.ptable tbody th{text-align:left;font-weight:500}
.ptable td{text-align:right;width:64px;font-variant-numeric:tabular-nums;font-weight:600;transition:background-color var(--dur-2),color var(--dur-2),opacity var(--dur-2)}
.ptable td.c-pp{width:auto}
.ptable tbody tr:hover{background:var(--tint)}
@media(max-width:420px){.ptable th,.ptable td{padding-inline:12px}.ptable td{width:52px}}
.ptables[data-size="m"] .c-m,.ptables[data-size="l"] .c-l,.ptables[data-size="xl"] .c-xl{background:var(--tint-strong);color:var(--accent-text)}
.ptables[data-size="m"] td:not(.c-m):not(.c-pp),.ptables[data-size="l"] td:not(.c-l):not(.c-pp),.ptables[data-size="xl"] td:not(.c-xl):not(.c-pp){opacity:.45}
.addon-rows li b{font-family:var(--font-text);font-size:var(--fs-sm);font-weight:700}

/* ---- Phones (under 700px) ---- */
@media(max-width:699px){
  .pr-groups{padding-top:32px}
  .pr-notes-band{margin-top:32px;margin-bottom:32px;padding-block:var(--section)}
  .pr-cta{padding-block:var(--section-cta)}
  .sub-section{padding-top:40px}
  .pkg+.pkg{margin-top:48px;padding-top:32px}
}
