/* =========================================================
   Antalya ONVO Yetkili Servisi — ön yüz
   ONVO mavisi (logodan) + beyaz + koyu antrasit + açık mavi/gri.
   --brand ve --dark admin panelinden gelir.
   ========================================================= */

:root{
  --brand:#275F93;
  --dark:#1B2430;
  --ink:#101A26;
  --text:#2A3441;
  --muted:#5E6B7A;
  --line:#E2E8EF;
  --tint:#F3F7FB;
  --tint-2:#E8F0F8;
  --wa:#128C4A;
  --wrap:1320px;
  --gut:32px;
  --r-lg:20px;
  --r:12px;
  --hdr:84px;
  --font:"Segoe UI Variable","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Roboto,Arial,sans-serif;
}

/* ---------- Temel ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px)}
body{margin:0;font:16px/1.6 var(--font);color:var(--text);background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;color:var(--ink);line-height:1.1;letter-spacing:-.022em;overflow-wrap:break-word}
p{margin:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.ic{width:20px;height:20px;flex:none}
.ic-xl{width:60px;height:60px;color:#B7C3D0}
.accent{color:var(--brand)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;padding:.6rem 1rem;border-radius:8px;background:var(--ink);color:#fff}
.skip:focus{left:8px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* ---------- Hafif animasyonlar (admin: Site Ayarları → Görünüm) ---------- */
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes appear{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .a-intro .hero-copy>*{animation:rise .45s cubic-bezier(.2,.7,.2,1) both}
  .a-intro .hero-copy>:nth-child(2){animation-delay:.06s}
  .a-intro .hero-copy>:nth-child(3){animation-delay:.12s}
  .a-intro .hero-copy>:nth-child(4){animation-delay:.18s}
  .a-intro .hero-copy>:nth-child(5){animation-delay:.22s}
  .a-intro .hero-visual{animation:appear .5s .1s cubic-bezier(.2,.7,.2,1) both}
  .a-intro .reveal{transition:opacity .45s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
  .a-intro .reveal.pre{opacity:0;transform:translateY(16px)}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .a-hover .svc{transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s}
  .a-hover .svc-media img{transition:transform .4s cubic-bezier(.2,.7,.2,1)}
  .a-hover .svc:hover{transform:translateY(-4px);border-color:var(--brand);box-shadow:0 14px 30px -20px rgba(16,26,38,.45)}
  .a-hover .svc:hover .svc-media img{transform:scale(1.04)}
}

/* ---------- Butonlar ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:0 1.3rem;border-radius:12px;
  border:1.5px solid transparent;font:650 1rem/1.1 var(--font);text-decoration:none;text-align:center;white-space:nowrap;cursor:pointer;
  transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}
.btn:focus-visible,.menu a:focus-visible,.svc-link:focus-visible,.cert-link:focus-visible,.dock a:focus-visible,.brand:focus-visible,.burger:focus-visible{
  outline:3px solid color-mix(in srgb,var(--brand) 40%,#fff);outline-offset:3px}
.btn-blue{background:var(--brand);color:#fff;box-shadow:0 1px 0 rgba(16,26,38,.08)}
.btn-blue:hover{background:color-mix(in srgb,var(--brand) 85%,#000)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:#0E7A40}
.btn-line{border-color:#CCD6E1;color:var(--ink);background:#fff}
.btn-line:hover{border-color:var(--brand);color:var(--brand)}
.btn-white{background:#fff;color:var(--brand)}
.btn-white:hover{background:var(--tint)}
.btn-sm{min-height:42px;padding:0 1rem;font-size:.94rem}
.btn-lg{min-height:54px;padding:0 1.6rem;font-size:1.05rem}
.actions{display:flex;flex-wrap:wrap;gap:.75rem}

.eyebrow{display:flex;align-items:center;gap:.55rem;margin-bottom:.85rem;color:var(--brand);font-size:.8rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.eyebrow::before{content:"";width:20px;height:2px;background:currentColor;border-radius:2px}

/* ---------- Üst şerit (yalnızca geniş ekran) ---------- */
.preview-bar{background:#FFF4CC;color:#5A4500;text-align:center;font-size:.88rem;padding:.45rem 1rem}
.util{background:var(--dark);color:rgba(255,255,255,.78);font-size:.82rem}
.util-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:36px}
.util-auth{display:flex;align-items:center;gap:.45rem;font-weight:600;color:#fff}
.util-auth .ic{width:16px;height:16px;color:#9CC2E6}
.util-r{display:flex;align-items:center;gap:1.25rem}
.util-r a{font-weight:700;color:#fff;text-decoration:none}
.util-open{display:flex;align-items:center;gap:.45rem}
.live{width:7px;height:7px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.2)}
.live.off{background:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.2)}

/* ---------- Header ---------- */
.hdr{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.hdr-in{position:relative;display:flex;align-items:center;gap:28px;height:var(--hdr)}
.brand{display:flex;align-items:center;flex:none;min-width:0;border-radius:6px;text-decoration:none}
.brand picture{display:block}
.brand-logo{display:block;width:360px;max-width:100%;height:auto}
.brand-text{display:flex;flex-direction:column;font-weight:800;font-size:1.15rem;color:var(--ink);line-height:1.15}
.brand-text small{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}
.menu{display:flex;align-items:center;gap:28px;margin-left:auto}
.menu>a{position:relative;padding:.4rem 0;text-decoration:none;font-weight:600;font-size:.97rem;color:var(--text)}
.menu>a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;border-radius:2px;background:var(--brand);transform:scaleX(0);transition:transform .2s}
.menu>a:hover{color:var(--brand)}
.menu>a:hover::after{transform:scaleX(1)}
.menu-cta{display:none}
.hdr-cta{display:flex;gap:.6rem;flex:none}
.burger{display:none;align-items:center;justify-content:center;width:46px;height:46px;margin-left:auto;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer}
.burger .ic{width:24px;height:24px}
.burger span{display:inline-flex}
.burger .burger-close{display:none}
.burger[aria-expanded="true"] .burger-open{display:none}
.burger[aria-expanded="true"] .burger-close{display:inline-flex}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(180deg,var(--tint) 0%,#fff 100%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:56px;padding-top:56px;padding-bottom:60px}
.hero--text .hero-grid{grid-template-columns:minmax(0,820px)}
.hero h1{font-size:clamp(2.5rem,4.4vw,4.1rem);font-weight:800;letter-spacing:-.035em;line-height:1.04}
.lead{margin:1.2rem 0 1.8rem;font-size:clamp(1.06rem,1.35vw,1.2rem);line-height:1.6;color:var(--muted);max-width:33em}
.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1.4rem;font-size:.93rem;color:var(--muted)}
.hero-meta span{display:inline-flex;align-items:center;gap:.4rem}
.hero-meta .ic{width:17px;height:17px;color:var(--brand)}
.hero-visual{min-width:0}
.stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:360px;padding:40px 34px;border-radius:24px;
  background:radial-gradient(110% 85% at 50% 35%,#FFFFFF 0%,var(--tint) 58%,var(--tint-2) 100%);border:1px solid var(--line)}
.stage::after{content:"";position:absolute;left:14%;right:14%;bottom:26px;height:18px;border-radius:50%;background:rgba(16,26,38,.10);filter:blur(12px)}
.hero-img{position:relative;z-index:1;width:100%;max-height:480px;object-fit:contain}

/* ---------- TV ekranı katmanı ----------
   Görsel modu: ekran içeriği, işaretlenen 4 köşeye perspektifle oturtulur (tv-screen.js).
   Sade çerçeve modu: 16:9 nötr ekran çerçevesi (ürün görseli değildir). */
.tvx{--ar:1.6;--mh:480px;position:relative;z-index:1;width:min(100%,calc(var(--mh) * var(--ar)));margin:0 auto;overflow:hidden;line-height:0}
.tvx .hero-img{display:block;width:100%;height:auto;max-height:none;object-fit:fill}
.scr{position:absolute;overflow:hidden;background:#06090E}
.scr-map{top:0;left:0;width:960px;height:540px;visibility:hidden;pointer-events:none;z-index:2;backface-visibility:hidden}
.scr-map.is-fit{visibility:visible}
.scr-poster,.scr-media{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.scr-media{opacity:0;transition:opacity .6s ease}
.scr-media.on{opacity:1}
.stage--tv{padding:44px 40px 40px}
.tvg{position:relative;z-index:1;width:100%;max-width:660px;margin:0 auto}
.tvg-panel{position:relative;aspect-ratio:16/9;border-radius:12px;background:#0B0F15;box-shadow:inset 0 0 0 1px #2B323C,0 26px 44px -26px rgba(16,26,38,.55)}
.tvg-panel .scr{inset:1.6%;border-radius:5px}
.tvg-stand{display:block;width:24%;height:16px;margin:0 auto;background:linear-gradient(#CBD3DC,#A9B4C0);clip-path:polygon(16% 0,84% 0,100% 100%,0 100%)}

/* ---------- Güven şeridi ---------- */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.trust-item{display:flex;align-items:center;gap:.85rem;padding:20px 24px;font-weight:650;color:var(--ink);min-width:0}
.trust-item:first-child{padding-left:0}
.trust-item+.trust-item{border-left:1px solid var(--line)}
.trust-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--tint-2);color:var(--brand);flex:none}

/* ---------- Bölümler ---------- */
.sec{padding:72px 0}
.sec-tint{background:var(--tint)}
.sec-head{margin-bottom:32px}
.sec h2{font-size:clamp(1.85rem,2.8vw,2.5rem);font-weight:800}

/* ---------- Hizmet kartları ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.svc{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.svc-media{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:linear-gradient(180deg,#F8FAFC,var(--tint-2))}
.svc-media img{position:absolute;inset:24px;width:calc(100% - 48px);height:calc(100% - 48px);object-fit:contain}
.svc-body{display:flex;flex-direction:column;gap:.5rem;flex:1;padding:22px 24px 24px}
.svc h3{font-size:1.16rem;font-weight:750;letter-spacing:-.012em}
.svc p{flex:1;color:var(--muted);font-size:.97rem}
.svc-link{align-self:flex-start;margin-top:.4rem;font-weight:700;color:var(--brand);text-decoration:none;font-size:.96rem}
.svc-link span{display:inline-block;transition:transform .2s}
.svc-link:hover span{transform:translateX(4px)}

/* ---------- Yetkili servis ---------- */
.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.auth-copy>p:not(.eyebrow){margin:1rem 0 1.7rem;color:var(--muted);font-size:1.05rem;max-width:34em}
.cert{position:relative;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 30px;overflow:hidden;box-shadow:0 18px 40px -30px rgba(16,26,38,.35)}
.cert::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--brand)}
.cert-top{display:flex;margin-bottom:.9rem}
.cert-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:999px;background:var(--tint-2);color:var(--brand);font-size:.76rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.cert-tag .ic{width:15px;height:15px}
/* İki logo yan yana: oranlar header'daki birleşik logoyla aynı (ONVO 917 : Uzman 997 genişlik) */
.cert-logos{display:flex;align-items:center;gap:18px;padding:4px 0 2px;max-width:420px}
.cl-onvo{display:block;flex:0 1 43%;min-width:0;width:43%;height:auto}
.cl-own{display:block;flex:0 1 47%;min-width:0;width:47%;height:auto}
.cl-sep{flex:none;width:1px;align-self:stretch;min-height:34px;background:#D9E0E8}
.cert-name{font-size:1.6rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.cert-data{margin:1rem 0;display:grid}
.cert-data div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:1rem;padding:.55rem 0;border-top:1px solid var(--line)}
.cert-data dt{color:var(--muted);font-size:.9rem}
.cert-data dd{margin:0;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.cert-data a{text-decoration:none}
.cert-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--brand);text-decoration:none}
.cert-link .ic{width:17px;height:17px}
.cert-link:hover{text-decoration:underline}

/* ---------- İletişim ---------- */
.contact{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:20px}
.ccard{display:flex;flex-direction:column;align-items:flex-start;gap:.95rem;min-width:0;padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.ccard-blue{background:var(--brand);border-color:var(--brand);color:#fff}
.clabel{display:flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.clabel .ic{width:17px;height:17px;color:var(--brand)}
.ccard-blue .clabel,.ccard-blue .clabel .ic{color:rgba(255,255,255,.82)}
.cphone{font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;color:#fff;text-decoration:none;white-space:nowrap}
.ccard-blue .btn-wa{box-shadow:0 0 0 1.5px rgba(255,255,255,.35)}
.cmail{display:inline-flex;align-items:center;gap:.45rem;max-width:100%;color:rgba(255,255,255,.9);font-size:.94rem;text-decoration:none;overflow-wrap:anywhere}
.cmail .ic{width:18px;height:18px}
address{flex:1;font-style:normal;line-height:1.65;overflow-wrap:anywhere}
address strong{color:var(--ink)}
.hours{width:100%;margin:0}
.hours div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.hours div:last-child{border-bottom:0}
.hours dt{color:var(--muted)}
.hours dd{margin:0;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.hours dd.off{color:var(--muted)}

/* ---------- Footer ---------- */
.ftr{border-top:1px solid var(--line);padding:24px 0;font-size:.9rem;color:var(--muted)}
.ftr-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.ftr-brand{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 18px;min-width:0}
.ftr-logo{display:block;width:220px;max-width:100%;height:auto}
.ftr-r{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem}
.ftr a{color:var(--ink);font-weight:650;text-decoration:none}
.ftr a:hover{color:var(--brand)}
.social{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:0;padding:0;list-style:none}
.nf{padding:96px var(--gut);text-align:center}
.nf .eyebrow{justify-content:center}
.nf h1{font-size:2.2rem;margin-bottom:.8rem}
.nf p{color:var(--muted)}
.nf .actions{justify-content:center;margin-top:1.6rem}

/* ---------- Mobil sabit menü ---------- */
.dock{display:none}

/* =========================================================
   Duyarlı düzen
   ========================================================= */
@media (max-width:1240px){
  .brand-logo{width:310px}
  .menu{gap:22px}
}
@media (max-width:1080px){
  :root{--hdr:72px}
  .hdr-cta{display:none}
  .burger{display:inline-flex}
  .menu{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;
    padding:8px var(--gut) 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px -20px rgba(16,26,38,.35)}
  .menu.open{display:flex}
  .menu>a{padding:14px 2px;font-size:1.05rem;border-bottom:1px solid var(--line)}
  .menu>a::after{display:none}
  .menu-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
  .menu-cta .btn{min-height:50px;padding:0 .8rem}
}
@media (max-width:960px){
  :root{--gut:24px}
  .util{display:none}
  .hero-grid{grid-template-columns:1fr;gap:28px;padding-top:36px;padding-bottom:40px}
  .stage{min-height:0;padding:26px 20px}
  .stage::after{bottom:14px}
  .hero-img{max-height:320px}
  .tvx{--mh:320px}
  .stage--tv{padding:28px 20px 24px}
  .trust-grid{grid-template-columns:1fr}
  .trust-item,.trust-item:first-child{padding:13px 0}
  .trust-item+.trust-item{border-left:0;border-top:1px solid var(--line)}
  .sec{padding:52px 0}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .auth{grid-template-columns:1fr;gap:28px}
  .contact{grid-template-columns:1fr 1fr}
  .ccard-blue{grid-column:1/-1}
  body.has-dock{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .has-dock .dock{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;z-index:50;left:0;right:0;bottom:0;background:#fff;
    border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(16,26,38,.07);padding-bottom:env(safe-area-inset-bottom)}
  .dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:64px;text-decoration:none;font-size:.8rem;font-weight:700;color:var(--ink)}
  .dock .ic{width:22px;height:22px}
  .dock .dock-call{background:var(--brand);color:#fff}
  .dock .dock-wa{color:var(--wa)}
  .ftr-in{justify-content:flex-start}
}
@media (max-width:640px){
  :root{--gut:16px;--hdr:64px}
  .brand-logo{width:min(250px,calc(100vw - 104px))}
  .burger{width:44px;height:44px}
  .hero-grid{padding-top:28px;gap:24px}
  .hero h1{font-size:clamp(2rem,9.2vw,2.6rem)}
  .lead{margin:.9rem 0 1.4rem;font-size:1.02rem}
  .actions .btn{flex:1 1 140px}
  .btn-lg{padding:0 1rem;font-size:1rem}
  .hero-meta{font-size:.88rem}
  .hero-img{max-height:230px}
  .tvx{--mh:230px}
  .stage{border-radius:18px;padding:18px 14px}
  .svc-grid{grid-template-columns:1fr;gap:16px}
  .svc-media{aspect-ratio:16/10}
  .svc-media img{inset:18px;width:calc(100% - 36px);height:calc(100% - 36px)}
  .svc-body{padding:18px 18px 20px}
  .contact{grid-template-columns:1fr;gap:14px}
  .ccard,.cert{padding:20px}
  .cert-data div{grid-template-columns:70px minmax(0,1fr)}
  .cert-logos{gap:12px}
  .cphone{font-size:clamp(1.6rem,8vw,2rem)}
  .sec{padding:44px 0}
  .sec-head{margin-bottom:22px}
  .ftr-logo{width:200px}
}
@media (max-width:360px){
  .menu-cta{grid-template-columns:1fr}
  .actions .btn{flex-basis:100%}
  .cert-tag{font-size:.7rem}
}
