/* ==========================================================================
   CBD Kundalahalli — the influencer table-review campaign
   Layered on css/rsvp.css (the launch night's retro-Bengaluru theme): the
   polaroid becomes a "Reserved" table card, a menu-style "order" for what we
   ask, a day + time picker, and the brief an approved guest unlocks.
   ========================================================================== */

/* ------------------------------------------------- the reserved card */
.cbt-tent{width:min(70vw,340px);transform:rotate(-2.5deg)}
.cbt-tent:hover{transform:rotate(-1deg) translateY(-3px)}
.cbt-front{position:relative;aspect-ratio:3/4;padding:26px 22px 22px;border:10px solid #F7F0E1;border-bottom-width:44px;border-radius:3px;
  background:var(--noise),radial-gradient(120% 100% at 50% 20%, var(--paper-3) 0%, var(--paper) 60%, var(--paper-2) 100%);
  color:var(--ink);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 22px 40px -16px rgba(0,0,0,.85), 0 2px 4px rgba(0,0,0,.4);backface-visibility:hidden;
  transition:transform .7s cubic-bezier(.3,.7,.2,1)}
.cbt-front::before{content:"";position:absolute;inset:10px;border:2px solid var(--red);border-radius:4px;pointer-events:none}
.cbt-front::after{content:"";position:absolute;inset:16px;border:1px dashed rgba(35,31,32,.3);border-radius:2px;pointer-events:none}
.rv-polaroid.is-flipped .cbt-front{transform:rotateY(-180deg)}
.cbt-front-k{margin:0;font:700 .68rem/1.2 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.cbt-front-r{margin:6px 0 0;font:400 clamp(2.1rem,10.5vw,3rem)/.9 var(--display);text-transform:uppercase;color:var(--red);
  letter-spacing:.01em;text-shadow:2px 2px 0 rgba(35,31,32,.12)}
.cbt-front-for{margin:8px 0 0;font:700 1.55rem/1 var(--hand);color:var(--ink)}
.cbt-front-for span{color:var(--red-2);border-bottom:2px solid var(--mustard)}
.cbt-glasses{width:74%;height:auto;margin:10px 0 6px}
.cbt-front-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:100%;margin:6px 0 0;padding-top:10px;border-top:1px dashed rgba(35,31,32,.35)}
.cbt-front-meta dt{font:700 .58rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.cbt-front-meta dd{margin:4px 0 0;font:400 .9rem/1.1 var(--type);white-space:nowrap}
.cbt-back{justify-content:center}
.cbt-back-h{margin:0 0 6px!important;font:400 2rem/1 var(--display);color:var(--red);text-transform:uppercase}
.cbt-back ul{list-style:none;padding:0!important}
.cbt-back li{position:relative;padding-left:22px}
.cbt-back li::before{content:"✦";position:absolute;left:0;color:var(--red)}


/* ---------------------------------------------------- the deal ticket */
.cbt-ticket{transform:rotate(1deg)}
.cbt-ticket .rv-ticket-stub span{font-size:.72rem}

/* -------------------------------------------- what we ask: the order */
.cbt-order{position:relative;max-width:620px;margin:40px auto 0;padding:28px 22px 22px;border-radius:6px;color:var(--paper-3);
  background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--night-2);
  border:1px solid rgba(227,178,60,.35);box-shadow:0 26px 50px -24px rgba(0,0,0,.9);transform:rotate(-.6deg)}
.cbt-order::before{content:"";position:absolute;inset:8px;border:1px solid rgba(227,178,60,.25);border-radius:3px;pointer-events:none}
.cbt-order-k{margin:0;text-align:center;font:600 .72rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--mustard)}
.cbt-order-h{margin:8px 0 18px;text-align:center;font:400 clamp(1.6rem,7vw,2.3rem)/1.02 var(--display);text-transform:uppercase;color:var(--paper-3)}
.cbt-order-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cbt-order-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px;border-radius:8px;
  background:rgba(246,234,210,.06);border:1px dashed rgba(246,234,210,.22)}
.cbt-order-n{font:400 1.7rem/1 var(--display);color:var(--mustard)}
.cbt-order-list b{display:block;font:400 1.2rem/1.2 var(--type);color:var(--paper-3)}
.cbt-order-list small{display:block;margin-top:4px;font-size:.84rem;color:rgba(246,234,210,.7)}
.cbt-order-tag{padding:5px 10px;border:2px solid var(--red);border-radius:6px;color:#FF8A8F;font:800 .66rem/1 var(--sans);
  letter-spacing:.2em;text-transform:uppercase;transform:rotate(-6deg)}
.cbt-order-foot{margin:16px 0 0;text-align:center;font:700 1.25rem/1.15 var(--hand);color:var(--paper)}

/* ------------------------------------------------- day + time picker */
.cbt-when-row{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}
.cbt-when .rv-ref{margin:0}
.cbt-day input{width:100%;min-height:52px;padding:10px 12px;border:2px solid var(--ink);border-radius:12px;
  background:rgba(255,255,255,.35);color:var(--ink);font:400 1.1rem/1.2 var(--type);-webkit-appearance:none;appearance:none}
.cbt-day input:focus-visible{outline:3px solid var(--mustard);outline-offset:3px}
.cbt-day input[aria-invalid=true],.cbt-time select[aria-invalid=true]{border-color:var(--red)}
@media (max-width:380px){.cbt-when-row{grid-template-columns:1fr}}

/* --------------------------------------------- the brief, once approved */
.cbt-brief{position:relative;margin:28px 0 18px;padding:28px 20px 22px;border-radius:6px;color:var(--ink);
  background:var(--noise),radial-gradient(120% 90% at 50% 30%, var(--paper-3) 0%, var(--paper) 60%, var(--paper-2) 100%);
  box-shadow:0 22px 44px -22px rgba(0,0,0,.9);animation:rv-print .9s cubic-bezier(.2,.8,.2,1)}
.cbt-brief .rv-tape-strip{top:-12px}
.cbt-brief-k{margin:0;font:700 .66rem/1.2 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--green)}
.cbt-brief-h{margin:6px 0 14px;font:400 clamp(1.8rem,8vw,2.4rem)/1 var(--display);text-transform:uppercase;color:var(--red)}
.cbt-brief-body{display:grid;gap:12px}
.rv-gb-block{padding:12px 14px;border-radius:8px;background:rgba(255,255,255,.42);border:1px dashed rgba(35,31,32,.22)}
.rv-gb-h{margin:0 0 6px;font:400 1.12rem/1.3 var(--type);color:var(--ink)}
.rv-gb-row{margin:5px 0 0;font-size:.95rem;line-height:1.5;color:#3A302A;overflow-wrap:anywhere}
.rv-gb-row.is-bullet{position:relative;padding-left:18px}
.rv-gb-row.is-bullet::before{content:"•";position:absolute;left:4px;color:var(--red)}
.rv-gb-block a{color:var(--red-2);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(168,21,30,.35)}
.cbt-tags{margin:16px 0 0!important;padding:0!important;background:none!important;box-shadow:none!important;transform:none!important}
.cbt-tags-h{margin:0 0 8px!important;font:700 .7rem/1 var(--sans)!important;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cbt-review{display:flex;width:100%;justify-content:center;margin-top:16px}
.cbt-review-note{margin:8px 0 0;text-align:center;font-size:.82rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.cbt-brief{animation:none}}

/* phones: the invite, then the deal and the order (what they're signing up
   for), then the booking; the card and the pincode follow */
@media (max-width:760px){
  .cbt .rv-hero-copy .rv-lede{display:block;font-size:.92rem}
  .cbt .cbt-how{order:2}
  .cbt .rv-ticket{order:2;margin-top:22px}
  .cbt .cbt-order{order:3;margin-top:26px}
  .cbt .cbt-faq{order:8}
  .cbt .rv-deck,.cbt .rv-done{order:4}
  .cbt .rv-marquee{order:5}
  .cbt .rv-pinrow{order:6}
  .cbt .rv-polaroid{order:7}
  .cbt .rv-foot{order:9}
  .cbt-order{padding:22px 16px 18px}
  .cbt-order-list li{gap:10px;padding:12px}
}

/* ============================ plain words, friendlier booking (31 Oct, 2) */

/* quick facts under the title */
.cbt-facts{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:4px 0 18px;padding:0}
.cbt-facts li{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;background:var(--ink);color:var(--paper-3);
  font:600 .86rem/1.1 var(--sans)}
.cbt-facts li span{font-size:1rem}
.cbt-ahead{margin:12px 0 0;font-size:.9rem;color:var(--muted)}
.cbt-ahead b{color:var(--red)}
@media (max-width:760px){.cbt .rv-hero-copy .rv-play{display:inline-flex}}

/* section headings */
.cbt-sec-h{margin:0 0 16px;text-align:center;font:400 clamp(1.7rem,7vw,2.4rem)/1 var(--display);text-transform:uppercase;color:var(--paper-3)}

/* how it works: three steps */
.cbt-how{max-width:900px;margin:44px auto 0}
.cbt-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:s}
@media (min-width:700px){.cbt-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
.cbt-steps li{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 18px 18px 18px;border-radius:12px;color:var(--ink);
  background:var(--noise),radial-gradient(120% 90% at 50% 20%, var(--paper-3) 0%, var(--paper) 70%);counter-increment:s;
  box-shadow:0 18px 34px -20px rgba(0,0,0,.85);transition:transform .25s ease, box-shadow .25s ease}
.cbt-steps li:hover,.cbt-steps li.is-in:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 26px 40px -20px rgba(0,0,0,.9)}
.cbt-steps li::after{content:counter(s);position:absolute;right:14px;top:10px;font:400 2.6rem/1 var(--display);color:rgba(200,32,42,.18)}
.cbt-step-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--ink);font-size:1.3rem}
.cbt-steps b{font:400 1.25rem/1.2 var(--type);color:var(--ink)}
.cbt-steps li > span:last-child{font-size:.95rem;line-height:1.45;color:#4A3E35}

.cbt-small{margin:-6px 0 14px;font-size:.84rem;color:var(--muted)}

/* day cards + time chips */
.cbt .rv-deck{min-width:0;max-width:100%}
.cbt fieldset.cbt-when{min-width:0;max-width:100%}
.cbt-when .cbt-days{max-width:100%}
.cbt-days{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin:0 -2px;scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin}
.cbt-dayb{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:2px;width:64px;padding:9px 0 8px;
  border:2px solid var(--ink);border-radius:12px;background:rgba(255,255,255,.4);color:var(--ink);cursor:pointer;
  font-family:var(--sans);transition:transform .15s ease, background .15s ease}
.cbt-dayb:hover{transform:translateY(-2px);background:rgba(255,255,255,.7)}
.cbt-dayb-w{font:700 .68rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cbt-dayb b{font:400 1.6rem/1 var(--display)}
.cbt-dayb-m{font:600 .7rem/1 var(--sans);color:var(--muted)}
.cbt-dayb.is-weekend .cbt-dayb-w{color:var(--red)}
.cbt-dayb.is-on{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px);box-shadow:0 8px 16px -8px rgba(200,32,42,.9)}
.cbt-dayb.is-on .cbt-dayb-w,.cbt-dayb.is-on .cbt-dayb-m{color:#FFE3E4}
.cbt-dayb:focus-visible,.cbt-timeb:focus-visible{outline:3px solid var(--mustard);outline-offset:2px}
.cbt-day.is-enhanced{margin:6px 0 0!important}
.cbt-day.is-enhanced span{font-size:.66rem!important}
.cbt-day.is-enhanced input{min-height:44px;font-size:1rem}
.cbt-pick-h{margin:14px 0 8px;font:700 .72rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.cbt-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cbt-timeb{min-height:46px;border:2px solid var(--ink);border-radius:999px;background:rgba(255,255,255,.4);color:var(--ink);
  font:400 1.05rem/1 var(--type);cursor:pointer;transition:background .15s ease, transform .15s ease}
.cbt-timeb:hover{background:rgba(255,255,255,.75)}
.cbt-timeb.is-on{background:var(--ink);color:var(--paper-3);transform:scale(1.03)}
.cbt-native.is-enhanced{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cbt-timeb-other{grid-column:1/-1;border-style:dashed}
.cbt-timeb-other.is-open:not(.is-on){background:rgba(255,255,255,.75);border-style:solid}
.cbt-custom{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;border:2px solid var(--ink);border-radius:14px;background:rgba(255,255,255,.45);animation:cbtPop .25s ease-out}
.cbt-custom[hidden]{display:none}
.cbt-custom label{font-weight:700;font-size:.95rem;flex:1}
.cbt-custom small{font-weight:500;opacity:.7}
.cbt-custom input{min-height:44px;padding:6px 10px;border:2px solid var(--ink);border-radius:10px;background:var(--paper-3,#f3ead8);font:inherit;font-size:1rem}
.cbt-custom input:focus-visible{outline:3px solid var(--mustard);outline-offset:2px}
@keyframes cbtPop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cbt-picked{margin-top:10px!important;font-weight:600}
.cbt-picked.is-set{color:var(--green)}

/* questions */
.cbt-faq{max-width:640px;margin:46px auto 0}
.cbt-faq details{margin:0 0 8px;border-radius:12px;color:var(--ink);background:var(--noise),var(--paper);
  box-shadow:0 12px 26px -18px rgba(0,0,0,.9);overflow:hidden}
.cbt-faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:12px 16px;cursor:pointer;
  list-style:none;font:400 1.08rem/1.3 var(--type)}
.cbt-faq summary::-webkit-details-marker{display:none}
.cbt-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:var(--ink);color:var(--paper-3);font:700 1rem/1 var(--sans);transition:transform .2s ease}
.cbt-faq details[open] summary::after{transform:rotate(45deg);background:var(--red)}
.cbt-faq details p{margin:0;padding:0 16px 16px;font-size:.96rem;line-height:1.55;color:#4A3E35}

/* things rise in as you scroll (js/rsvp-table.js) */
.cbt-rise{opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--k,0) * 90ms)}
.cbt-rise.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.cbt-rise{opacity:1;transform:none;transition:none}.cbt-steps li:hover{transform:none}}

/* special days (data-special-days on #rvDay): starred day cards and their own slot.
   CBD: Fri 6 – Sun 8 Nov, 8 PM onwards only (4 Nov 2026). Yaakay's skin overrides these. */
.cbt-dayb{position:relative}
.cbt-dayb.is-special{background:var(--mustard)}
.cbt-dayb.is-special.is-on{background:var(--red)}
.cbt-dayb-star{position:absolute;top:-9px;right:-7px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;
  background:var(--red);color:var(--mustard);border:2px solid var(--ink);font-size:.72rem;line-height:1}
.cbt-dayb.is-special.is-on .cbt-dayb-star{background:var(--mustard);color:var(--red)}
.cbt-days{padding-top:12px}
.cbt-timeb-special{grid-column:1/-1;background:var(--mustard)}
.cbt-timeb-special.is-on{background:var(--red);color:#fff}
.cbt-facts li.cbt-fact-special{background:var(--red);color:#fff}
