/* ============================================================
   Gish Reservations Coordinator — Sprint 96C
   Namespace .res-* — shared across travel-honeymoon.html,
   travel-welcome-packet.html, and rehearsal-dinner.html.
   ============================================================ */

/* Commission widget */
.res-commission{display:grid;grid-template-columns:1.1fr 1.5fr;gap:18px;padding:22px 24px;background:linear-gradient(135deg,rgba(218,55,67,.10),rgba(94,45,175,.10));border:1px solid var(--border2,rgba(255,255,255,.14));border-radius:18px;margin-bottom:20px;align-items:center}
.res-commission .big{font-family:var(--font-display);font-weight:900;font-size:42px;letter-spacing:-.025em;line-height:1.05;background:linear-gradient(135deg,var(--gold,#FBBF24),var(--pink,#EC4899));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.res-commission .lbl{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-bottom:4px}
.res-commission .sub{font-size:13px;color:var(--text2);margin-top:4px}
.res-bar{height:14px;border-radius:100px;background:rgba(255,255,255,.06);overflow:hidden;display:flex}
.res-bar .seg{height:100%}
.res-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--text2);margin-top:6px}
.res-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}

/* Restaurant card grid */
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.res-card{background:rgba(255,255,255,.035);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.res-card .photo{width:100%;height:130px;background:linear-gradient(135deg,#321420,#0a0510);background-size:cover;background-position:center;position:relative}
.res-card .photo .stars{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.55);font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--gold,#FBBF24);padding:3px 7px;border-radius:6px;letter-spacing:.06em}
.res-card .body{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1}
.res-card h4{font-family:var(--font-display);font-weight:800;font-size:16px;margin:0;color:var(--text1);line-height:1.2}
.res-card .meta{font-size:12.5px;color:var(--text2);display:flex;gap:8px;flex-wrap:wrap}
.res-card .rationale{font-family:var(--font-serif);font-style:italic;font-size:12.5px;color:var(--text3);line-height:1.45}
.res-card .footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px}
.res-card .price{font-family:var(--font-mono);font-size:13px;color:var(--text2)}
.res-card.added{border-color:rgba(16,185,129,.45);background:rgba(16,185,129,.04)}
.res-card.private-cap{border-color:rgba(94,45,175,.45)}

/* Provider chip */
.res-prov{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:6px;background:rgba(255,255,255,.05);color:var(--text2)}
.res-prov .dot{width:7px;height:7px;border-radius:50%}

/* Category pill */
.res-cat{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:100px;color:var(--cyan,#22D3EE);background:rgba(34,211,238,.10);border:1px solid rgba(34,211,238,.30)}
.res-cat.must-try{color:var(--gold);background:rgba(251,191,36,.10);border-color:rgba(251,191,36,.32)}
.res-cat.special-occasion{color:var(--pink);background:rgba(236,72,153,.10);border-color:rgba(236,72,153,.32)}
.res-cat.date-night{color:#fda4af;background:rgba(244,114,182,.10);border-color:rgba(244,114,182,.30)}
.res-cat.group-friendly{color:#c4a4ff;background:rgba(168,85,247,.10);border-color:rgba(168,85,247,.32)}

/* Marketplace banner */
.res-mp-banner{padding:14px 18px;background:linear-gradient(135deg,rgba(168,85,247,.10),rgba(94,45,175,.06));border:1px solid rgba(168,85,247,.32);border-radius:14px;margin-bottom:14px;font-size:13.5px;color:var(--text1);display:flex;gap:10px;align-items:center}
.res-mp-banner strong{color:#c4a4ff;font-family:var(--font-display);font-size:16px}

/* Stepper */
.res-steps{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}
.res-step{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:100px;font-size:13px;color:var(--text3)}
.res-step.active{color:var(--text1);border-color:rgba(218,55,67,.45);background:rgba(218,55,67,.08)}
.res-step.done{color:var(--green,#10B981);border-color:rgba(16,185,129,.32)}
.res-step .num{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700}
.res-step.active .num{background:linear-gradient(135deg,#DA3743,#5E2DAF);color:#fff}

/* Menu type cards */
.res-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.res-menu{padding:18px;border:2px solid var(--border);border-radius:14px;cursor:pointer;transition:border-color .2s,background .2s}
.res-menu:hover{border-color:rgba(218,55,67,.34)}
.res-menu.sel{border-color:#DA3743;background:rgba(218,55,67,.06)}
.res-menu h4{font-family:var(--font-display);font-weight:800;font-size:18px;margin:0 0 4px;color:var(--text1)}
.res-menu .pp{font-family:var(--font-display);font-weight:900;font-size:24px;color:var(--gold,#FBBF24);margin:6px 0}
.res-menu .pp .ccy{font-size:12px;color:var(--text3);margin-right:2px}
.res-menu .pp small{font-family:var(--font);font-weight:500;font-size:11px;color:var(--text3);margin-left:3px}
.res-menu p{font-family:var(--font-serif);font-style:italic;font-size:13px;color:var(--text2);margin:0;line-height:1.45}
@media(max-width:1024px){.res-menu-grid{grid-template-columns:repeat(2,1fr)}}

/* Status pill */
.res-status{display:inline-block;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;padding:4px 10px;border-radius:100px}
.res-status.REQUESTED,.res-status.PENDING{background:rgba(34,211,238,.10);color:var(--cyan);border:1px solid rgba(34,211,238,.30)}
.res-status.CONTACTED{background:rgba(251,191,36,.10);color:var(--gold);border:1px solid rgba(251,191,36,.32)}
.res-status.CONFIRMED{background:rgba(16,185,129,.10);color:var(--green);border:1px solid rgba(16,185,129,.32)}
.res-status.CANCELLED{background:rgba(244,114,182,.10);color:#fda4af;border:1px solid rgba(244,114,182,.34)}

/* Cost breakdown */
.res-breakdown{padding:18px;background:rgba(0,0,0,.18);border:1px solid var(--border);border-radius:14px;font-size:13.5px}
.res-breakdown .row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--border)}
.res-breakdown .row:last-of-type{border-bottom:0}
.res-breakdown .row.total{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--gold);padding-top:14px;margin-top:6px;border-top:2px solid rgba(251,191,36,.34);border-bottom:0}

/* Comparison panel */
.res-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.res-compare .col{padding:16px;border-radius:14px;border:1px solid var(--border)}
.res-compare .col.aggregator{background:rgba(218,55,67,.06);border-color:rgba(218,55,67,.30)}
.res-compare .col.marketplace{background:rgba(168,85,247,.06);border-color:rgba(168,85,247,.32)}
.res-compare h4{font-family:var(--font-display);font-weight:800;font-size:16px;margin:0 0 4px;color:var(--text1)}
.res-compare .price{font-family:var(--font-display);font-weight:900;font-size:28px;color:var(--gold);margin:6px 0}
.res-compare .delta{font-family:var(--font-mono);font-size:11.5px;color:var(--green)}
@media(max-width:1024px){.res-compare{grid-template-columns:1fr}}

/* Time slot pills */
.res-slots{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.res-slot{padding:6px 12px;background:rgba(255,255,255,.05);border:1px solid var(--border2);border-radius:8px;font-family:var(--font-mono);font-size:12px;cursor:pointer;color:var(--text1)}
.res-slot:hover{border-color:#DA3743;background:rgba(218,55,67,.10)}
.res-slot.sel{background:#DA3743;border-color:#DA3743;color:#fff}
.res-slot.disabled{opacity:.35;cursor:not-allowed}
