:root{
--ol-bg:#FDFAF8;--ol-surface:#FFFFFF;--ol-ink:#1C1917;--ol-accent:#E9503A;
--ol-stage:#1C1917;--ol-onstage:#D8D1CC;--ol-muted:#78706B;--ol-line:#EBE5E1;
--ol-success:#10795C;--ol-gold:#E0A32E;--ol-blue:#3A6AE9;
--ol-xs:8px;--ol-sm:16px;--ol-md:28px;--ol-lg:56px;--ol-xl:96px;
--ol-r-sm:8px;--ol-r-md:16px;--ol-r-lg:24px;--ol-r-pill:999px;
--ol-head:"Playfair Display",serif;--ol-body:"DM Sans",sans-serif;
--ol-max:1240px;
}

.olistar-page,.olistar-page *{box-sizing:border-box}
.olistar-page{font-family:var(--ol-body);color:var(--ol-ink);background:var(--ol-bg);line-height:1.6;font-size:16px}
.olistar-page h1,.olistar-page h2,.olistar-page h3,.olistar-page h4{font-family:var(--ol-head);font-weight:500;line-height:1.12;margin:0 0 var(--ol-sm);letter-spacing:-0.01em}
.olistar-page p{margin:0 0 var(--ol-sm);max-width:66ch}
.olistar-page a{color:inherit}
.ol-wrap{max-width:var(--ol-max);margin:0 auto;padding:0 24px;width:100%}

/* buttons */
.ol-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
font-family:var(--ol-body);font-weight:600;font-size:15px;line-height:1;
padding:15px 28px;border-radius:var(--ol-r-pill);border:1.5px solid transparent;
text-decoration:none;cursor:pointer;transition:transform .18s ease,opacity .18s ease}
.ol-btn:active{transform:translateY(1px)}
.ol-btn--primary{background:var(--ol-accent);color:#FFFFFF;border-color:var(--ol-accent)}
.ol-btn--primary:hover{opacity:.9;color:#FFFFFF}
.ol-btn--ghost{background:transparent;color:var(--ol-ink);border-color:var(--ol-ink)}
.ol-btn--ghost:hover{background:var(--ol-ink);color:#FFFFFF}
.ol-onstage .ol-btn--ghost{color:#FFFFFF;border-color:#FFFFFF}
.ol-onstage .ol-btn--ghost:hover{background:#FFFFFF;color:var(--ol-stage)}
.ol-btn--block{width:100%}

/* badges */
.ol-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.08em;
text-transform:uppercase;padding:5px 11px;border-radius:var(--ol-r-pill);
background:var(--ol-bg);color:var(--ol-ink);line-height:1.3}
.ol-badge--available{background:rgba(16,121,92,.10);color:var(--ol-success)}
.ol-badge--booked,.ol-badge--unavailable{background:rgba(120,112,107,.12);color:var(--ol-muted)}

/* talent card */
.ol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ol-card{background:var(--ol-surface);border:1px solid var(--ol-line);border-radius:var(--ol-r-md);
overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--ol-ink);
transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ol-card:hover{transform:translateY(-3px);border-color:var(--ol-ink);box-shadow:0 6px 20px rgba(28,25,23,.10)}
.ol-card__media{aspect-ratio:3/4;background:linear-gradient(150deg,var(--ol-muted) 0%,var(--ol-ink) 100%);position:relative;overflow:hidden}
.ol-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.ol-card__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
font-family:var(--ol-head);font-weight:500;font-size:52px;color:#FFFFFF;opacity:.75}
.ol-card__body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.ol-card__name{font-family:var(--ol-head);font-weight:500;font-size:19px;line-height:1.1;margin:0}
.ol-card__meta{font-size:13px;color:var(--ol-muted);display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.ol-card__rate{font-size:17px;margin:auto 0 0;padding-top:6px}
.ol-card__rate b{font-weight:700}
.ol-stars{color:var(--ol-gold);font-size:12px;letter-spacing:1px}

/* sections */
.ol-section{padding:var(--ol-xl) 0}
.ol-section--tight{padding:var(--ol-lg) 0}
.ol-stage{background:var(--ol-stage);color:#FFFFFF}
.ol-stage h1,.ol-stage h2,.ol-stage h3{color:#FFFFFF}
.ol-stage p{color:var(--ol-onstage)}
.ol-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ol-accent);margin:0 0 12px}
.ol-rule{height:1px;background:var(--ol-line);border:0;margin:0}

/* empty + loading */
.ol-empty{border:1px dashed var(--ol-line);border-radius:var(--ol-r-md);padding:56px 32px;text-align:center;background:var(--ol-surface)}
.ol-empty h3{font-size:22px;margin-bottom:8px}
.ol-empty p{color:var(--ol-muted);margin:0 auto 20px}
.ol-skel{background:var(--ol-surface);border:1px solid var(--ol-line);border-radius:var(--ol-r-md);overflow:hidden}
.ol-skel__media{aspect-ratio:3/4;background:var(--ol-line)}
.ol-skel__line{height:12px;background:var(--ol-line);border-radius:4px;margin:14px 18px}
.ol-skel__line.s{width:50%}
@media(prefers-reduced-motion:no-preference){.ol-skel{animation:olpulse 1.4s ease-in-out infinite}}
@keyframes olpulse{0%,100%{opacity:1}50%{opacity:.55}}

/* ---------- DIRECTORY ---------- */
.ol-dir{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start;padding:var(--ol-lg) 0}
.ol-filters{background:var(--ol-surface);border:1px solid var(--ol-line);border-radius:var(--ol-r-md);padding:4px 20px 20px;position:sticky;top:24px}
.ol-fgroup{padding:18px 0;border-bottom:1px solid var(--ol-line)}
.ol-fgroup:last-of-type{border-bottom:0}
.ol-flabel{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ol-muted);margin:0 0 10px}
.ol-input,.ol-select{width:100%;font-family:var(--ol-body);font-size:15px;color:var(--ol-ink);
background:var(--ol-surface);border:1px solid var(--ol-line);border-radius:var(--ol-r-sm);padding:11px 12px}
.ol-input:focus,.ol-select:focus,.ol-page textarea:focus{outline:2px solid var(--ol-accent);outline-offset:1px;border-color:var(--ol-accent)}
.ol-input::placeholder{color:#98A0AC}
.ol-checks{display:flex;flex-direction:column;gap:9px;max-height:190px;overflow-y:auto}
.ol-check{display:flex;align-items:center;gap:9px;font-size:14px;cursor:pointer}
.ol-check input{accent-color:var(--ol-accent);width:16px;height:16px;margin:0;flex:none}
.ol-range{display:flex;align-items:center;gap:10px}
.ol-range input{width:100%;accent-color:var(--ol-accent)}
.ol-rangeval{font-size:13px;color:var(--ol-muted);margin-top:8px}
.ol-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;cursor:pointer}
.ol-count{font-size:14px;color:var(--ol-muted);margin:0 0 20px}
.ol-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.ol-chip{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;
background:var(--ol-accent);color:#FFFFFF;border:0;border-radius:var(--ol-r-pill);padding:6px 12px;cursor:pointer}
.ol-dirbar{display:none}

@media(max-width:1024px){.ol-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){
.ol-dir{grid-template-columns:1fr;gap:20px}
.ol-filters{position:static;display:none}
.ol-filters.is-open{display:block}
.ol-dirbar{display:block}
}
@media(max-width:720px){.ol-grid{grid-template-columns:1fr}}

/* ---------- PROFILE ---------- */
.ol-hero{position:relative;background:var(--ol-stage);border-radius:var(--ol-r-md);overflow:hidden;aspect-ratio:16/9;min-height:340px}
.ol-hero img{width:100%;height:100%;object-fit:cover;display:block}
.ol-hero__bar{position:absolute;left:0;right:0;bottom:0;padding:80px 32px 28px;color:#FFFFFF;
background:linear-gradient(to top,rgba(14,17,22,.92) 0%,rgba(14,17,22,.55) 45%,rgba(14,17,22,0) 100%)}
.ol-hero__bar h1{color:#FFFFFF;font-size:clamp(30px,5vw,52px);margin:0 0 10px}
.ol-hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;color:var(--ol-onstage)}
.ol-hero__meta .ol-badge{background:rgba(255,255,255,.14);color:#FFFFFF}
.ol-hero__meta .ol-badge--available{background:rgba(16,121,92,.3);color:#8FE3C8}
.ol-profile{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start;padding:var(--ol-lg) 0}
.ol-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:var(--ol-md)}
.ol-panel{background:var(--ol-surface);border:1px solid var(--ol-line);border-radius:var(--ol-r-md);padding:24px}
.ol-dl{margin:0;font-size:15px}
.ol-dl div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--ol-line)}
.ol-dl div:last-child{border-bottom:0}
.ol-dl dt{color:var(--ol-muted)}
.ol-dl dd{margin:0;font-weight:600;text-align:right}
.ol-rate-big{font-family:var(--ol-head);font-weight:500;font-size:38px;line-height:1;margin:0 0 4px}
.ol-embed{position:relative;padding-bottom:56.25%;height:0;border-radius:var(--ol-r-md);overflow:hidden;margin-top:var(--ol-md);background:var(--ol-stage)}
.ol-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ol-side h3{font-size:17px;margin-bottom:14px}
.ol-side .ol-card__media{aspect-ratio:1/1}
.ol-sidecards{display:flex;flex-direction:column;gap:14px}
.ol-sidecard{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ol-ink);
border-bottom:1px solid var(--ol-line);padding-bottom:14px}
.ol-sidecard:last-child{border-bottom:0;padding-bottom:0}
.ol-sidecard__img{width:56px;height:56px;flex:none;border-radius:var(--ol-r-sm);object-fit:cover;
background:linear-gradient(150deg,var(--ol-muted),var(--ol-ink));display:flex;align-items:center;justify-content:center;
font-family:var(--ol-head);font-weight:500;color:#FFFFFF;overflow:hidden}
.ol-sidecard__img img{width:100%;height:100%;object-fit:cover}
.ol-sidecard b{display:block;font-size:15px;line-height:1.2}
.ol-sidecard span{font-size:13px;color:var(--ol-muted)}
.ol-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--ol-md)}
.ol-faq{border-top:1px solid var(--ol-line);padding-top:var(--ol-md);margin-top:var(--ol-lg)}
.ol-faq details{border-bottom:1px solid var(--ol-line);padding:16px 0}
.ol-faq summary{font-family:var(--ol-head);font-weight:500;font-size:17px;cursor:pointer;list-style:none}
.ol-faq summary::-webkit-details-marker{display:none}
.ol-faq summary::after{content:"+";float:right;color:var(--ol-accent)}
.ol-faq details[open] summary::after{content:"\2212"}
.ol-faq p{margin:12px 0 0;color:var(--ol-muted)}
@media(max-width:960px){
.ol-profile{grid-template-columns:1fr;gap:32px}
.ol-cols{grid-template-columns:1fr}
.ol-hero{aspect-ratio:4/3;min-height:0}
.ol-hero__bar{padding:60px 20px 22px}
}

/* ---------- FORM ---------- */
.ol-form{max-width:760px;margin:0 auto;padding:var(--ol-lg) 0}
.ol-field{margin-bottom:22px}
.ol-field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}
.ol-field .req{color:var(--ol-accent)}
.ol-field small{display:block;font-size:13px;color:var(--ol-muted);margin-top:6px}
.ol-field textarea{width:100%;font-family:var(--ol-body);font-size:15px;color:var(--ol-ink);
background:var(--ol-surface);border:1px solid var(--ol-line);border-radius:var(--ol-r-sm);padding:11px 12px;min-height:150px;resize:vertical}
.ol-field input[type=file]{font-size:14px}
.ol-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ol-radios{display:flex;flex-wrap:wrap;gap:18px}
.ol-checkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ol-err{color:var(--ol-accent);font-size:13px;margin-top:6px;display:none}
.ol-field.has-err .ol-input,.ol-field.has-err .ol-select,.ol-field.has-err textarea{border-color:var(--ol-accent)}
.ol-field.has-err .ol-err{display:block}
.ol-notice{border-radius:var(--ol-r-sm);padding:14px 16px;font-size:15px;margin-bottom:22px;display:none}
.ol-notice.is-on{display:block}
.ol-notice--err{background:rgba(233,80,58,.09);color:#9E241B;border:1px solid rgba(233,80,58,.3)}
.ol-notice--ok{background:rgba(16,121,92,.10);color:var(--ol-success);border:1px solid rgba(16,121,92,.3)}
.ol-formsec{margin:0 0 12px;padding-top:var(--ol-md);border-top:1px solid var(--ol-line);font-size:13px;
font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ol-muted)}
.ol-formsec:first-of-type{border-top:0;padding-top:0}
@media(max-width:720px){.ol-two{grid-template-columns:1fr}.ol-checkgrid{grid-template-columns:repeat(2,1fr)}}

/* ---------- HOME ---------- */
.olistar-home .ol-hero-split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:var(--ol-lg) 0 var(--ol-xl)}
.olistar-home h1{font-size:clamp(38px,6vw,68px);line-height:1.04;letter-spacing:-0.02em;margin-bottom:20px}
.olistar-home .ol-lede{font-size:19px;color:var(--ol-muted);max-width:46ch}
.ol-hero-art{aspect-ratio:4/5;border-radius:var(--ol-r-md);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ol-hero-art i{display:block;border-radius:var(--ol-r-sm)}
.ol-hero-art i:nth-child(1){background:linear-gradient(160deg,var(--ol-ink),var(--ol-stage));grid-row:span 2}
.ol-hero-art i:nth-child(2){background:var(--ol-accent)}
.ol-hero-art i:nth-child(3){background:linear-gradient(160deg,var(--ol-line),var(--ol-muted))}
.ol-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:var(--ol-lg) 0}
.ol-stat b{display:block;font-family:var(--ol-head);font-weight:500;font-size:clamp(40px,6vw,64px);line-height:1;color:#FFFFFF}
.ol-stat span{font-size:15px;color:var(--ol-onstage)}
.ol-aud{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:start}
.ol-audlist{display:flex;flex-direction:column}
.ol-auditem{padding:22px 0;border-top:1px solid var(--ol-line)}
.ol-auditem h3{font-size:21px;margin-bottom:6px}
.ol-auditem p{color:var(--ol-muted);margin:0}
.ol-close{text-align:center;padding:var(--ol-xl) 0}
.ol-close h2{font-size:clamp(30px,4.5vw,48px);max-width:16ch;margin:0 auto 20px}
@media(max-width:960px){
.olistar-home .ol-hero-split{grid-template-columns:1fr;gap:32px;padding-bottom:var(--ol-lg)}
.ol-hero-art{aspect-ratio:16/10}
.ol-hero-art i:nth-child(1){grid-row:span 1}
.ol-aud{grid-template-columns:1fr;gap:24px}
.ol-stats{grid-template-columns:1fr;gap:24px;text-align:left}
}

/* ---------- ADMIN ---------- */
.ol-adm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 24px;max-width:840px}
.ol-adm-card{background:#FFFFFF;border:1px solid #EBE5E1;border-radius:10px;padding:18px 20px}
.ol-adm-card b{display:block;font-size:32px;line-height:1.1;color:#1C1917}
.ol-adm-card span{font-size:13px;color:#78706B}
.ol-adm-filters{background:#FFFFFF;border:1px solid #EBE5E1;border-radius:10px;padding:16px;
display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:18px}
.ol-adm-filters label{display:block;font-size:12px;color:#78706B;margin-bottom:4px}
.ol-thumb{width:50px;height:50px;object-fit:cover;border-radius:6px;display:block;
background:linear-gradient(150deg,#78706B,#1C1917)}
.ol-pill{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;
letter-spacing:.06em;padding:4px 10px;border-radius:999px}
.ol-pill--available{background:rgba(16,121,92,.12);color:#10795C}
.ol-pill--booked,.ol-pill--unavailable{background:rgba(120,112,107,.14);color:#78706B}
@media(max-width:782px){.ol-adm-cards{grid-template-columns:1fr}}

/* ---------- GUTENBERG BRIDGE ---------- */
.olistar-home{font-family:var(--ol-body);color:var(--ol-ink)}
.olistar-home h1,.olistar-home h2,.olistar-home h3{font-family:var(--ol-head);font-weight:500;letter-spacing:-0.015em;line-height:1.08}
.olistar-home .wp-block-columns{gap:48px}
.ol-hero-cols{align-items:center;margin-top:var(--ol-md)!important;margin-bottom:var(--ol-xl)!important}
.ol-hero-cols h1{font-size:clamp(38px,5.6vw,66px);line-height:1.04;margin-bottom:20px}
.ol-hero-cols p{font-size:19px;color:var(--ol-muted);line-height:1.55;max-width:46ch}
.ol-hero-cols .wp-block-buttons{margin-top:28px;gap:12px}
.olistar-home .wp-block-button__link{font-family:var(--ol-body);font-weight:600;font-size:15px;
padding:15px 28px;border-radius:var(--ol-r-pill);background:var(--ol-accent);color:#FFFFFF;border:1.5px solid var(--ol-accent);text-decoration:none}
.olistar-home .is-style-outline .wp-block-button__link,
.olistar-home .wp-block-button.is-style-outline>.wp-block-button__link{background:transparent;color:var(--ol-ink);border:1.5px solid var(--ol-ink)}
.olistar-home .wp-block-button.is-style-outline>.wp-block-button__link:hover{background:var(--ol-ink);color:#FFFFFF}
.olistar-home .wp-block-button__link:hover{opacity:.9}

.ol-sec-head{margin-top:var(--ol-xl)!important;margin-bottom:var(--ol-md)!important}
.ol-sec-head h2{font-size:clamp(28px,4vw,44px);margin-bottom:10px}
.ol-sec-head p{color:var(--ol-muted);font-size:17px;max-width:56ch}

.ol-aud-cols{margin-top:var(--ol-xl)!important;margin-bottom:var(--ol-xl)!important;align-items:start}
.ol-aud-cols h2{font-size:clamp(28px,4vw,44px)}

.ol-band{padding:var(--ol-lg) 0!important;margin-top:var(--ol-xl)!important;margin-bottom:0!important;background:var(--ol-stage)}
.ol-band .ol-wrap{padding-left:24px;padding-right:24px}

.ol-closing{padding:var(--ol-xl) 24px!important;text-align:center;background:var(--ol-bg)}
.ol-closing h2{font-size:clamp(30px,4.5vw,48px);max-width:17ch;margin:0 auto 18px}
.ol-closing p{color:var(--ol-muted);font-size:18px;max-width:48ch;margin:0 auto 28px}
.ol-closing .wp-block-buttons{justify-content:center}

.olistar-home .ol-grid{margin-bottom:var(--ol-sm)}
.ol-morelink{display:inline-block;margin-top:20px;color:var(--ol-accent);font-weight:600;text-decoration:none}
.ol-morelink:hover{text-decoration:underline}

@media(max-width:781px){
.olistar-home .wp-block-columns{gap:28px}
.ol-hero-cols{margin-bottom:var(--ol-lg)!important}
}

/* ---------- SHELL ---------- */
.olistar-shell .ol-main{display:block;background:var(--ol-bg)}
.olistar-shell .ol-main>.olistar-page{background:var(--ol-bg)}
.olistar-shell .wp-block-group.alignfull{margin-left:0;margin-right:0;max-width:none}
.olistar-shell .olistar-home{padding:0 24px}
.olistar-shell .olistar-home>.wp-block-columns,
.olistar-shell .olistar-home>.ol-sec-head,
.olistar-shell .olistar-home>.olistar-page,
.olistar-shell .olistar-home>p,
.olistar-shell .olistar-home>a{max-width:var(--ol-max);margin-left:auto;margin-right:auto}
.olistar-shell .olistar-home>.olistar-page{padding:0}
.olistar-shell .ol-band,.olistar-shell .ol-closing{padding-left:0;padding-right:0}
.olistar-shell .ol-closing>*{max-width:var(--ol-max);margin-left:auto;margin-right:auto}
