/* Wen Sehran Services: /services and /services/<business>. Builds on v9.css tokens. */
.svc-main{width:min(var(--v9-max,1240px),calc(100% - 2 * var(--v9-gutter,24px)));margin:0 auto;padding-bottom:clamp(48px,7vw,96px)}
.svc-main h1,.svc-main h2{font-family:var(--v9-display);font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.005em;margin:0}
.svc-main p{margin:0}

/* Hero */
.svc-hero{padding:clamp(40px,7vw,96px) 0 clamp(28px,4vw,48px)}
.svc-hero h1{font-size:clamp(52px,7.4vw,112px);max-width:15ch}
.svc-hero h1 em{font-style:normal;color:var(--v9-red)}
.svc-sub{margin-top:18px!important;font-size:clamp(17px,1.6vw,20px);color:#d9d9de;max-width:44ch}
.svc-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.svc-list-cta svg{flex:0 0 auto}

/* Grid */
.svc-section{border-top:1px solid var(--v9-line);padding-top:clamp(24px,3.4vw,40px)}
.svc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:clamp(18px,3vw,28px)}
.svc-head h2{font-size:clamp(32px,4.4vw,52px)}
.svc-head p{color:var(--v9-muted);font-weight:600;font-size:14px}
.svc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.svc-card{background:var(--v9-surface);border:1px solid var(--v9-line);border-radius:var(--v9-radius-lg);overflow:hidden;min-width:0}
.svc-card-link,.svc-card-static{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.svc-card-media{display:block;aspect-ratio:1/1;overflow:hidden;background:#1b0a0f}
.svc-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.svc-card-body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}
.svc-card-name{font:700 19px/1.2 var(--v9-body);color:#fff}
.svc-card-name--sm{font-size:15px}
.svc-soon{font:600 13px/1.2 var(--v9-body);color:var(--v9-muted)}
.svc-card--soon .svc-card-media img{filter:saturate(.75) brightness(.8)}

/* Featured business: a 2x2 advertisement tile */
/* Listed businesses: same size as every card, marked by a red border */
.svc-card--featured{border-color:rgba(242,13,36,.55);box-shadow:0 24px 60px -36px rgba(242,13,36,.5)}
.svc-card--featured .svc-card-body{background:linear-gradient(180deg,rgba(242,13,36,.08),transparent)}
.svc-card-cat{font:600 12px/1.2 var(--v9-body);color:#ff8f9b}
.svc-card--featured .svc-card-name{font:700 15px/1.2 var(--v9-body)}
.svc-card-place{color:#d0d0d6;font-size:13px}
.svc-card-go{margin-top:6px;display:inline-flex;align-items:center;gap:8px;font:700 13px/1 var(--v9-body);color:#fff}
.svc-card-go::after{content:'';width:8px;height:8px;border-right:2px solid var(--v9-red-text);border-top:2px solid var(--v9-red-text);transform:rotate(45deg);transition:transform .2s ease}
.svc-card-link:hover .svc-card-go::after{transform:translateX(4px) rotate(45deg)}
.svc-card--featured:hover{border-color:var(--v9-red)}
.svc-card--featured .svc-card-media img{transition:transform .5s ease}
.svc-card-link:hover .svc-card-media img{transform:scale(1.03)}
.svc-card-link:focus-visible{outline:3px solid var(--v9-red-text);outline-offset:-3px;border-radius:var(--v9-radius-lg)}

/* Bottom call to action */
.svc-join{margin-top:clamp(40px,6vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:clamp(28px,5vw,56px);border:1px solid var(--v9-line);border-radius:var(--v9-radius-lg);background:radial-gradient(90% 140% at 100% 100%,rgba(242,13,36,.26),transparent 60%),var(--v9-ink)}
.svc-join h2{font-size:clamp(34px,4.6vw,58px);max-width:16ch}
.svc-join p{margin-top:12px!important;color:#cfcfd6;max-width:46ch}

/* Business profile */
.svc-back{padding:20px 0 14px}
.svc-back a{color:#cfcfd6;font-weight:600;font-size:15px;text-decoration:none;display:inline-flex;gap:8px;align-items:center;min-height:44px}
.svc-back a:hover{color:#fff}
.svc-back span{font-size:22px;line-height:1}
.svc-biz-hero{margin:0;border-radius:var(--v9-radius-lg);overflow:hidden;border:1px solid var(--v9-line);background:#0d0b0a;aspect-ratio:16/9}
.svc-biz-hero img{display:block;width:100%;height:100%;object-fit:cover}
.svc-biz-intro{padding:clamp(28px,4vw,48px) 0;display:grid;gap:18px;max-width:880px}
.svc-biz-id{display:flex;align-items:center;gap:16px}
.svc-biz-logo{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid rgba(214,175,96,.45)}
.svc-biz h1{font-size:clamp(34px,4vw,48px)}
.svc-biz-meta{color:var(--v9-muted);font-size:15px;margin-top:6px!important}
.svc-biz-tagline{font:900 clamp(44px,7vw,92px)/.88 var(--v9-display);text-transform:uppercase;color:#fff;margin-top:8px!important}
.svc-biz-lead{font-size:clamp(17px,1.5vw,19px);color:#d9d9de;max-width:58ch;line-height:1.6}
.svc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.svc-actions .btn svg{flex:0 0 auto}
.svc-biz-about{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:start;border-top:1px solid var(--v9-line);padding:clamp(28px,4vw,48px) 0}
.svc-biz-about h2,.svc-gallery h2,.svc-visit h2{font-size:clamp(32px,4vw,48px);margin-bottom:14px}
.svc-biz-about p{color:#d0d0d6;font-size:17px;line-height:1.65;max-width:56ch}
.svc-floors{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.svc-floors li{border:1px solid var(--v9-line);border-radius:var(--v9-radius);background:var(--v9-surface);padding:18px 20px;display:grid;gap:4px}
.svc-floor-n{font:900 30px/1 var(--v9-display);text-transform:uppercase;color:#d6af60}
.svc-floors strong{font-size:17px;color:#fff}
.svc-gallery{border-top:1px solid var(--v9-line);padding:clamp(28px,4vw,48px) 0}
.svc-gallery-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.svc-shot{display:block;width:100%;padding:0;border:1px solid var(--v9-line);border-radius:var(--v9-radius);overflow:hidden;background:#111;cursor:zoom-in;aspect-ratio:4/5}
.svc-shot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.svc-shot:hover img{transform:scale(1.03)}
.svc-visit{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:clamp(28px,5vw,48px);border:1px solid var(--v9-line);border-radius:var(--v9-radius-lg);background:var(--v9-surface)}
.svc-visit p{color:#cfcfd6;max-width:46ch}

/* Lightbox */
.svc-lightbox{width:min(1100px,100vw);max-width:100vw;max-height:100dvh;padding:0;border:0;background:transparent;color:#fff;overflow:visible}
.svc-lightbox::backdrop{background:rgba(0,0,0,.9)}
.svc-lightbox figure{margin:0;display:grid;justify-items:center;gap:10px}
.svc-lightbox img{max-width:min(92vw,1000px);max-height:82dvh;object-fit:contain;border-radius:14px}
.svc-lightbox figcaption{color:#cfcfd6;font-size:14px;text-align:center;padding:0 16px}
.svc-lb-close,.svc-lb-nav{position:fixed;z-index:2;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.6);color:#fff;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer}
.svc-lb-close{top:16px;right:16px}
.svc-lb-prev{left:16px;top:50%;transform:translateY(-50%)}
.svc-lb-next{right:16px;top:50%;transform:translateY(-50%)}

@media (max-width:1000px){
  .svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:700px){
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .svc-card-body{padding:10px 12px 12px}
  .svc-card-name--sm{font-size:14px}
  .svc-soon{font-size:12px}
  .svc-hero-actions{display:grid;grid-template-columns:1fr}
  .svc-hero-actions .btn,.svc-join .btn{width:100%}
  .svc-biz-about{grid-template-columns:1fr}
  .svc-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .svc-biz-hero{border-radius:var(--v9-radius)}
  .svc-actions{display:grid;grid-template-columns:1fr 1fr}
  .svc-actions .btn:first-child{grid-column:1 / -1}
  .svc-visit .svc-actions{width:100%}
  .svc-lb-prev,.svc-lb-next{top:auto;bottom:20px;transform:none}
  .svc-lb-prev{left:calc(50% - 60px)}.svc-lb-next{right:calc(50% - 60px)}
}
@media (prefers-reduced-motion:reduce){.svc-card-media img,.svc-shot img,.svc-card-go::after{transition:none!important}}
@media (max-width:700px){.svc-actions .btn{white-space:nowrap;padding-left:12px!important;padding-right:12px!important;font-size:14px!important}}

/* Two audiences, one switch: /services (guests) and /venue-services (venues and organizers).
   The current side is printed like a ticket; the other side is the door to the second page. */
.svc-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:clamp(20px,3vw,32px) 0 0;padding:6px;border:1px solid var(--v9-line);border-radius:20px;background:#0c0c0e}
.svc-switch-opt{display:grid;gap:4px;padding:clamp(14px,2vw,20px) clamp(16px,2.4vw,24px);border-radius:15px;color:#f6f4f0;text-decoration:none;min-height:44px;transition:background .2s ease,color .2s ease}
.svc-switch-opt strong{font:800 clamp(16px,1.7vw,20px)/1.15 var(--v9-body)}
.svc-switch-opt span{font:500 13px/1.35 var(--v9-body);color:var(--v9-muted)}
.svc-switch-opt:not([aria-current]):hover{background:rgba(255,255,255,.06)}
.svc-switch-opt:not([aria-current]) strong::after{content:"";display:inline-block;width:8px;height:8px;margin-left:10px;border-right:2px solid var(--v9-red-text);border-top:2px solid var(--v9-red-text);transform:translateY(-2px) rotate(45deg)}
.svc-switch-opt[aria-current]{background:#efe8dc;color:#141210;box-shadow:0 14px 40px -24px rgba(239,232,220,.6)}
.svc-switch-opt[aria-current] span{color:#4a4640}
.svc-switch-opt:focus-visible{outline:3px solid var(--v9-red-text);outline-offset:3px}
.svc-main--venues .svc-hero h1{max-width:17ch}

/* One grid per page, sized to its cards so no row is left with a lonely card on desktop */
@media (min-width:1001px){.svc-grid--n5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.svc-supplier-cta svg,.svc-list-cta svg{flex:0 0 auto}
.svc-join-actions{display:flex;flex-wrap:wrap;gap:12px}
.svc-switch+.svc-hero{padding-top:clamp(32px,5vw,72px)}

@media (max-width:700px){
  .svc-switch{grid-template-columns:1fr 1fr;gap:6px;padding:5px}
  .svc-switch-opt{padding:12px}
  .svc-switch-opt strong{font-size:15px}
  .svc-switch-opt span{font-size:12px}
  .svc-switch-opt:not([aria-current]) strong::after{display:none}
}
