/* operator.css — structura „de operator” comună v1–v5 (bară utilitară, meniu, scurtături, carduri de abonament,
   tile-uri colorate, carusel de telefoane, secțiuni foto, roaming, FAQ, footer mare). Variantele schimbă tokenii. */
:root{
  --brand:#1D4ED8;--on-brand:#fff;--brand-2:#5B2BC4;--on-brand-2:#fff;--accent:#FFD23F;--on-accent:#111;
  --soft:#F2F4F8;--card:#fff;--hot:#1D4ED8;--on-hot:#fff;--util:#0B1430;--on-util:#C9D1E6;
  --tile1:#1D4ED8;--tile2:#5B2BC4;--tile3:#FFD23F;--on-tile3:#111;
}
body{font-size:16px}
h1,h2,h3{font-family:var(--font-d)}
.o-util{background:var(--util);color:var(--on-util);font-size:.8125rem}
.o-util__in{display:flex;justify-content:space-between;gap:16px;height:36px;align-items:center}
.o-util nav{display:flex;gap:18px}
.o-util a{text-decoration:none;opacity:.85}
.o-util a:hover,.o-util a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:4px}
.o-top{position:sticky;top:0;z-index:60;background:var(--bg);border-bottom:1px solid var(--line)}
.o-top__in{display:flex;align-items:center;gap:28px;height:72px}
.o-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.o-brand .brand__mark{width:40px;height:40px}
.o-brand .brand__mark svg{width:100%;height:100%}
.o-brand__name{font:500 1.25rem/1 var(--font-d);letter-spacing:-.01em}
.o-brand__name b{font-weight:800}
.o-nav{display:flex;gap:4px}
.o-nav a{padding:10px 12px;border-radius:10px;text-decoration:none;font-weight:600;transition:background-color var(--t-std) var(--ease)}
.o-nav a:hover{background:var(--soft)}
.o-top__icons{display:flex;gap:6px;margin-left:auto}
.o-ic{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border:0;background:none;text-decoration:none;font-size:.75rem;font-weight:600;color:inherit;border-radius:10px;transition:background-color var(--t-std) var(--ease)}
.o-ic:hover{background:var(--soft)}
.o-ic svg{width:22px;height:22px}
.o-ic .cartbtn__n{top:0;right:4px}
.o-promo{background:var(--accent);color:var(--on-accent);font-size:.9375rem;text-align:center;padding:10px 0}
.o-promo a{font-weight:800;margin-left:6px}

/* hero comun: fiecare variantă își desenează compoziția; aici doar piesele */
.o-hero{position:relative;overflow:hidden}
.o-price-badge{display:inline-flex;align-items:flex-end;gap:6px;line-height:.85}
.o-price-badge b{font:900 clamp(5rem,10vw,8.5rem)/.8 var(--font-d);letter-spacing:-.05em}
.o-price-badge span{font:800 2rem/1 var(--font-d)}
.o-price-badge small{display:block;font:600 1rem/1.2 var(--font);margin-bottom:8px}

/* scurtături */
.o-quick{background:var(--bg);border-bottom:1px solid var(--line)}
.o-quick__in{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:14px 0}
.o-quick a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:12px;text-decoration:none;font-size:.8125rem;font-weight:600;text-align:center;transition:background-color var(--t-std) var(--ease),color var(--t-std) var(--ease)}
.o-quick a:hover{background:var(--soft);color:var(--brand)}
.o-quick svg{width:28px;height:28px;color:var(--brand)}

/* secțiuni */
.o-sec{padding:88px 0}
.o-sec+.o-sec{padding-top:0}
.o-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.o-head h2,.o-split h2,.o-roam h2,.o-faq h2,.o-app h2{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin-bottom:10px}
.o-head p{color:var(--muted);max-width:620px;font-size:1.0625rem}
.o-hl{color:var(--brand)}
.o-kicker{display:inline-block;font-weight:800;font-size:.875rem;color:var(--brand);margin-bottom:10px}
.o-fine{font-size:.75rem;color:var(--muted);margin-top:18px;max-width:900px}
.o-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--soft)}
.o-tabs button{min-height:42px;padding:0 18px;border:0;border-radius:999px;background:transparent;font-weight:700;font-size:.9375rem;color:var(--muted);transition:background-color var(--t-std) var(--ease),color var(--t-std) var(--ease)}
.o-tabs button[aria-selected=true]{background:var(--brand);color:var(--on-brand)}

/* carduri de abonament */
.o-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.o-card{position:relative;display:flex;flex-direction:column;padding:26px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);color:var(--ink);transition:transform var(--t-std) var(--ease),box-shadow var(--t-std) var(--ease)}
.o-card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.o-card.is-hot{background:var(--hot);color:var(--on-hot);border-color:var(--hot);--muted:color-mix(in srgb,var(--on-hot) 72%,transparent);--line:color-mix(in srgb,var(--on-hot) 22%,transparent)}
.o-card.is-hot .btn--p{background:var(--accent);color:var(--on-accent)}
.o-card__badge{position:absolute;top:-13px;left:22px;padding:5px 12px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.75rem;font-weight:800}
.o-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:18px}
.o-card__kind{width:100%;font-size:.8125rem;color:var(--muted);font-weight:600}
.o-card__head h3{font-size:1.5rem;font-weight:800;letter-spacing:-.01em}
.o-card__tech{padding:3px 8px;border-radius:6px;background:var(--brand-2);color:var(--on-brand-2);font-size:.75rem;font-weight:800}
.o-card.is-hot .o-card__tech{background:var(--accent);color:var(--on-accent)}
.o-card__spec{margin:0 0 20px;flex:1}
.o-card__spec div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.875rem}
.o-card__spec dt{color:var(--muted)}
.o-card__spec dd{margin:0;font-weight:700;text-align:right}
.o-card__price{display:flex;align-items:baseline;gap:6px}
.o-card__price s{color:var(--muted);font-weight:700;font-size:1.25rem}
.o-card__price b{font:900 3.6rem/1 var(--font-d);letter-spacing:-.04em}
.o-card__price span{font-weight:700}
.o-card__line{font-size:.8125rem;color:var(--muted);margin:6px 0 14px;min-height:2.4em}
.o-cards--mini{grid-template-columns:1fr;gap:10px;margin-top:20px}
.o-cards--mini .o-card{padding:18px 20px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 18px}
.o-cards--mini .o-card__badge{position:static;grid-column:1/-1;justify-self:start}
.o-cards--mini .o-card__head{margin:0}
.o-cards--mini .o-card__spec,.o-cards--mini .o-card__line{display:none}
.o-cards--mini .o-card__price b{font-size:2.4rem}
.o-cards--mini .btn{grid-column:1/-1;margin:0}

/* tile-uri colorate */
.o-tiles{padding:0 0 88px}
.o-tiles__in{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}
.o-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:360px;padding:28px;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;isolation:isolate;transition:transform var(--t-std) var(--ease)}
.o-tile:hover{transform:translateY(-4px)}
.o-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.o-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(5,8,20,.82))}
.o-tile--1{background:var(--tile1);color:var(--on-brand)}
.o-tile--1::after{display:none}
.o-tile--1 h3{font-size:clamp(2.4rem,4vw,3.4rem)}
.o-tile__tag{align-self:flex-start;padding:5px 10px;border-radius:6px;background:var(--accent);color:var(--on-accent);font-size:.75rem;font-weight:800;margin-bottom:auto}
.o-tile h3{font-size:1.75rem;font-weight:900;line-height:1;letter-spacing:-.02em;margin:18px 0 8px}
.o-tile p{opacity:.92;max-width:360px}
.o-tile__cta{margin-top:16px;font-weight:800;text-decoration:underline;text-underline-offset:4px}

/* telefoane */
.o-chips{display:flex;gap:6px;flex-wrap:wrap}
.o-chips button{min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);font-weight:700;font-size:.875rem;transition:border-color var(--t-std) var(--ease),background-color var(--t-std) var(--ease)}
.o-chips button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.o-rail-wrap{position:relative}
.o-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin}
.o-phone{position:relative;scroll-snap-align:start;display:flex;flex-direction:column;padding:18px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.o-phone__stock{position:absolute;top:14px;right:14px;z-index:1;padding:3px 8px;border-radius:6px;background:#E3F6EA;color:#0A6B35;font-size:.6875rem;font-weight:800}
.o-phone__tag{position:absolute;top:14px;left:14px;z-index:1;padding:3px 8px;border-radius:6px;background:var(--brand-2);color:var(--on-brand-2);font-size:.6875rem;font-weight:800}
.o-phone__img{display:block;border:0;padding:0;margin:0 0 14px;border-radius:calc(var(--r) - 6px);overflow:hidden;aspect-ratio:1;background:var(--soft)}
.o-phone__img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-in) var(--ease)}
.o-phone:hover .o-phone__img img{transform:scale(1.05)}
.o-phone__brand{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.o-phone h3{font-size:1.0625rem;font-weight:700;margin:4px 0 10px;font-family:var(--font)}
.o-phone__price{font-size:.9375rem}
.o-phone__price b{font:900 1.75rem/1 var(--font-d);color:var(--brand)}
.o-phone__note{font-size:.75rem;color:var(--muted);margin:2px 0 12px}
.o-phone .btn{margin-top:auto}
.o-arrow{position:absolute;top:40%;width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:var(--bg);font-size:1.6rem;line-height:1;box-shadow:var(--sh);transition:transform var(--t-press) var(--ease)}
.o-arrow:active{transform:scale(.94)}
.o-arrow--l{left:-18px}.o-arrow--r{right:-18px}

/* secțiuni foto (split) */
.o-split{padding:88px 0;background:var(--soft)}
.o-split__in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.o-split__img{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.o-split__img img{width:100%;height:100%;object-fit:cover}
.o-split__copy p{color:var(--muted);font-size:1.0625rem}
.o-feat{list-style:none;padding:0;margin:22px 0;display:grid;gap:14px}
.o-feat li{position:relative;padding-left:34px}
.o-feat li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--brand)}
.o-feat li::after{content:"";position:absolute;left:7px;top:8px;width:8px;height:5px;border-left:2px solid var(--on-brand);border-bottom:2px solid var(--on-brand);transform:rotate(-45deg)}
.o-feat b{display:block}
.o-feat span{color:var(--muted);font-size:.9375rem}
.o-price-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:8px 0 14px}
.o-price{display:flex;align-items:baseline;gap:6px}
.o-price s{color:var(--muted);font-weight:700}
.o-price b{font:900 2.8rem/1 var(--font-d);letter-spacing:-.03em}
.o-price small{color:var(--muted)}
.o-fam{background:var(--bg)}
.o-biz{background:var(--brand);color:var(--on-brand);--muted:color-mix(in srgb,var(--on-brand) 78%,transparent)}
.o-biz .o-kicker{color:var(--accent)}
.o-biz .o-feat li::before{background:var(--accent)}
.o-biz .o-feat li::after{border-color:var(--on-accent)}
.o-biz .btn--p{background:var(--accent);color:var(--on-accent)}

/* roaming */
.o-roam{position:relative;padding:110px 0;color:#fff;overflow:hidden;background:#0B1430}
.o-roam__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.o-roam__in{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end}
.o-roam .o-kicker{color:var(--accent)}
.o-roam p{color:#E2E6F0;font-size:1.0625rem}
.o-zones{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.o-zones div{padding:18px;border-radius:14px;background:rgba(255,255,255,.94);color:#0B1430}
.o-zones b{display:block;font:800 1.125rem var(--font-d)}
.o-zones span{font-size:.875rem;color:#4B5268}

/* aplicație, suport, FAQ */
.o-app__in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.o-app__img{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:5/4}
.o-app__img img{width:100%;height:100%;object-fit:cover}
.o-checks{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:10px}
.o-checks li{position:relative;padding-left:28px;font-weight:600}
.o-checks li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2.5px solid var(--brand);border-bottom:2.5px solid var(--brand);transform:rotate(-45deg)}
.o-stores{display:flex;gap:10px;flex-wrap:wrap}
.o-stores span{display:inline-flex;align-items:center;min-height:46px;padding:0 16px;border-radius:12px;background:var(--ink);color:var(--bg);font-weight:700;font-size:.875rem}
.o-help{background:var(--soft);padding-top:88px!important}
.o-help__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.o-help__card{padding:26px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.o-help__card h3{font-size:1.375rem;font-weight:800;margin-bottom:8px}
.o-help__card p{color:var(--muted);margin-bottom:16px}
.o-reps{border-top:1px solid var(--line)}
.rep{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;transition:color var(--t-std) var(--ease)}
.rep b{display:block;font-size:.9375rem}
.rep small{color:var(--muted);font-size:.8125rem}
.rep em{font-style:normal;font-weight:800;white-space:nowrap}
.rep:hover{color:var(--brand)}
.o-contact{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:24px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);overflow:hidden}
.o-contact>*{display:flex;flex-direction:column;padding:18px 20px;text-decoration:none;border-right:1px solid var(--line)}
.o-contact>*:last-child{border-right:0}
.o-contact b{font:800 1.125rem var(--font-d);color:var(--brand)}
.o-contact span span,.o-contact a span{font-size:.8125rem;color:var(--muted)}
.o-faq__in{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;align-items:start}
.o-faq details{border-bottom:1px solid var(--line)}
.o-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-weight:700;font-size:1.0625rem}
.o-faq summary::-webkit-details-marker{display:none}
.o-faq summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--brand);transition:transform var(--t-std) var(--ease)}
.o-faq details[open] summary::after{transform:rotate(45deg)}
.o-faq details p{color:var(--muted);padding:0 0 20px;max-width:720px}

/* footer mare */
.o-foot{background:var(--util);color:var(--on-util);padding:64px 0 96px}
.o-foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.o-foot .o-brand{color:#fff}
.o-foot__brand p{margin-top:16px;max-width:320px;font-size:.9375rem}
.o-foot h3{font:800 .9375rem var(--font);color:#fff;margin-bottom:12px}
.o-foot__grid a:not(.o-brand){display:block;text-decoration:none;margin-bottom:8px;font-size:.9375rem;opacity:.85}
.o-foot__grid a:not(.o-brand):hover{opacity:1;text-decoration:underline}
.o-foot__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:.8125rem}

@media (max-width:1100px){
  .o-nav{display:none}
  .o-quick__in{grid-template-columns:repeat(4,1fr)}
  .o-cards{grid-template-columns:1fr 1fr}
  .o-tiles__in{grid-template-columns:1fr 1fr}
  .o-tile--1{grid-column:1/-1;min-height:260px}
  .o-rail{grid-auto-columns:calc((100% - 18px)/2)}
  .o-split__in,.o-roam__in,.o-app__in,.o-faq__in{grid-template-columns:1fr;gap:32px}
  .o-help__grid{grid-template-columns:1fr}
  .o-contact{grid-template-columns:1fr 1fr}
  .o-contact>*:nth-child(2){border-right:0}
  .o-contact>*:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .o-foot__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .o-util nav:last-child a:not(:last-child){display:none}
  .o-ic span:not(.cartbtn__n){display:none}
  .o-top__in{height:62px;gap:12px}
  .o-quick__in{grid-template-columns:repeat(4,1fr);gap:0}
  .o-quick a{font-size:.75rem}
  .o-cards{grid-template-columns:1fr}
  .o-tiles__in{grid-template-columns:1fr}
  .o-tile{min-height:300px}
  .o-rail{grid-auto-columns:78%}
  .o-arrow{display:none}
  .o-sec,.o-split{padding:64px 0}
  .o-zones{grid-template-columns:1fr}
  .o-tabs{width:100%;overflow-x:auto}
  .o-tabs button{padding:0 12px;font-size:.8125rem;white-space:nowrap}
  .o-foot__grid{grid-template-columns:1fr}
}
