/* Concept H — Contact. Shares events.css (-> flavor.css hero, Ohana, .e-form). */
@import url("events.css");
[hidden]{display:none!important}
main > section.ct-sec{min-height:0;display:block}
.ct-hero .wrap{padding-bottom:36px}
.ct-taps{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.ct-tap{display:flex;flex-direction:column;gap:2px;min-height:64px;justify-content:center;padding:12px 22px;border-radius:16px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 20px rgba(28,28,28,.14);flex:0 1 auto}
.ct-tap small{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}
.ct-tap b{font-size:1.2rem;color:var(--teal);overflow-wrap:anywhere}
.ct-tap:hover,.ct-tap:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.ct-sec{padding:48px 0 20px}
.ct-rgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.ct-rgrid>.ct-route{flex:0 1 calc((100% - 36px)/3)}
.ct-route{position:relative;display:flex;flex-direction:column;gap:6px;background:#fff;border-radius:18px;padding:20px 52px 20px 22px;min-height:96px;text-decoration:none;color:var(--ink);box-shadow:0 8px 22px rgba(28,28,28,.08);border:2px solid transparent}
.ct-route b{font-size:1.2rem;color:var(--teal)}
.ct-route span{line-height:1.4;color:#2F2A26}
.ct-go{position:absolute;right:20px;top:50%;margin-top:-14px;font-style:normal;font-weight:800;font-size:1.5rem;color:var(--coral);transition:transform .2s}
.ct-route:hover,.ct-route:focus-visible{border-color:var(--gold)}
.ct-route:hover .ct-go{transform:translateX(4px)}
.ct-cols{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:start}
.ct-ftitle{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:2rem;line-height:1;color:var(--teal);margin:0 0 4px}
.ct-form{gap:16px}
.ct-form label{font-size:1rem}
.ct-form input,.ct-form textarea{font-size:16px;min-height:48px;width:100%;box-sizing:border-box}
.ct-form textarea{min-height:140px;resize:vertical}
.ct-form em{font-style:normal;font-weight:400;color:var(--muted)}
.ct-name{border:0;margin:0;padding:0;min-width:0}
.ct-name legend{font-weight:700;padding:0 0 6px;font-size:1rem}
.ct-note{margin:0;font-weight:700;color:var(--teal)}
.ct-info{background:#fff;border-radius:22px;padding:30px 34px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.ct-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:14px}
.ct-list small{display:block;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--coral);margin-bottom:2px}
.ct-list a:not(.ct-dir){color:var(--teal);font-weight:800;font-size:1.15rem;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.ct-list a:hover{text-decoration:underline}
.ct-dir{display:inline-flex;align-items:center;min-height:44px;font-weight:800;color:var(--teal);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px;margin-top:2px}
.ct-h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:1.4rem;color:var(--teal);margin:22px 0 6px}
.ct-hours{list-style:none;margin:0;padding:0}
.ct-hours li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #E6DccB}
.ct-hours b{font-weight:700;text-align:right}
.ct-socs{display:flex;flex-wrap:wrap;gap:10px}
.ct-soc{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;background:var(--teal);color:#fff;font-weight:800;text-decoration:none}
.ct-soc:hover,.ct-soc:focus-visible{background:var(--coral);outline:3px solid var(--gold);outline-offset:2px}
@media (max-width:900px){.ct-rgrid>.ct-route{flex-basis:calc((100% - 18px)/2)}.ct-cols{grid-template-columns:1fr}}
@media (max-width:600px){
  .ct-sec{padding:30px 0 12px}
  .ct-rgrid>.ct-route{flex-basis:100%}
  .ct-taps{flex-direction:column}
  .ct-tap{flex:1 1 auto}
  .ct-tap b{font-size:clamp(.85rem,4.2vw,1.2rem);overflow-wrap:normal}
  .ct-info{padding:22px 18px}
  .ct-form .e-row{grid-template-columns:1fr}
  .ct-hours li{flex-direction:column;gap:0}.ct-hours b{text-align:left}
}
.ct-hero .f-crumb a{display:inline-flex;align-items:center;min-height:44px}
/* fix pass 1 */
.swipe-hint{display:none}
/* desktop: 3 + 2, the 2 wider so both rows span full width */
@media (min-width:901px){
  .ct-rgrid{justify-content:stretch}
  .ct-rgrid>.ct-route{flex:1 1 calc((100% - 36px)/3)}
  .ct-rgrid>.ct-route:nth-child(n+4){flex:1 1 calc((100% - 18px)/2)}
}
@media (max-width:600px){
  .swipe-hint{display:block;margin:0 0 6px;font-size:.85rem;color:var(--muted)}
  .ct-rgrid{display:flex;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:4px 24px 14px;margin:0 -24px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .ct-rgrid::-webkit-scrollbar{display:none}
  .ct-rgrid>.ct-route,.ct-rgrid>.ct-route:nth-child(n+4){flex:0 0 82vw;scroll-snap-align:start}
}

/* swipe dots (polish pass P) */
.sw-dots{display:none}
@media (max-width:600px){
  .swipe-hint{display:none!important}
  .sw-dots{display:flex;justify-content:center;align-items:center;gap:0;min-height:44px;margin:0 0 10px}
  .sw-dot{appearance:none;border:0;background:none;padding:0;width:28px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
  .sw-dot::before{content:"";width:10px;height:10px;border-radius:50%;background:#D9CCE0;transition:background .2s,transform .2s}
  .sw-dot.on::before{background:var(--teal);transform:scale(1.25)}
  .sw-dot:focus-visible{outline:3px solid var(--gold);outline-offset:-4px;border-radius:8px}
}
@media (max-width:600px){.ct-rgrid{scroll-padding-left:24px}}
