/* Servis Perilica Split — глобальні стилі */
:root{
  --navy:#0E2433;
  --navy2:#16354A;
  --ink:#0E1E2B;
  --muted:#4A5B68;
  --muted2:#9FB3C2;
  --line:#DDE3E7;
  --line2:#C9D3DA;
  --bg:#F4F6F7;
  --panel:#F0F4F6;
  --blue:#1F6FA3;
  --blue-dark:#185B86;
  --blue-light:#E7F1F8;
  --blue-light-text:#1A5F8C;
  --accent:#F2A541;
  --accent-hover:#E8952A;
  --green:#2E9E5B;
  --green2:#2E7D4F;
  --red:#B03A2E;
  --font-head:'Segoe UI',system-ui,-apple-system,sans-serif;
  --font-body:'Segoe UI',system-ui,-apple-system,sans-serif;
  --font-mono:ui-monospace,Consolas,'Courier New',monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.5}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--navy);text-decoration:underline}
input,select,textarea,button{font-family:inherit;font-size:15px}
h1,h2,h3{font-family:var(--font-head);letter-spacing:-0.02em;margin:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.wrap-narrow{max-width:880px;margin:0 auto;padding:0 24px}
.wrap-mid{max-width:960px;margin:0 auto;padding:0 24px}
.page-body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
.mono{font-family:var(--font-mono)}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.eyebrow.on-dark{color:#8EC3E3}
.eyebrow.muted{color:var(--muted)}

/* Topbar */
.topbar{background:var(--navy);color:#C9D8E2;font-size:13px;padding:8px 24px}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.topbar-left{display:flex;flex-wrap:wrap;gap:6px 20px}
.topbar a{color:#fff;font-weight:600;white-space:nowrap}

/* Header */
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.header-row{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;cursor:pointer}
.brand-mark{width:42px;height:42px;border-radius:10px;background:var(--blue);display:flex;align-items:center;justify-content:center;flex:none}
.brand-mark span{width:22px;height:22px;border-radius:50%;border:4px solid #fff;background:#8EC3E3;display:block}
.brand-name{font-family:var(--font-head);font-weight:700;font-size:19px;letter-spacing:-0.01em;color:var(--ink)}
.brand-sub{font-size:12px;color:var(--muted)}
.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

nav.mainnav{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;gap:2px;overflow-x:auto}
nav.mainnav a{padding:12px 12px;border:0;background:transparent;cursor:pointer;font-weight:600;font-size:14px;white-space:nowrap;color:var(--ink);border-bottom:2px solid transparent;display:inline-block}
nav.mainnav a:hover{text-decoration:none;color:var(--blue)}
nav.mainnav a.active{color:var(--blue);border-bottom-color:var(--blue)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:12px;border:0;font-weight:700;font-size:16px;cursor:pointer;text-decoration:none;line-height:1.2}
.btn:hover{text-decoration:none}
.btn-sm{padding:11px 16px;border-radius:10px;font-size:14px}
.btn-primary{background:var(--accent);color:var(--ink)}
.btn-primary:hover{background:var(--accent-hover);color:var(--ink)}
.btn-outline{background:#fff;color:var(--ink);border:1px solid var(--line2)}
.btn-outline:hover{border-color:var(--blue);color:var(--ink)}
.btn-outline-light{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-dark);color:#fff}
.btn-ghost{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer;padding:0}
.btn-ghost:hover{text-decoration:underline}
.btn-white{background:#fff;color:var(--navy);font-weight:700}
.btn-white:hover{background:#fff;color:var(--navy);opacity:.92}
.btn-icon{padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;display:flex;gap:8px;align-items:center;font-weight:600;color:var(--ink)}
.cart-badge{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--blue);color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}

/* Sections */
section{padding:80px 24px}
section.tight{padding:56px 24px}
section.on-white{background:#fff}
section.on-navy{background:var(--navy);color:#fff}
section.on-navy p{color:#C9D8E2}
section.hero{padding:64px 24px 56px;background:#fff}
section.page-hero{padding:64px 24px 48px;background:var(--navy);color:#fff}
section.page-hero p{color:#C9D8E2;font-size:18px;line-height:1.6;max-width:720px;margin:0}
section.page-hero h1{font-size:clamp(34px,4.4vw,54px);margin:12px 0 14px}
.bordered-y{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.border-t{border-top:1px solid var(--line)}
.border-b{border-bottom:1px solid var(--line)}

.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.grid-2-tight{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.grid-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.grid-cards-wide{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.items-center{align-items:center}
.items-start{align-items:start}

h1.display{font-size:clamp(38px,5vw,62px);line-height:1.03}
h2.display{font-size:clamp(28px,3.4vw,42px);margin:10px 0 36px;max-width:700px}
h2.display.tight{margin:0 0 36px}
h2.section-title{font-size:clamp(28px,3.2vw,38px);margin:0 0 28px}

.pill{display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border-radius:20px;background:var(--blue-light);color:var(--blue-light-text);font-size:13px;font-weight:600}
.pill-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.tag{padding:6px 10px;border-radius:8px;background:var(--panel);font-size:13px}
.chip{padding:7px 12px;border-radius:20px;border:1px solid var(--line2);font-size:14px;background:#fff;cursor:pointer;font-weight:600;color:var(--ink)}
.chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.checklist{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:32px;font-size:14px;color:var(--ink);font-weight:600}

/* Photo frames (real images) */
.photo{border-radius:20px;overflow:hidden;background:var(--panel);display:block}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo-4-3{aspect-ratio:4/3}
.photo-16-9{aspect-ratio:16/9}
.photo-16-10{aspect-ratio:16/10}
.photo-5-4{aspect-ratio:5/4}
.photo-1-1{aspect-ratio:1/1}
.photo-sm{border-radius:16px}
.hero-photo{position:relative}
.hero-photo .photo{aspect-ratio:4/3.4;border-radius:20px}
.price-badge{position:absolute;left:-12px;bottom:24px;background:#fff;border-radius:14px;padding:16px 18px;box-shadow:0 12px 32px rgba(14,36,51,.14);max-width:240px}
.price-badge .label{font-size:12px;color:var(--muted)}
.price-badge .price{font-family:var(--font-head);font-size:28px;font-weight:700}
.price-badge .note{font-size:12px;color:var(--green2);font-weight:600}

/* Cards */
.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.card-body{padding:28px;display:flex;flex-direction:column;gap:14px;flex:1}
.card-body.tight{padding:18px;gap:8px}
.card-row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px}
.card h3{font-size:26px}
.service-tags{display:flex;flex-wrap:wrap;gap:8px}

.stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--line)}
.stats-strip .stat{padding:28px 8px}
.stats-strip .stat .val{font-family:var(--font-head);font-size:36px;font-weight:700;color:var(--blue)}
.stats-strip .stat .lab{font-size:14px;color:var(--muted)}

.calc-panel{background:var(--navy2);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:18px}
.calc-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.calc-tabs button{padding:14px;border-radius:10px;border:1px solid #2D5470;cursor:pointer;font-weight:700;background:transparent;color:#fff}
.calc-tabs button.active{background:var(--accent);color:var(--ink)}
.calc-field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#C9D8E2}
.calc-field select{padding:14px;border-radius:10px;border:0;background:#fff;color:var(--ink)}
.calc-result{background:var(--navy);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.calc-result .lab{font-size:13px;color:#C9D8E2}
.calc-result .val{font-family:var(--font-head);font-size:40px;font-weight:700}
.calc-result .note{font-size:13px;color:#C9D8E2;max-width:320px}

.step{padding:24px;border-top:3px solid var(--blue);background:#fff;border-radius:0 0 14px 14px}
.step .n{font-family:var(--font-mono);font-size:13px;color:var(--blue)}
.step h3{font-size:21px;margin:10px 0 8px}
.step p{margin:0;color:var(--muted);line-height:1.6;font-size:15px}

.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.why-grid .item{background:#fff;padding:28px}
.why-grid .item h3{margin:0 0 8px;font-size:18px}
.why-grid .item p{margin:0;color:var(--muted);line-height:1.6;font-size:15px}

.brand-strip{display:flex;flex-wrap:wrap;gap:10px 34px;font-family:var(--font-head);font-size:24px;font-weight:700;color:#7A8A95}

.area-chips{display:flex;flex-wrap:wrap;gap:8px}

.review{margin:0;padding:24px;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;gap:14px;background:#fff}
.review .stars{color:var(--accent-hover);letter-spacing:2px}
.review blockquote{margin:0;line-height:1.6;font-size:15px}
.review figcaption{font-size:14px;color:var(--muted);margin-top:auto}
.review figcaption strong{color:var(--ink)}

.product-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;position:relative}
.product-card .badge{position:absolute;top:12px;left:12px;padding:5px 9px;border-radius:6px;background:var(--accent);font-size:12px;font-weight:700;z-index:2}
.product-card .cat{font-size:12px;color:var(--muted)}
.product-card .name{font-weight:700;line-height:1.35}
.product-card .desc{font-size:14px;color:var(--muted);line-height:1.5}
.product-card .stock{font-size:12px;color:var(--green2);font-weight:600}
.product-card .price{font-family:var(--font-head);font-size:22px;font-weight:700}

.faq-item{border-bottom:1px solid var(--line)}
.faq-item button{width:100%;padding:20px 0;border:0;background:transparent;display:flex;justify-content:space-between;gap:16px;text-align:left;cursor:pointer;font-weight:700;font-size:17px;color:var(--ink)}
.faq-item .sign{color:var(--blue);font-size:22px;line-height:1}
.faq-item .answer{margin:0 0 20px;color:var(--muted);line-height:1.65;display:none}
.faq-item.open .answer{display:block}

/* Forms */
.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.field{padding:14px;border:1px solid var(--line2);border-radius:10px;width:100%;background:#fff}
textarea.field{resize:vertical}
.checkbox-line{display:flex;gap:10px;font-size:14px;line-height:1.5;color:var(--muted)}
.checkbox-line input{margin-top:3px}
.form-success{padding:12px 0}
.form-success .ok{font-family:var(--font-mono);color:var(--green2)}
.form-success h2{font-size:28px;margin:10px 0}
.form-success p{color:var(--muted);line-height:1.65;margin:0}
.field-err{border-color:var(--red) !important}

.pay-opt,.ship-opt{padding:14px 16px;border-radius:10px;cursor:pointer;border:2px solid var(--line)}
.pay-opt.active,.ship-opt.active{border-color:var(--blue)}
.ship-opt{display:flex;justify-content:space-between;gap:12px}
.opt-sub{font-size:13px;color:var(--muted)}

.cta-banner{padding:56px 24px;background:var(--blue);color:#fff}
.cta-banner .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-banner h2{font-size:clamp(26px,3vw,36px);margin:0 0 6px}
.cta-banner .sub{color:#DCEBF5}

/* Footer */
footer.site{background:var(--navy);color:#C9D8E2;padding:64px 24px 28px;font-size:14px}
.foot-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col .title{font-family:var(--font-head);font-weight:700;font-size:20px;color:#fff}
.foot-col .heading{color:#fff;font-weight:700}
.foot-col a{color:#C9D8E2}
.foot-bottom{max-width:1200px;margin:40px auto 0;padding-top:20px;border-top:1px solid #23445A;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted2)}

.call-fab{position:fixed;right:18px;bottom:18px;z-index:45;padding:14px 18px;border-radius:30px;background:var(--green);color:#fff;font-weight:700;box-shadow:0 10px 24px rgba(14,36,51,.25)}
.call-fab:hover{color:#fff;text-decoration:none;background:#278a4e}

/* Cart drawer */
.cart-overlay{position:fixed;inset:0;z-index:60;display:none;justify-content:flex-end}
.cart-overlay.open{display:flex}
.cart-overlay .bg{position:absolute;inset:0;background:rgba(14,36,51,.45)}
.cart-drawer{position:relative;width:min(420px,100%);height:100%;background:#fff;display:flex;flex-direction:column}
.cart-head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.cart-head strong{font-size:20px}
.cart-close{border:0;background:transparent;font-size:24px;cursor:pointer}
.cart-body{flex:1;overflow:auto;padding:12px 24px}
.cart-body .empty{color:var(--muted)}
.cart-line{padding:14px 0;border-bottom:1px solid #EEF2F4;display:flex;flex-direction:column;gap:10px}
.cart-line-top{display:flex;justify-content:space-between;gap:12px}
.cart-line-top span{font-weight:600}
.qty-row{display:flex;align-items:center;gap:8px}
.qty-btn{width:32px;height:32px;border:1px solid var(--line2);border-radius:8px;background:#fff;cursor:pointer}
.qty-row .qty-val{min-width:24px;text-align:center}
.qty-row .unit{font-size:13px;color:var(--muted)}
.qty-row .remove{margin-left:auto;border:0;background:transparent;color:var(--red);cursor:pointer;font-size:13px}
.cart-foot{padding:20px 24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.cart-foot .total-row{display:flex;justify-content:space-between;font-size:18px;font-weight:700}
.cart-foot .note{font-size:13px;color:var(--muted)}

.toast{position:fixed;left:50%;transform:translateX(-50%);top:120px;z-index:55;background:var(--navy);color:#fff;padding:12px 18px;border-radius:10px;font-weight:600;box-shadow:0 10px 24px rgba(14,36,51,.25);display:none}
.toast.show{display:block}

.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 16px 40px rgba(14,36,51,.2);display:none;flex-direction:column;gap:14px}
.cookie-banner.show{display:flex}
.cookie-banner .title{font-weight:700}
.cookie-banner p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-text{padding:12px 18px;border:0;background:transparent;color:var(--ink);font-weight:600;cursor:pointer;text-decoration:underline}

.map-frame{border-radius:20px;overflow:hidden;border:0;width:100%;aspect-ratio:16/9;background:var(--panel)}
.map-frame.sm{aspect-ratio:16/9;border-radius:18px}

.order-summary{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:14px;position:sticky;top:140px}
.order-line{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.order-totals{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px;font-size:15px}
.order-totals .grand{display:flex;justify-content:space-between;font-size:20px;font-weight:700}
.order-totals .vat{font-size:13px;color:var(--muted)}

.legal-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.legal-nav a{padding:8px 12px;border-radius:8px;border:1px solid var(--line2);cursor:pointer;font-size:13px;font-weight:600;background:#fff;color:var(--ink)}
.legal-nav a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.legal-nav a:hover{text-decoration:none}
.legal-block{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 28px;margin-bottom:8px}
.legal-block h2{margin:0 0 12px;font-size:19px}
.legal-block p{margin:0 0 10px;line-height:1.7;color:#2C3E4B;font-size:15px}

.code-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px}
.code-card .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.code-card .code{font-family:var(--font-mono);font-size:22px;font-weight:500;color:var(--blue)}
.code-card .meta{font-size:12px;padding:4px 8px;border-radius:6px;background:var(--panel)}
.code-card .name{font-weight:700}
.code-card .note{font-size:14px;color:var(--muted);line-height:1.55}
.search-input{width:100%;max-width:560px;padding:18px 20px;border-radius:12px;border:0;font-size:18px;font-family:var(--font-mono)}
.empty-note{padding:32px;background:#fff;border-radius:14px;border:1px dashed var(--line2)}

.article-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.article-card:hover{border-color:var(--blue);text-decoration:none}
.article-meta{font-size:13px;color:var(--muted)}
.article-card h3{font-size:21px;margin:0;line-height:1.25}
.article-card p{margin:0;color:var(--muted);line-height:1.6;font-size:15px}

.article-body p{font-size:17px;line-height:1.75;color:#2C3E4B;margin:0 0 16px}
.article-body h2{font-size:24px;margin:28px 0 10px}
.cta-inline{margin-top:36px;padding:24px;border-radius:14px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.cta-inline span{font-weight:600}

.team-card .photo{margin-bottom:12px}
.team-card .name{font-weight:700;margin-top:12px}
.team-card .role{color:var(--muted);font-size:14px}

.note-box{padding:22px 24px;border-radius:14px;background:var(--blue-light);color:#173E58;line-height:1.65;font-size:15px}

@media (max-width:640px){
  section{padding:56px 20px}
  .header-row{padding:12px 16px}
  .price-badge{position:static;margin-top:16px;max-width:none}
}
