/* ═══════════════════════════════════════════════════════════════
   A Pinch of Salt — DINING CLUB sections (scoped .ct-page.page-club)
   Dark by default.
   ═══════════════════════════════════════════════════════════════ */

.ct-page.page-club{background:var(--moss-darkest);color:var(--paper)}
.ct-page.page-club h1,.ct-page.page-club h2,.ct-page.page-club h3,.ct-page.page-club h4{color:var(--paper)}
.ct-page.page-club .eyebrow{color:var(--gold-soft)}
.ct-page.page-club .eyebrow .mark{color:var(--paper);opacity:0.35}
.ct-page.page-club .lede,.ct-page.page-club .lede p{color:rgba(251,248,242,0.78)}

/* CTA overrides for dark page */
.ct-page.page-club .btn{background:var(--gold);color:var(--moss-darkest);border-color:var(--gold)}
.ct-page.page-club .btn:hover{background:transparent;color:var(--gold-soft);border-color:var(--gold-soft)}
.ct-page.page-club .btn-ghost{background:transparent;color:var(--paper);border-color:rgba(251,248,242,0.4)}
.ct-page.page-club .btn-ghost:hover{background:var(--paper);color:var(--moss-darkest);border-color:var(--paper)}

/* hero */
.ct-page.page-club .hero{position:relative;padding:140px var(--pad) clamp(80px,9vw,140px);background:radial-gradient(ellipse 70% 50% at 80% 90%, rgba(232,200,140,0.18), transparent 60%),radial-gradient(ellipse 50% 40% at 10% 0%, rgba(125,148,108,0.12), transparent 60%),var(--moss-darkest);overflow:hidden}
.ct-page.page-club .hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 100%, transparent 0, transparent 40%, rgba(0,0,0,0.35) 100%)}
.ct-page.page-club .hero-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:60px;align-items:end;max-width:1320px;margin:0 auto;position:relative;z-index:1}
.ct-page.page-club .hero-grid > *{min-width:0}
@media (max-width:900px){.ct-page.page-club .hero-grid{grid-template-columns:1fr;gap:40px}}
.ct-page.page-club .crumb{display:flex;gap:14px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(251,248,242,0.6);margin-bottom:36px}
.ct-page.page-club .crumb a{color:var(--gold-soft)}
.ct-page.page-club .crumb a:hover{color:var(--paper)}
.ct-page.page-club .crumb span{opacity:0.4}
.ct-page.page-club .hero h1{margin-top:24px;font-size:clamp(48px,7vw,108px);font-weight:300;letter-spacing:-0.015em;line-height:1.02;color:var(--paper);padding-bottom:0.08em}
.ct-page.page-club .hero h1 em{font-style:italic;color:var(--gold-soft)}
.ct-page.page-club .hero .lede{margin-top:44px;max-width:50ch}
.ct-page.page-club .hero .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}
.ct-page.page-club .hero-side{aspect-ratio:3/4;background:repeating-linear-gradient(45deg, rgba(232,200,140,0.10) 0 2px, transparent 2px 18px),linear-gradient(180deg, rgba(40,57,40,0.7), rgba(18,28,18,0.95));border:1px solid rgba(232,200,140,0.18);display:flex;align-items:flex-end;padding:24px;position:relative;overflow:hidden}
.ct-page.page-club .hero-side::before{content:"";position:absolute;inset:14px;border:1px solid rgba(232,200,140,0.3)}
.ct-page.page-club .hero-side img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-page.page-club .hero-side .tag{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-soft);background:rgba(0,0,0,0.55);padding:5px 10px}
.ct-page.page-club .hero-meta{margin-top:60px;display:flex;flex-wrap:wrap;gap:32px 48px;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(251,248,242,0.75)}
.ct-page.page-club .hero-meta .label{display:block;color:var(--gold-soft);margin-bottom:4px}
.ct-page.page-club .hero-mark{position:absolute;right:var(--pad);top:140px;font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold-soft);writing-mode:vertical-rl;transform:rotate(180deg)}
@media (max-width:900px){.ct-page.page-club .hero-mark{display:none}}

/* idea */
.ct-page.page-club .idea{background:radial-gradient(ellipse 60% 50% at 30% 100%, rgba(232,200,140,0.10), transparent 60%),var(--moss-deep);position:relative;border-top:1px solid rgba(232,200,140,0.10)}
.ct-page.page-club .idea-head{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:end;margin-bottom:60px}
@media (max-width:900px){.ct-page.page-club .idea-head{grid-template-columns:1fr;gap:30px}}
.ct-page.page-club .idea-head h2{margin-top:18px}
.ct-page.page-club .idea-head h2 em{font-style:italic;color:var(--gold-soft)}
.ct-page.page-club .idea-body{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:start}
@media (max-width:900px){.ct-page.page-club .idea-body{grid-template-columns:1fr}}
.ct-page.page-club .idea-body p{color:rgba(251,248,242,0.78);line-height:1.75;margin-bottom:22px;font-size:17px}
.ct-page.page-club .idea-body .quote{margin:30px 0;padding:18px 0 18px 30px;border-left:1px solid var(--gold-soft);font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.4;color:var(--paper)}
.ct-page.page-club .mood{position:relative;background:repeating-linear-gradient(45deg, rgba(232,200,140,0.08) 0 2px, transparent 2px 18px),linear-gradient(135deg, rgba(40,57,40,0.6), rgba(18,28,18,0.9));border:1px solid rgba(232,200,140,0.18);min-height:520px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;overflow:hidden}
.ct-page.page-club .mood::before{content:"";position:absolute;inset:14px;border:1px solid rgba(232,200,140,0.22);pointer-events:none}
.ct-page.page-club .mood .label{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-soft)}
.ct-page.page-club .mood .ph{position:relative;flex:1;margin:30px 0;background:repeating-linear-gradient(45deg, rgba(232,200,140,0.08) 0 2px, transparent 2px 18px);border:1px dashed rgba(232,200,140,0.4);display:flex;align-items:center;justify-content:center}
.ct-page.page-club .mood .ph span{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-soft);background:rgba(0,0,0,0.55);padding:4px 10px}
.ct-page.page-club .mood .annot{position:relative;display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:rgba(251,248,242,0.6)}

/* upcoming events */
.ct-page.page-club .upcoming{background:radial-gradient(ellipse 80% 30% at 50% 0%, rgba(232,200,140,0.10), transparent 60%),var(--moss-darkest);border-top:1px solid rgba(232,200,140,0.10)}
.ct-page.page-club .upcoming-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
@media (max-width:900px){.ct-page.page-club .upcoming-head{grid-template-columns:1fr;gap:24px}}
.ct-page.page-club .upcoming-head h2{margin-top:18px}
.ct-page.page-club .events-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:1000px){.ct-page.page-club .events-row{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.ct-page.page-club .events-row{grid-template-columns:1fr}}
.ct-page.page-club .event{background:rgba(251,248,242,0.03);border:1px solid rgba(232,200,140,0.20);padding:28px;display:flex;flex-direction:column;gap:18px;transition:background .3s,border-color .3s,transform .3s;position:relative}
.ct-page.page-club .event:hover{background:rgba(232,200,140,0.07);border-color:rgba(232,200,140,0.45);transform:translateY(-4px)}
.ct-page.page-club .event .date{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-soft)}
.ct-page.page-club .event .seats{color:rgba(251,248,242,0.55)}
.ct-page.page-club .event .ph{aspect-ratio:5/4;width:100%;background:repeating-linear-gradient(45deg, rgba(232,200,140,0.08) 0 2px, transparent 2px 18px),linear-gradient(135deg, rgba(40,57,40,0.7), rgba(15,22,15,0.9));border:1px solid rgba(232,200,140,0.16);display:flex;align-items:flex-end;padding:14px;position:relative;overflow:hidden}
.ct-page.page-club .event .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-page.page-club .event .ph .tag{position:relative;font-family:var(--mono);font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-soft);background:rgba(0,0,0,0.55);padding:4px 8px}
.ct-page.page-club .event h3{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.1;color:var(--paper)}
.ct-page.page-club .event h3 em{font-style:italic;color:var(--gold-soft)}
.ct-page.page-club .event .blurb{font-size:14px;color:rgba(251,248,242,0.72);line-height:1.6;flex:1}
.ct-page.page-club .event .meta{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid rgba(232,200,140,0.18);font-family:var(--mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(251,248,242,0.65)}
.ct-page.page-club .event .reserve{color:var(--gold-soft)}
.ct-page.page-club .event .reserve::after{content:" →";transition:padding .25s}
.ct-page.page-club .event:hover .reserve::after{padding-left:6px}
.ct-page.page-club .event-extra{margin-top:18px;padding:18px 28px;border:1px dashed rgba(232,200,140,0.3);background:rgba(251,248,242,0.02);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(251,248,242,0.6)}
.ct-page.page-club .event-extra a{color:var(--gold-soft);text-decoration:underline;text-decoration-color:rgba(232,200,140,0.4)}

/* how it works (dark) */
.ct-page.page-club .how{background:var(--moss-deep);border-top:1px solid rgba(232,200,140,0.12)}
.ct-page.page-club .how-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
@media (max-width:900px){.ct-page.page-club .how-head{grid-template-columns:1fr;gap:24px}}
.ct-page.page-club .how-head h2{margin-top:18px}
.ct-page.page-club .steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(232,200,140,0.18);border-bottom:1px solid rgba(232,200,140,0.18)}
@media (max-width:900px){.ct-page.page-club .steps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ct-page.page-club .steps{grid-template-columns:1fr}}
.ct-page.page-club .step{padding:40px 28px 36px;border-right:1px solid rgba(232,200,140,0.18);display:flex;flex-direction:column;gap:14px}
.ct-page.page-club .step:last-child{border-right:none}
@media (max-width:900px){.ct-page.page-club .step:nth-child(2){border-right:none}.ct-page.page-club .step:nth-child(3){border-right:1px solid rgba(232,200,140,0.18);border-top:1px solid rgba(232,200,140,0.18)}.ct-page.page-club .step:nth-child(4){border-top:1px solid rgba(232,200,140,0.18)}}
@media (max-width:600px){.ct-page.page-club .step{border-right:none;border-top:1px solid rgba(232,200,140,0.18)}.ct-page.page-club .step:first-child{border-top:none}}
.ct-page.page-club .step-num{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;color:var(--gold-soft)}
.ct-page.page-club .step-title{font-family:var(--serif);font-size:26px;line-height:1.15;font-weight:400;color:var(--paper)}
.ct-page.page-club .step-desc{font-size:14px;color:rgba(251,248,242,0.72);line-height:1.6}

/* past themes */
.ct-page.page-club .past{background:var(--moss-darkest)}
.ct-page.page-club .past-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
@media (max-width:900px){.ct-page.page-club .past-head{grid-template-columns:1fr;gap:24px}}
.ct-page.page-club .past-head h2{margin-top:18px}
.ct-page.page-club .past-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:rgba(232,200,140,0.18);border:1px solid rgba(232,200,140,0.18)}
.ct-page.page-club .past-card{background:rgba(15,22,15,0.92);padding:28px 24px;display:flex;flex-direction:column;gap:8px;transition:background .25s;min-height:160px;justify-content:space-between}
.ct-page.page-club .past-card:hover{background:rgba(40,57,40,0.6)}
.ct-page.page-club .past-card .when{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-soft)}
.ct-page.page-club .past-card .name{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.15;color:var(--paper)}
.ct-page.page-club .past-card .note{font-size:13px;color:rgba(251,248,242,0.6);line-height:1.5}

/* a night in outline */
.ct-page.page-club .night{background:radial-gradient(ellipse 60% 50% at 70% 100%, rgba(232,200,140,0.12), transparent 60%),var(--moss-deep);border-top:1px solid rgba(232,200,140,0.10)}
.ct-page.page-club .night-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
@media (max-width:900px){.ct-page.page-club .night-head{grid-template-columns:1fr;gap:24px}}
.ct-page.page-club .night-head h2{margin-top:18px}
.ct-page.page-club .timeline{display:grid;grid-template-columns:120px 1fr}
@media (max-width:600px){.ct-page.page-club .timeline{grid-template-columns:80px 1fr}}
.ct-page.page-club .tl-row{display:contents}
.ct-page.page-club .tl-time{grid-column:1;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-soft);padding:28px 16px 28px 0;border-bottom:1px solid rgba(232,200,140,0.18);border-right:1px solid rgba(232,200,140,0.30)}
.ct-page.page-club .tl-body{grid-column:2;padding:28px 0 28px 30px;border-bottom:1px solid rgba(232,200,140,0.18)}
.ct-page.page-club .tl-row:first-of-type .tl-time,.ct-page.page-club .tl-row:first-of-type .tl-body{border-top:1px solid rgba(232,200,140,0.18)}
.ct-page.page-club .tl-row:last-child .tl-time,.ct-page.page-club .tl-row:last-child .tl-body{border-bottom:none}
.ct-page.page-club .tl-title{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--paper);line-height:1.2}
.ct-page.page-club .tl-desc{margin-top:8px;font-size:14px;color:rgba(251,248,242,0.7);line-height:1.6;max-width:60ch}

/* reservation form (dark) */
.ct-page.page-club .reserve{background:radial-gradient(ellipse 70% 50% at 80% 10%, rgba(232,200,140,0.14), transparent 60%),radial-gradient(ellipse 50% 40% at 10% 90%, rgba(125,148,108,0.10), transparent 60%),var(--moss-darkest);border-top:1px solid rgba(232,200,140,0.10);position:relative;overflow:hidden}
.ct-page.page-club .reserve-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px;position:relative}
@media (max-width:900px){.ct-page.page-club .reserve-head{grid-template-columns:1fr;gap:24px}}
.ct-page.page-club .reserve-head h2{margin-top:18px}
.ct-page.page-club .reserve-head h2 em{font-style:italic;color:var(--gold-soft)}
.ct-page.page-club .form-card{position:relative;background:rgba(251,248,242,0.03);border:1px solid rgba(232,200,140,0.25);padding:clamp(32px,4vw,56px)}
.ct-page.page-club .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:680px){.ct-page.page-club .form-grid{grid-template-columns:1fr}}
.ct-page.page-club .field{display:flex;flex-direction:column;gap:8px}
.ct-page.page-club .field.full{grid-column:1 / -1}
.ct-page.page-club .field label{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-soft)}
.ct-page.page-club .field input,.ct-page.page-club .field select,.ct-page.page-club .field textarea{background:transparent;border:none;border-bottom:1px solid rgba(232,200,140,0.3);padding:10px 0 12px;font-family:var(--sans);font-size:16px;color:var(--paper);transition:border-color .25s;border-radius:0}
.ct-page.page-club .field input:focus,.ct-page.page-club .field select:focus,.ct-page.page-club .field textarea:focus{outline:none;border-bottom-color:var(--gold)}
.ct-page.page-club .field textarea{min-height:80px;resize:vertical}
.ct-page.page-club .field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--gold-soft) 50%),linear-gradient(135deg, var(--gold-soft) 50%, transparent 50%);background-position:calc(100% - 12px) 18px, calc(100% - 7px) 18px;background-size:5px 5px;background-repeat:no-repeat}
.ct-page.page-club .field select option{background:var(--moss-darkest);color:var(--paper)}
.ct-page.page-club .form-foot{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.ct-page.page-club .form-foot .note{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(251,248,242,0.55);max-width:36ch}
/* CF7 / WPForms bridge (dark) */
.ct-page.page-club .form-card .wpcf7-form p{margin:0}
.ct-page.page-club .form-card .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.ct-page.page-club .form-card .wpcf7 select,.ct-page.page-club .form-card .wpcf7 textarea,.ct-page.page-club .form-card .wpforms-field input,.ct-page.page-club .form-card .wpforms-field select,.ct-page.page-club .form-card .wpforms-field textarea{background:transparent;border:none;border-bottom:1px solid rgba(232,200,140,0.3);padding:10px 0 12px;font-family:var(--sans);font-size:16px;color:var(--paper);border-radius:0;width:100%}
.ct-page.page-club .form-card .wpcf7 label,.ct-page.page-club .form-card .wpforms-field-label{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-soft);font-weight:400}
.ct-page.page-club .form-card .wpcf7 input[type=submit],.ct-page.page-club .form-card .wpforms-submit{display:inline-flex;align-items:center;gap:14px;padding:14px 22px;font-family:var(--sans);font-weight:400;font-size:14px;letter-spacing:0.08em;text-transform:uppercase;border:1px solid var(--gold);background:var(--gold);color:var(--moss-darkest);border-radius:var(--rad);cursor:pointer}
.ct-page.page-club .form-card .wpcf7 input[type=submit]:hover,.ct-page.page-club .form-card .wpforms-submit:hover{background:transparent;color:var(--gold-soft);border-color:var(--gold-soft)}

/* faq (dark) */
.ct-page.page-club .faq{background:var(--moss-deep);border-top:1px solid rgba(232,200,140,0.10)}
.ct-page.page-club .faq-head{text-align:center;margin-bottom:50px}
.ct-page.page-club .faq-head h2{margin-top:18px}
.ct-page.page-club .faq-list{max-width:840px;margin:0 auto;border-top:1px solid rgba(232,200,140,0.20)}
.ct-page.page-club .faq-item{border-bottom:1px solid rgba(232,200,140,0.20);padding:24px 0}
.ct-page.page-club .faq-item summary{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;cursor:pointer;list-style:none;font-family:var(--serif);font-size:clamp(20px,2vw,26px);font-weight:400;color:var(--paper);transition:color .25s}
.ct-page.page-club .faq-item summary::-webkit-details-marker{display:none}
.ct-page.page-club .faq-item summary:hover{color:var(--gold-soft)}
.ct-page.page-club .faq-item .plus{flex-shrink:0;width:24px;height:24px;position:relative;margin-top:8px}
.ct-page.page-club .faq-item .plus::before,.ct-page.page-club .faq-item .plus::after{content:"";position:absolute;background:var(--gold-soft);left:50%;top:50%}
.ct-page.page-club .faq-item .plus::before{width:14px;height:1px;transform:translate(-50%,-50%)}
.ct-page.page-club .faq-item .plus::after{width:1px;height:14px;transform:translate(-50%,-50%);transition:transform .25s}
.ct-page.page-club .faq-item[open] .plus::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.ct-page.page-club .faq-item .answer{margin-top:16px;color:rgba(251,248,242,0.78);line-height:1.65;font-size:16px;max-width:64ch}

/* other side (light card) */
.ct-page.page-club .other-side{background:var(--cream);color:var(--ink);padding:clamp(80px,9vw,140px) 0;position:relative;overflow:hidden}
.ct-page.page-club .other-side::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 30% 50%, rgba(125,148,108,0.18), transparent 60%);pointer-events:none}
.ct-page.page-club .other-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative}
@media (max-width:900px){.ct-page.page-club .other-side-grid{grid-template-columns:1fr;gap:30px}}
.ct-page.page-club .other-side .eyebrow{color:var(--sage-deep)}
.ct-page.page-club .other-side h2{font-family:var(--serif);font-size:clamp(38px,5vw,68px);font-weight:300;line-height:1;margin-top:18px;color:var(--ink)}
.ct-page.page-club .other-side h2 em{font-style:italic;color:var(--sage-deep)}
.ct-page.page-club .other-side p{color:var(--ink-soft);line-height:1.6;margin-top:24px;max-width:48ch}
.ct-page.page-club .other-side .cta{margin-top:30px}
.ct-page.page-club .other-side .btn{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.ct-page.page-club .other-side .btn:hover{background:transparent;color:var(--ink);border-color:var(--ink)}
