/*
Theme Name: ProTrackEst
Theme URI: https://veebilahendused.ee/
Description: ProTrackEst GPS-jälgimisseadmete kodulehe teema.
Author: Veebilahendused.ee
Author URI: https://veebilahendused.ee/
Version: 1.5.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: protrackest
*/


  :root{
    --slate:#7E8CA8;      /* hero toon */
    --cream:#F1EDE4;      /* lehe taust */
    --ink:#16202B;        /* tume tekst/nupp */
    --ink-soft:#1d2733;   /* alatekst hero peal (labib AA) */
    --accent:#3F7F68;     /* seadme/pin aktsent */
  }
  *{ margin:0; padding:0; box-sizing:border-box; }
  body{ font-family:'Fira Sans',sans-serif; background:var(--cream); color:var(--ink); }
  .wrap{ max-width:1220px; margin:0 auto; padding:22px; }
  a, button, .faq-q, .faq-item, .cat-btn, .pfoot-btn, .btn, .help-btn, .cta-btn{ -webkit-tap-highlight-color:transparent; }

  nav{ display:flex; align-items:center; justify-content:space-between; padding:14px 12px 20px; position:sticky; top:0; z-index:50; background:var(--cream); }
  .logo{ display:flex; align-items:center; gap:5px; font-weight:700; font-size:22px; letter-spacing:-.01em; }
  .pin{ position:relative; width:14px; height:14px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--accent); }
  .pin::after{ content:""; position:absolute; top:50%; left:50%; width:5px; height:5px; border-radius:50%; background:#fff; transform:translate(-50%,-50%); }
  .menu{ display:flex; gap:32px; font-size:15px; font-weight:500; color:#2a3340; }
  .navright{ display:flex; align-items:center; gap:18px; }
  .search{ width:40px; height:40px; border-radius:50%; background:#e7e2d7; display:flex; align-items:center; justify-content:center; }
  .lang{ font-size:13px; font-weight:600; color:#3a4350; line-height:1.3; }
  .lang b{ color:var(--ink); }
  .btn{ border:none; cursor:pointer; font-family:inherit; font-weight:600; border-radius:40px; display:inline-flex; align-items:center; gap:9px; }
  .btn-dark{ background:var(--ink); color:#fff; padding:13px 24px; font-size:15px; }
  .btn-login{ background:transparent; border:1.5px solid var(--ink); color:var(--ink); padding:10px 18px; font-size:15px; margin-left:-8px; }
  

  .hero{ background:var(--slate); border-radius:26px; padding:56px 56px 60px; position:relative; overflow:hidden; }
  .hero-grid{ display:grid; grid-template-columns:1.02fr 1fr; gap:44px; align-items:center; }
  h1{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:44px; line-height:1.06; color:#fff; letter-spacing:-.01em; margin-bottom:24px; }
  .sub{ font-size:18px; line-height:1.55; color:var(--ink-soft); max-width:430px; margin-bottom:30px; }
  .ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:26px; }
  .btn-white{ background:#fff; color:var(--ink); padding:16px 26px; font-size:16px; }
  .btn-ink{ background:var(--ink); color:#fff; padding:16px 26px; font-size:16px; }
  .chips{ display:flex; gap:24px; flex-wrap:wrap; font-size:14px; font-weight:600; color:var(--ink-soft); }
  .chip{ display:flex; align-items:center; gap:8px; }
  .chip svg{ flex:none; }

  .visual{ position:relative; min-height:436px; }
  .hero-video{ display:block; width:100%; aspect-ratio:384/848; object-fit:cover; object-position:center center; border-radius:34px; background:#0d1420; }
  .hero-phone{ position:absolute; top:-6px; right:34%; width:219px; z-index:2; background:#0d1420; border-radius:42px; padding:9px; box-shadow:0 24px 48px rgba(20,26,34,.30); }
  .hero-device{ position:absolute; right:2px; bottom:118px; width:206px; z-index:1; transform:rotate(8deg); filter:drop-shadow(0 22px 44px rgba(20,26,34,.34)); }
  .route{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
  .road{ fill:none; stroke:#2a3550; stroke-width:16; stroke-linecap:round; stroke-linejoin:round; }
  .route-line{ fill:none; stroke:#3F7F68; stroke-width:8; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1000; stroke-dashoffset:1000; }
  @media (prefers-reduced-motion: reduce){ .route-line{ animation:none; stroke-dashoffset:0; } }
  @media (prefers-reduced-motion: reduce){ .car{ display:none; } }
  .device{ position:absolute; right:-34px; bottom:-30px; width:132px; height:170px; background:linear-gradient(150deg,#3a424b 0%,#232a31 45%,#12171c 100%); border-radius:24px; z-index:0; transform:rotate(6deg); border:1px solid #454e57; box-shadow:0 30px 60px rgba(20,26,34,.5); }
  .device:before{ content:""; position:absolute; top:16px; left:50%; transform:translateX(-50%); width:30px; height:30px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#2c333b,#0a0d10); box-shadow:inset 0 0 0 4px #3d454e, 0 0 0 1px #565f68; }
  .device:after{ content:""; position:absolute; bottom:18px; left:50%; transform:translateX(-50%); width:44px; height:5px; border-radius:4px; background:#454e57; }
  .track{ position:relative; z-index:1; background:#101821; color:#EAEEF3; border-radius:16px; padding:16px; width:100%; max-width:420px; box-shadow:0 26px 60px rgba(20,26,34,.28); }
  .track-top{ display:flex; justify-content:space-between; align-items:center; font-size:14px; font-weight:600; margin-bottom:12px; }
  .track-top .car{ display:flex; align-items:center; gap:7px; }
  .dot{ color:var(--accent); }
  .live{ display:flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:var(--accent); }
  .live i{ width:8px; height:8px; border-radius:50%; background:var(--accent); }
  .map{ border-radius:10px; height:188px; background:#0a0f16; overflow:hidden; }
  .foot{ display:flex; gap:26px; margin-top:14px; }
  .foot small{ display:block; font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:#7a8592; margin-bottom:3px; }
  .foot b{ font-size:15px; font-weight:700; }

  .strip{ display:flex; gap:52px; padding:52px 0 0; flex-wrap:wrap; }
  .stat b{ font-family:'Fira Sans',sans-serif; font-size:24px; font-weight:700; display:block; line-height:1; color:var(--ink); }
  .stat span{ font-size:13.5px; color:#5c6570; }

  /* ---- kategooriad ---- */
  .cats{ padding:64px 0 20px; }
  .cats-head h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:32px; color:var(--ink); letter-spacing:-.01em; margin-bottom:8px; }
  .cats-head p{ font-size:17px; color:#5c6570; margin-bottom:34px; }
  .cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; align-items:stretch; }
  .cat{ display:flex; flex-direction:column; }
  .cat p{ flex:1; }
  .cat-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; }
  .cat-price{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:17px; color:var(--ink); white-space:nowrap; }
  .cat-price small{ font-weight:500; font-size:13px; color:#5c6570; }
  .cat-btn{ background:var(--accent); color:#fff; border:none; cursor:pointer; font-family:inherit; font-weight:600; font-size:14px; border-radius:40px; padding:9px 20px; text-decoration:none; white-space:nowrap; transition:filter .15s; }
  
  .cat-img{ aspect-ratio:4/5; border-radius:16px; background:linear-gradient(160deg,#8b98b2 0%,#5f6b83 55%,#48526a 100%); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
  .cat-img svg{ width:64px; height:64px; opacity:.92; }
  .cat-img{ overflow:hidden; }
  .cat-img.cat-ph{ display:flex; align-items:center; justify-content:center; }
  .cat-photo{ width:100%; height:100%; object-fit:cover; display:block; }
  .cat h3{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:19px; color:var(--ink); margin-bottom:5px; }
  .cat p{ font-size:14.5px; line-height:1.5; color:#5c6570; }
  .cat.cta{ background:#151d29; border-radius:16px; justify-content:center; padding:34px 28px; }
  .cat.cta .cta-ic{ width:48px; height:48px; border-radius:13px; background:var(--accent); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
  .cat.cta h3{ color:#fff; font-size:20px; margin-bottom:10px; }
  .cat.cta p{ flex:none; color:#9aa4b2; margin-bottom:24px; }
  .cta-btn{ align-self:flex-start; display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--ink); font-family:inherit; font-weight:700; font-size:14px; border-radius:40px; padding:11px 22px; text-decoration:none; transition:background .15s; }
  

  @media(max-width:880px){
    .hero-grid{ grid-template-columns:1fr; }
    h1{ font-size:36px; }
    .sub{ font-size:16px; }
    .visual{ order:0; margin-top:24px; }
    .menu{ display:none; }
    .lang{ display:none; }
    .logo{ font-size:20px; }
    nav{ padding:6px 2px 20px; }
    .navright{ gap:10px; }
    .btn-dark{ padding:10px 15px; font-size:13px; }
    .btn-login{ display:none; }
    .strip{ gap:22px 32px; padding:36px 0 0; }
    .hero{ padding:34px 26px 40px; }
    .visual{ min-height:0; }
    .hero-phone{ position:static; width:210px; margin:0 auto; }
    .hero-device{ display:none; }
    .cats{ padding:44px 0 10px; }
    .cat-grid{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:2px 0 10px; scrollbar-width:none; }
    .cat-grid::-webkit-scrollbar{ display:none; }
    .cat{ flex:0 0 76%; scroll-snap-align:start; }
    .cats-head h2{ font-size:26px; }
    .plans-head h2, .contact-head h2, .faq-head h2{ font-size:26px; }
  }
  @media(max-width:520px){
    .cat{ flex:0 0 82%; }
  }
  /* ---- kuidas see tootab (pinned, dark) ---- */
  .howto{ margin-top:34px; }
  .howto-in{ padding:0; }
  .howto-wrap{ position:relative; height:400vh; }
  .howto-pin{ position:sticky; top:0; height:100vh; display:flex; align-items:center; }
  .howto-sticky{ position:relative; overflow:hidden; width:100%; height:74vh; background:#3F7F68; border-radius:28px; display:flex; flex-direction:column; padding:clamp(30px,4.2vh,48px) 56px; }
  .howto-head, .howto-stage{ position:relative; z-index:1; }
  .howto-mark{ position:absolute; left:-56px; bottom:-96px; width:300px; height:390px; z-index:0; pointer-events:none; }
  .howto-mark svg{ width:100%; height:100%; display:block; }
  .howto-overline{ display:inline-block; color:rgba(255,255,255,.75); font-weight:700; font-size:15px; }
  .howto-head{ flex:none; }
  .howto-head h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:clamp(28px,3.4vw,42px); line-height:1.14; color:#fff; letter-spacing:-.01em; margin-top:0; max-width:22ch; }
  .howto-stage{ flex:1; position:relative; }
  .step-txt{ display:flex; flex-direction:column; justify-content:center; }
  .step{ position:absolute; inset:0; display:grid; grid-template-columns:1fr 1.05fr; gap:60px; align-items:center; opacity:0; transform:translateY(22px); transition:opacity .45s ease, transform .45s ease; pointer-events:none; }
  .step.active{ opacity:1; transform:none; pointer-events:auto; }
  .step-num{ font-family:'Fira Sans',sans-serif; font-weight:800; font-size:clamp(64px,7vw,96px); line-height:.9; color:#F1EDE4; margin-bottom:12px; }
  .step h3{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:34px; color:#fff; margin-bottom:14px; }
  .step p{ font-size:18px; line-height:1.6; color:rgba(255,255,255,.82); max-width:440px; }
  .step-vis{ display:flex; align-items:center; justify-content:center; min-width:0; }
  .vis-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; width:100%; max-width:clamp(280px,44vh,420px); align-items:start; }
  .vis-grid img{ width:100%; object-fit:cover; border-radius:16px; }
  .vis-grid img:nth-child(1){ aspect-ratio:4/5; }
  .vis-grid img:nth-child(2){ aspect-ratio:1/1; margin-top:56px; }
  .vis-grid img:nth-child(3){ aspect-ratio:5/4; margin-top:14px; object-position:center 28%; }
  .vis-plans{ display:grid; grid-template-columns:1fr 1fr; gap:18px; width:100%; max-width:480px; }
  .plan{ background:rgba(0,0,0,.16); border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:26px 22px; display:flex; flex-direction:column; gap:8px; }
  .plan-alt{ border-color:rgba(255,255,255,.6); }
  .plan-t{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:20px; color:#fff; }
  .plan-p{ font-family:'Fira Sans',sans-serif; font-weight:800; font-size:26px; color:#F1EDE4; }
  .plan-d{ font-size:13.5px; line-height:1.5; color:rgba(255,255,255,.72); }
  .vis-device{ display:flex; align-items:center; justify-content:center; width:100%; }
  .vis-device img{ width:46%; max-width:220px; filter:drop-shadow(0 26px 50px rgba(0,0,0,.5)); }
  .vis-app{ width:100%; max-width:430px; border-radius:20px; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,.45); }
  .vis-app img{ width:100%; display:block; }
  .vis-phone{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
  .phone{ position:relative; height:min(452px,52vh); aspect-ratio:942/2048; background:#0b0b0d; border-radius:34px; padding:7px; box-shadow:0 34px 70px rgba(0,0,0,.55); }
  .phone img{ width:100%; height:100%; object-fit:cover; border-radius:27px; display:block; }
  .phone-island{ position:absolute; top:15px; left:50%; transform:translateX(-50%); width:58px; height:17px; background:#000; border-radius:10px; z-index:2; }
  .howto-ring{ position:absolute; top:clamp(30px,4.2vh,48px); right:56px; width:88px; height:88px; z-index:2; }
  .howto-ring svg{ width:100%; height:100%; transform:rotate(-90deg); display:block; }
  .ring-bg{ fill:none; stroke:rgba(255,255,255,.20); stroke-width:5; }
  .ring-fg{ fill:none; stroke:#F1EDE4; stroke-width:5; stroke-linecap:round; stroke-dasharray:276.5; stroke-dashoffset:207.4; transition:stroke-dashoffset .45s ease; }
  .ring-lab{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; font-family:'Fira Sans',sans-serif; color:#fff; line-height:1; }
  .ring-lab b{ font-weight:800; font-size:23px; }
  .ring-lab span{ font-weight:700; font-size:11px; color:rgba(255,255,255,.6); margin-top:4px; }

  /* ---- hinnapaketid (spec-kaardid) ---- */
  .plans{ position:relative; padding:36px 0; }
  .plans-ribbon{ position:absolute; top:0; left:calc(50% - 50vw); width:100vw; height:100%; z-index:0; pointer-events:none; overflow:visible; }
  .plans-head{ position:relative; z-index:1; margin-bottom:30px; }
  .plans-head h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:32px; color:var(--ink); letter-spacing:-.01em; margin-bottom:8px; }
  .plans-head p{ font-size:17px; line-height:1.55; color:#5c6570; max-width:600px; }
  .plans-grid{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
  .pcard{ display:flex; flex-direction:column; background:#e9e2d2; border:none; border-radius:20px; overflow:hidden; }
  .pcard-body{ flex:1; display:flex; flex-direction:column; padding:32px 32px 12px; }
  .pcard-title{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:23px; color:var(--ink); margin-bottom:9px; }
  .pcard-desc{ font-size:14px; line-height:1.55; color:#66707c; margin-bottom:8px; }
  .prow{ padding:17px 0; border-top:1px solid #d8cfba; }
  .prow:first-of-type{ margin-top:18px; }
  .prow-label{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:13.5px; color:var(--ink); margin-bottom:7px; }
  .prow-val{ font-size:13.5px; line-height:1.55; color:#66707c; }
  .pcard-foot{ margin-top:auto; background:transparent; padding:14px 32px 32px; display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
  .pfoot-price .lab{ font-size:12px; font-weight:600; color:#8a857b; margin-bottom:6px; }
  .pfoot-price .amt{ font-family:'Fira Sans',sans-serif; font-weight:800; font-size:30px; line-height:1; color:var(--ink); letter-spacing:-.02em; }
  .pfoot-price .amt small{ font-size:12.5px; font-weight:600; color:#8a857b; letter-spacing:0; }
  .pfoot-price .fine{ font-size:10.5px; line-height:1.4; color:#a8a297; margin-top:8px; font-style:italic; min-height:30px; }
  .pfoot-btn{ flex:none; display:inline-flex; align-items:center; gap:8px; background:var(--accent); color:#fff; border:none; cursor:pointer; font-family:inherit; font-weight:700; font-size:13.5px; line-height:1.2; border-radius:12px; padding:12px 16px; text-decoration:none; transition:filter .15s; }
  
  .pfoot-btn svg{ flex:none; }
  /* kontaktikaart -- tume, brändiga kooskolas */
  .pcard.help{ position:relative; overflow:visible; background:#151d29; border:none; border-radius:20px; flex-direction:row; align-items:center; justify-content:flex-start; text-align:left; gap:26px; padding:30px 40px; }
  .help-route{ position:absolute; top:0; right:calc(50% - 50vw); height:100%; width:calc(50vw - 60px); z-index:0; pointer-events:none; overflow:visible; }
  .pcard.help .help-ic, .pcard.help .help-txt, .pcard.help .help-btn{ position:relative; z-index:1; }
  .help-ic{ flex:none; width:56px; height:56px; border-radius:16px; background:var(--accent); display:flex; align-items:center; justify-content:center; }
  .help h3{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:21px; color:#fff; margin-bottom:6px; }
  .help p{ font-size:14px; line-height:1.6; color:#9aa4b2; margin-bottom:0; max-width:560px; }
  .help-btn{ flex:none; margin-left:auto; display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--ink); border:none; cursor:pointer; font-family:inherit; font-weight:700; font-size:14px; border-radius:12px; padding:13px 24px; text-decoration:none; transition:background .15s, transform .15s; }
  

  /* --- vordlus: variant A (laiad Silen-kaardid) --- */
  .plans-grid.grid2{ grid-template-columns:1fr 1fr; }
  .pcard.wide{ display:grid; grid-template-columns:1fr 40%; align-items:stretch; }
  .pcard.wide .pcard-col{ display:flex; flex-direction:column; min-width:0; }
  .pcard-visual{ display:flex; align-items:flex-start; justify-content:center; padding:74px 24px 24px; }
  .pcard-visual img{ width:100%; max-width:220px; filter:drop-shadow(0 22px 44px rgba(20,26,34,.30)); }

  /* ---- KKK ---- */
  .faq{ padding:36px 0 16px; }
  .faq-head{ margin-bottom:28px; text-align:center; }
  .faq-head h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:32px; color:var(--ink); letter-spacing:-.01em; margin-bottom:8px; }
  .faq-head p{ font-size:17px; line-height:1.55; color:#5c6570; }
  .faq-list{ display:flex; flex-direction:column; gap:12px; max-width:820px; margin:0 auto; }
  .faq-item{ background:#e9e2d2; border:none; border-radius:14px; overflow:hidden; }
  .faq-item.open{ background:#ece6d8; }
  .faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; text-align:left; background:transparent; border:none; cursor:pointer; font-family:'Fira Sans',sans-serif; font-weight:700; font-size:17.5px; color:var(--ink); padding:22px 26px; -webkit-appearance:none; -webkit-tap-highlight-color:transparent; outline:none; }
  .faq-q .chev{ flex:none; width:22px; height:22px; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center; transition:transform .28s ease; }
  .faq-item.open .faq-q .chev{ transform:rotate(180deg); }
  .faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
  .faq-a-in{ padding:0 26px 24px; font-size:15.5px; line-height:1.65; color:#5c6570; }

  /* ---- kontaktid ---- */
  .contact{ padding:36px 0; }
  .contact-head{ margin-bottom:26px; }
  .contact-head h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:32px; color:var(--ink); letter-spacing:-.01em; margin-bottom:8px; }
  .contact-head p{ font-size:17px; line-height:1.55; color:#5c6570; }
  .contact-panel{ background:#FBF6EE; border:none; border-radius:22px; padding:38px 40px; display:grid; grid-template-columns:repeat(3,1fr); gap:34px; }
  .contact-col h3{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:17px; color:var(--ink); margin-bottom:14px; }
  .contact-col .note{ font-size:14px; line-height:1.5; color:#6a7079; margin-bottom:12px; }
  .contact-col a{ display:inline-block; color:var(--accent); font-size:15px; font-weight:600; text-decoration:none; margin-bottom:6px; }
  .contact-col a:hover{ text-decoration:underline; }
  .contact-tel{ margin-top:14px; }
  .contact-tel .lab{ font-size:12.5px; color:#8a857b; margin-bottom:4px; }
  .contact-tel a{ font-family:'Fira Sans',sans-serif; font-weight:800; font-size:24px; color:var(--ink); letter-spacing:-.01em; }
  .contact-tel a:hover{ text-decoration:none; color:var(--accent); }
  /* ---- footer ---- */
  .site-footer{ max-width:1360px; margin:34px auto 44px; padding:0 22px; }
  .footer-in{ background:#151d29; color:#fff; border-radius:24px; padding:52px 0 44px; }
  .footer-top{ max-width:1220px; margin:0 auto; padding:0 22px; display:grid; grid-template-columns:0.85fr 0.85fr 0.85fr 1.6fr; gap:40px; }
  .footer-brand{ margin-bottom:16px; color:#fff; }
  .footer-tag{ font-size:13.5px; line-height:1.6; color:#8a93a3; max-width:230px; }
  .footer-col h4{ font-size:12.5px; font-weight:700; letter-spacing:.02em; color:#7f8b9c; margin-bottom:16px; }
  .footer-col a{ display:block; color:#c7cdd6; font-size:14.5px; line-height:1.4; margin-bottom:11px; text-decoration:none; transition:color .15s; }
  .footer-col a:hover{ color:#fff; }
  .footer-contact{ background:#1d2733; border-radius:20px; padding:28px 30px; }
  .fc-group{ margin-bottom:20px; }
  .fc-group.last{ margin-bottom:0; }
  .fc-group .lab{ font-size:12.5px; color:#7f8b9c; margin-bottom:7px; }
  .fc-group .val{ font-family:'Fira Sans',sans-serif; font-weight:800; font-size:18px; color:#fff; letter-spacing:-.01em; margin-bottom:3px; }
  .fc-group .note{ font-size:12.5px; color:#7f8b9c; margin-bottom:7px; }
  .fc-group a{ display:inline-block; color:#72F768; font-size:14.5px; font-weight:600; text-decoration:none; }
  .fc-group a:hover{ text-decoration:underline; }
  .footer-social{ display:flex; gap:11px; margin-top:24px; }
  .footer-social a{ width:38px; height:38px; border-radius:11px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:background .15s; }
  .footer-social a:hover{ background:#3F7F68; }
  .footer-social svg{ width:18px; height:18px; }
  .footer-bottom{ max-width:1220px; margin:44px auto 0; padding:24px 22px 0; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
  .fb-left{ display:flex; align-items:center; gap:18px; }
  .footer-bottom .footer-brand{ margin-bottom:0; font-size:18px; }
  .footer-bottom .copy{ font-size:13px; color:#7f8b9c; }
  .footer-bottom .credit a{ color:#c7cdd6; text-decoration:none; }
  .footer-bottom .credit a:hover{ color:#fff; text-decoration:underline; }
  .footer-bottom .fb-links a{ color:#7f8b9c; font-size:13px; text-decoration:none; margin-left:22px; }
  .footer-bottom .fb-links a:hover{ color:#fff; }

  @media (max-width:880px), (prefers-reduced-motion: reduce){
    .faq{ padding:24px 0 20px; }
    .contact-panel{ grid-template-columns:1fr; gap:28px; padding:30px 26px; }
    .contact-col + .contact-col{ border-top:1px solid #ece6d9; padding-top:24px; }
    .howto-in{ padding:0; }
    .howto-wrap{ height:auto; }
    .howto-pin{ position:static; height:auto; display:block; }
    .howto-marks{ display:none; }
    .howto-sticky{ position:static; height:auto; display:block; padding:30px 24px; border-radius:22px; }
    .howto-head{ flex:none; }
  .howto-head h2{ font-size:26px; margin-bottom:24px; }
    .howto-stage{ min-height:0; }

    .step{ position:static; display:grid; grid-template-columns:1fr; gap:18px; opacity:1; transform:none; margin-bottom:34px; }
    .step-num{ font-size:56px; }
    .step h3{ font-size:24px; }
    .step-vis{ justify-content:flex-start; }

    .vis-grid img{ margin-top:0; }
    .howto-ring{ display:none; }
    .plans{ padding:52px 0 20px; }
    .plans-grid{ grid-template-columns:1fr; }
    .plans-grid.grid2{ grid-template-columns:1fr; }
    .pcard.wide{ grid-template-columns:1fr; }
    .pcard-visual{ display:none; }
    .pcard-body{ padding:28px 26px 10px; }
    .pcard-foot{ padding:12px 26px 28px; }
    .pcard.help{ padding:36px 26px; }
    .site-footer{ padding:0 16px; }
    .footer-in{ padding:38px 0 30px; border-radius:20px; }
    .footer-top{ grid-template-columns:1fr 1fr; gap:30px; }
    .footer-contact{ grid-column:1 / -1; }
    .footer-bottom{ flex-direction:column; align-items:flex-start; }
    .fb-left{ flex-direction:column; align-items:flex-start; gap:8px; }
    .footer-bottom .fb-links a{ margin-left:0; margin-right:22px; }
  }
  @media (min-width:881px) and (max-width:1040px){
    .pcard-foot{ flex-direction:column; align-items:flex-start; }
    .pfoot-btn{ width:100%; justify-content:center; }
  }

  /* ---- app badges ---- */
  .app-badges{ display:flex; gap:12px; flex-wrap:wrap; }
  .appbadge{ display:inline-flex; align-items:center; gap:10px; background:var(--ink); color:#fff; border-radius:12px; padding:9px 16px; text-decoration:none; transition:filter .15s; }
  
  .appbadge .ab-ico{ width:22px; height:22px; flex:none; }
  .appbadge .ab-txt{ display:flex; flex-direction:column; line-height:1.12; }
  .appbadge .ab-txt small{ font-size:10px; opacity:.82; letter-spacing:.02em; }
  .appbadge .ab-txt b{ font-size:15px; font-weight:700; letter-spacing:-.01em; }
  .guide-link{ display:inline-flex; align-items:center; gap:7px; color:var(--accent); font-weight:600; font-size:15px; text-decoration:none; }
  .guide-link:hover{ text-decoration:underline; }
  /* howto step 03 badges on colored block */
  .howto .app-badges{ margin-top:16px; }
  .howto .appbadge{ background:#fff; color:var(--ink); }
  .howto .guide-link{ color:#fff; margin-top:13px; }
  .step-txt .guide-link{ margin-top:14px; }
  /* ---- seadistamisjuhendid ---- */
  .setup{ padding:72px 0 36px; margin-top:-13vh; }
  .setup-panel{ background:#e9e2d2; border:none; border-radius:24px; padding:46px 48px; display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:center; }
  .setup-txt h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:30px; color:var(--ink); letter-spacing:-.01em; margin-bottom:10px; }
  .setup-txt p{ font-size:16px; line-height:1.6; color:#5c6570; margin-bottom:22px; max-width:470px; }
  .setup-txt .guide-link{ margin-top:18px; }
  .setup-vis{ display:flex; justify-content:center; }
  .setup-badge{ width:206px; aspect-ratio:1/1.12; background:linear-gradient(150deg,#8592ad,#5c6b8a); border-radius:28px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:#fff; box-shadow:0 22px 44px rgba(21,29,41,.18); }
  .setup-appicon{ width:78px; height:78px; border-radius:20px; background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
  .setup-appicon img{ width:56px; height:56px; border-radius:14px; display:block; }
  .setup-badge b{ font-family:'Fira Sans',sans-serif; font-size:22px; letter-spacing:-.01em; }
  .setup-badge span{ font-size:13px; opacity:.85; }
  /* ---- registreeri seade CTA ---- */
  .regcta{ padding:36px 0; }
  .regcta-in{ background:#151d29; border-radius:24px; padding:44px 48px; display:flex; align-items:center; justify-content:space-between; gap:34px; flex-wrap:wrap; }
  .regcta-txt{ max-width:640px; }
  .regcta-txt h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:28px; color:#fff; letter-spacing:-.01em; margin-bottom:10px; }
  .regcta-txt p{ font-size:16px; line-height:1.6; color:#c7cdd6; margin-bottom:8px; }
  .regcta-fine{ font-size:13.5px; color:#8a93a3; margin-bottom:0; }
  .btn-ctareg{ background:#fff; color:var(--ink); padding:16px 28px; font-size:16px; white-space:nowrap; }
  

  @media (max-width:880px){
    .setup{ padding:48px 0 24px; margin-top:0; }
    .plans{ padding:24px 0; }
    .regcta{ padding:24px 0; }
    .contact{ padding:24px 0; }
    .faq{ padding:24px 0 12px; }
    .setup-panel{ grid-template-columns:1fr; gap:30px; padding:32px 26px; }
    .setup-txt h2{ font-size:24px; }
    .setup-vis{ order:-1; }
    .setup-badge{ width:170px; }
    .regcta-in{ padding:32px 26px; flex-direction:column; align-items:flex-start; }
    .regcta-txt h2{ font-size:23px; }
    .btn-ctareg{ width:100%; justify-content:center; }
  }

  /* WP: menüü lingid (identne span-stiiliga) */
  .menu a{ color:inherit; text-decoration:none; transition:color .15s; }
  .menu a:hover{ color:var(--accent); }

  /* WP: nupud on nüüd <a>-lingid - eemalda allajoon */
  .btn{ text-decoration:none; }

  /* WP: mobiili taisekraan-menuu */
  .nav-burger{ display:none; }
  .menu-lang{ display:none; }
  @media (max-width:880px){
    nav{ position:sticky; top:0; }
    .nav-burger{ display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:40px; height:40px; border-radius:50%; background:#e7e2d7; border:none; cursor:pointer; flex:none; padding:0; }
    .nav-burger span{ display:block; width:20px; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s ease, opacity .2s ease; }
    nav.nav-open{ z-index:120; }
    nav.nav-open .logo, nav.nav-open .navright{ position:relative; z-index:110; }
    nav.nav-open .nav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
    nav.nav-open .nav-burger span:nth-child(2){ opacity:0; }
    nav.nav-open .nav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
    nav.nav-open .menu{ display:flex; flex-direction:column; gap:0; position:fixed; inset:0; background:var(--cream); z-index:100; padding:100px 24px 40px; overflow-y:auto; }
    nav.nav-open .menu a{ font-size:22px; font-weight:600; color:var(--ink); padding:18px 2px; border-bottom:1px solid #e3ddcf; text-decoration:none; }
    nav.nav-open .menu a:active{ color:var(--accent); }
    nav.nav-open .menu .menu-lang{ display:flex; gap:20px; align-items:center; margin-top:28px; }
    nav.nav-open .menu .menu-lang b{ font-size:17px; color:var(--ink); }
    nav.nav-open .menu .menu-lang a{ font-size:17px; font-weight:600; color:#8a857b; padding:0; border:none; }
    nav.nav-open .btn-login{ display:inline-flex; justify-content:center; position:fixed; left:24px; right:24px; bottom:32px; z-index:215; padding:14px 18px; font-size:17px; }
    body.nav-open{ overflow:hidden; }
  }

/* ===== Registreeri seade (alamleht) ===== */
  .menu a.current{ color:var(--accent); font-weight:600; }
  .reg{ padding:8px 0 20px; }
  .reg-head{ margin-bottom:34px; max-width:640px; }
  .reg-head h1{ font-size:40px; line-height:1.08; color:var(--ink); margin-bottom:14px; }
  .reg-head p{ font-size:17px; line-height:1.6; color:#5c6570; }
  .reg-grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:44px; align-items:start; }
  .reg-info{ background:#fff; border:none; border-radius:24px; padding:34px 34px; }
  .reg-info h3{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:20px; color:var(--ink); margin-bottom:16px; }
  .reg-steps{ list-style:none; display:flex; flex-direction:column; gap:16px; margin-bottom:26px; }
  .reg-steps li{ display:flex; gap:14px; align-items:flex-start; }
  .reg-steps .n{ flex:none; width:30px; height:30px; border-radius:50%; background:var(--accent); color:#fff; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; }
  .reg-steps .t{ font-size:15px; line-height:1.5; color:#3a4350; padding-top:4px; }
  .reg-imei{ background:var(--cream); border-radius:16px; padding:18px 20px; display:flex; gap:13px; align-items:flex-start; margin-bottom:24px; }
  .reg-imei svg{ flex:none; margin-top:1px; }
  .reg-imei .t{ font-size:13.5px; line-height:1.55; color:#5c6570; }
  .reg-imei .t b{ color:var(--ink); }
  .reg-info .app-lab{ font-size:13px; color:#8a857b; margin-bottom:10px; }
  .reg-panel{ background:#fff; border:none; border-radius:24px; padding:38px 40px; box-shadow:0 24px 50px rgba(21,29,41,.06); }
  .reg-panel h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:24px; color:var(--ink); margin-bottom:6px; }
  .reg-panel .lead{ font-size:14.5px; color:#5c6570; margin-bottom:26px; }
  .field{ margin-bottom:20px; }
  .field > label{ display:block; font-size:14px; font-weight:600; color:var(--ink); margin-bottom:8px; }
  .field input[type=text], .field input[type=email]{ width:100%; font-family:inherit; font-size:15px; color:var(--ink); background:#faf8f3; border:1px solid transparent; border-radius:12px; padding:13px 15px; transition:border-color .15s, box-shadow .15s; }
  .field input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(63,127,104,.14); background:#fff; }
  .field .hint{ font-size:12.5px; color:#8a857b; margin-top:7px; }
  .segtype{ display:flex; gap:12px; }
  .segtype label{ flex:1; cursor:pointer; }
  .segtype input{ position:absolute; opacity:0; pointer-events:none; }
  .segtype .seg{ display:flex; align-items:center; justify-content:center; gap:9px; padding:14px 12px; border:1.5px solid transparent; border-radius:12px; font-size:15px; font-weight:600; color:#3a4350; background:#faf8f3; transition:all .15s; }
  .segtype .seg .dot{ width:16px; height:16px; border-radius:50%; border:2px solid #c3bcac; flex:none; transition:all .15s; }
  .segtype input:checked + .seg{ border-color:var(--accent); background:#fff; color:var(--ink); }
  .segtype input:checked + .seg .dot{ border-color:var(--accent); background:var(--accent); box-shadow:inset 0 0 0 3px #fff; }
  .segtype input:focus-visible + .seg{ outline:2px solid var(--accent); outline-offset:2px; }
  .agree{ display:flex; gap:12px; align-items:flex-start; margin:24px 0 26px; }
  .agree input{ flex:none; width:20px; height:20px; margin-top:1px; accent-color:var(--accent); cursor:pointer; }
  .agree label{ font-size:13.5px; line-height:1.55; color:#5c6570; }
  .agree a{ color:var(--accent); font-weight:600; text-decoration:none; }
  .agree a:hover{ text-decoration:underline; }
  .btn-submit{ width:100%; justify-content:center; background:var(--accent); color:#fff; padding:16px 26px; font-size:16px; }
  
  .reg-note{ font-size:12.5px; color:#8a857b; text-align:center; margin-top:16px; }
  @media (max-width:880px){
    .reg-head h1{ font-size:30px; }
    .reg-head p{ font-size:16px; }
    .reg-grid{ grid-template-columns:1fr; gap:26px; }
    .reg-info{ order:2; padding:28px 24px; }
    .reg-panel{ padding:30px 24px; }
    .segtype{ flex-direction:column; }
  }

/* ===== Kontakt (alamleht) ===== */
  .kontakt-faq{ font-size:16px; line-height:1.6; color:#5c6570; margin-top:10px; }
  .kontakt-faq a{ color:var(--accent); font-weight:600; text-decoration:none; }
  .kontakt-faq a:hover{ text-decoration:underline; }
  .kontakt-groups{ display:flex; flex-direction:column; gap:24px; }
  .kontakt-group .lab{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:16px; color:var(--ink); margin-bottom:7px; }
  .kontakt-group .phone{ position:static; width:auto; height:auto; aspect-ratio:auto; background:none; border-radius:0; padding:0; box-shadow:none; display:inline-block; font-family:'Fira Sans',sans-serif; font-weight:800; font-size:20px; color:var(--ink); letter-spacing:-.01em; text-decoration:none; margin-bottom:5px; }
  .kontakt-group .phone:hover{ color:var(--accent); }
  .kontakt-group .email{ display:block; color:var(--accent); font-weight:600; font-size:15px; text-decoration:none; }
  .kontakt-group .email:hover{ text-decoration:underline; }
  .kontakt-group .note{ font-size:13px; color:#8a857b; margin-top:5px; }
  .field textarea{ width:100%; font-family:inherit; font-size:15px; line-height:1.5; color:var(--ink); background:#faf8f3; border:1px solid transparent; border-radius:12px; padding:13px 15px; resize:vertical; min-height:120px; transition:border-color .15s, box-shadow .15s; }
  .field textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(63,127,104,.14); background:#fff; }
  .ct-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
  .ct-msg{ border-radius:12px; padding:14px 16px; font-size:14.5px; line-height:1.5; margin-bottom:22px; }
  .ct-ok{ background:#e7f1ec; color:#245c46; }
  .ct-err{ background:#f6e7e3; color:#7a3b2e; }

  .field .req{ color:#c0392b; font-weight:700; }

/* ===== GPS seadmed (tootekataloog) ===== */
  .gps{ padding:8px 0 20px; }
  .gps-cat{ margin-bottom:44px; }
  .gps-cat-head{ margin-bottom:20px; }
  .gps-cat-head h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:26px; color:var(--ink); letter-spacing:-.01em; margin-bottom:5px; }
  .gps-cat-head p{ font-size:15px; line-height:1.55; color:#5c6570; }
  .gps-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:20px; }
  .prod{ position:relative; display:flex; flex-direction:column; background:#fff; border:1.5px solid transparent; border-radius:20px; padding:22px 22px 20px; }
  .prod-rec{ border-color:var(--accent); }
  .prod-badge{ position:absolute; top:-1px; right:18px; background:var(--accent); color:#fff; font-size:12px; font-weight:700; padding:5px 12px; border-radius:0 0 10px 10px; }
  .prod-media{ height:184px; border-radius:14px; background:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:16px; overflow:hidden; padding:12px; }
  .prod-media img{ width:100%; height:100%; object-fit:contain; display:block; }
  .prod-media.prod-ph{ background:repeating-linear-gradient(135deg,#f3efe6,#f3efe6 10px,#efeade 10px,#efeade 20px); }
  .prod-code{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:19px; color:var(--ink); letter-spacing:-.01em; }
  .prod-name{ font-weight:500; font-size:15px; color:#5c6570; letter-spacing:0; }
  .prod-tags{ margin-top:8px; }
  .prod-tag{ display:inline-flex; align-items:center; gap:9px; font-size:13px; line-height:1; color:var(--ink); }
  .prod-tag .pin{ flex:none; width:13px; height:13px; margin-top:-3px; }
  .prod-tag .pin::after{ width:4px; height:4px; }
  .prod-desc{ font-size:14px; line-height:1.55; color:#5c6570; margin:10px 0 18px; flex:1 1 auto; }
  .prod-foot{ margin-top:auto; }
  .prod-price{ display:flex; flex-direction:column; gap:2px; margin-bottom:14px; }
  .prod-amt{ font-family:'Fira Sans',sans-serif; font-weight:800; font-size:26px; line-height:1; color:var(--ink); letter-spacing:-.02em; }
  .prod-rent{ font-size:14px; font-weight:600; color:var(--accent); margin-top:3px; }
  .prod-svc{ font-size:12.5px; color:#8a857b; margin-top:4px; line-height:1.5; }
  .prod-svc-amt{ white-space:nowrap; }
  .prod-cta{ display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; background:var(--accent); color:#fff; font-family:inherit; font-weight:700; font-size:14.5px; border-radius:12px; padding:13px 18px; text-decoration:none; transition:filter .15s; }
  

  .gps-install{ background:#e9e2d2; border-radius:24px; padding:46px 48px; display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:center; margin-top:72px; }
  .gps-install-txt h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:26px; color:var(--ink); letter-spacing:-.01em; margin-bottom:10px; }
  .gps-install-txt p{ font-size:15.5px; line-height:1.6; color:#5c6570; }
  .gps-install-rent{ margin-top:12px; font-size:14px; color:#5c6570; }
  .gps-install-rows{ display:flex; flex-direction:column; background:#fff; border-radius:20px; padding:10px 26px 14px; box-shadow:0 22px 44px rgba(21,29,41,.12); }
  .gps-install-price-title{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:15px; color:var(--ink); padding:16px 0 10px; border-bottom:1px solid #efeade; }
  .gps-irow{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 0; border-bottom:1px solid #efeade; }
  .gps-irow:last-child{ border-bottom:none; }
  .gps-ilab{ font-size:14px; color:#5c6570; }
  .gps-ival{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:15px; color:var(--ink); white-space:nowrap; }

  @media (max-width:880px){
    .gps{ padding:0 0 12px; }
    .gps-cat-head h2{ font-size:22px; }
    .gps-grid{ grid-template-columns:1fr; gap:16px; }
    .prod{ padding:18px 16px 16px; }
    .prod-media{ height:150px; }
    .prod-amt{ font-size:23px; }
    .gps-install{ grid-template-columns:1fr; gap:26px; padding:32px 26px; margin-top:40px; }
    .gps-install-txt h2{ font-size:22px; }
  }

/* ===== GPS: filter + ost/rent valik (v1.0.19) ===== */
  .gps-mode{ display:inline-flex; background:#e9e2d2; border-radius:12px; padding:4px; gap:4px; margin-top:18px; }
  .gps-mode-btn{ border:none; cursor:pointer; font-family:inherit; font-weight:600; font-size:14.5px; color:#5c6570; background:transparent; padding:9px 24px; border-radius:9px; transition:background .15s,color .15s; }
  .gps-mode-btn.is-active{ background:#fff; color:var(--ink); }
  .gps-rent-terms{ margin-top:14px; font-size:14px; line-height:1.55; color:#5c6570; background:#fff; border-radius:12px; padding:12px 16px; max-width:640px; }

  .gps-body{ display:grid; grid-template-columns:220px 1fr; gap:36px; align-items:start; }
  .gps-filter{ position:sticky; top:88px; }
  .gps-filter-title{ font-size:13px; font-weight:600; color:#8a857b; margin-bottom:12px; }
  .gps-filter-list{ display:flex; flex-direction:column; gap:6px; }
  .gps-filter-select{ display:none; width:100%; font-family:'Fira Sans',sans-serif; font-size:15px; font-weight:600; color:#fff; background-color:var(--accent); border:none; border-radius:12px; padding:15px 40px 15px 16px; -webkit-appearance:none; appearance:none; cursor:pointer; outline:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 12 12' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; }
  .gps-filter-select:focus{ outline:none; box-shadow:none; }
  .gps-filter-btn{ display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; text-align:left; background:transparent; border:none; cursor:pointer; font-family:inherit; font-weight:600; font-size:15px; color:var(--ink); padding:12px 14px; border-radius:12px; transition:background .15s,color .15s; }
  
  .gps-filter-btn.is-active{ background:var(--accent); color:#fff; }
  .gps-filter-count{ flex:none; font-size:13px; font-weight:600; opacity:.55; }
  .gps-filter-btn.is-active .gps-filter-count{ opacity:.85; }

  .gps-cat{ display:none; margin-bottom:0; }
  .gps-cat.is-active{ display:block; }

  /* ost/rent hinnavaated */
  .prod-p-rent{ display:none; }
  .gps[data-mode="rent"] .prod-p-buy{ display:none; }
  .gps[data-mode="rent"] .prod-p-rent{ display:block; }
  .prod-rent-fb{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:18px; color:var(--ink); }

  @media (max-width:880px){
    .gps-body{ grid-template-columns:1fr; gap:16px; }
    .gps-filter{ position:static; min-width:0; }
    .gps-main{ min-width:0; }
    .gps-body{ overflow-x:hidden; }
    .gps-filter-title{ display:block; margin-bottom:10px; }
    .gps-filter-list{ display:none; }
    .gps-filter-select{ display:block; }
    .gps-mode{ display:flex; width:100%; }
    .gps-mode-btn{ flex:1; text-align:center; }
  }


/* ===== WooCommerce (kohandatud, avalehe stiilis) ===== */
  .wrap-content{ max-width:820px; margin:0 auto; padding:40px 22px; }
  .wrap-content.wc-page{ max-width:1140px; }
  .woocommerce, .woocommerce-page{ font-family:'Fira Sans',sans-serif; color:var(--ink); }
  .wrap-content h1{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:40px; line-height:1.08; color:var(--ink); letter-spacing:-.01em; margin-bottom:24px; }
  .woocommerce h2, .woocommerce h3, .woocommerce-checkout h3{ font-family:'Fira Sans',sans-serif; font-weight:700; color:var(--ink); letter-spacing:-.01em; }
  .woocommerce-checkout h3{ font-size:20px; margin-bottom:14px; }
  /* nupud */
  .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce .button, .woocommerce #respond input#submit, .woocommerce #place_order, .woocommerce-page a.button, .woocommerce-page button.button{ background:var(--accent); color:#fff; border:none; border-radius:12px; font-family:inherit; font-weight:700; font-size:15px; line-height:1.2; padding:13px 22px; cursor:pointer; text-transform:none; transition:filter .15s; text-shadow:none; }
  
  .woocommerce .button.alt, .woocommerce .checkout-button, .woocommerce #place_order{ background:var(--accent); font-size:16px; padding:15px 26px; }
  .woocommerce button[name="update_cart"], .woocommerce button[name="update_cart"]:disabled{ background:#e9e2d2; color:var(--ink); }
  .woocommerce button[name="update_cart"]:hover{ background:#e0d8c6; filter:none; }
  /* tabelid */
  .woocommerce table.shop_table{ border:none; border-radius:16px; background:#fff; border-collapse:separate; border-spacing:0; overflow:hidden; box-shadow:0 10px 30px rgba(21,29,41,.05); margin-bottom:24px; }
  .woocommerce table.shop_table th{ font-family:'Fira Sans',sans-serif; font-weight:700; color:var(--ink); background:#faf8f3; padding:15px 16px; font-size:13.5px; border:none; }
  .woocommerce table.shop_table td{ padding:15px 16px; border-top:1px solid #efeade; color:#3a4350; font-size:15px; }
  .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th{ font-weight:700; color:var(--ink); }
  .woocommerce .cart-collaterals .cart_totals tr td, .woocommerce .cart-collaterals .cart_totals tr th{ border-top:1px solid #efeade; }
  .woocommerce .cart img, .woocommerce-cart .product-thumbnail img{ width:64px; height:auto; border-radius:10px; }
  .woocommerce a.remove{ color:#c0392b!important; font-weight:700; }
  .woocommerce a.remove:hover{ background:#c0392b; color:#fff!important; }
  /* kogus */
  .woocommerce .quantity input.qty{ background:#faf8f3; border:1px solid transparent; border-radius:10px; padding:9px 8px; width:66px; font-family:inherit; font-size:15px; color:var(--ink); }
  /* kupong */
  .woocommerce .cart .actions .coupon .input-text{ background:#faf8f3; border:1px solid transparent; border-radius:10px; padding:12px 14px; font-family:inherit; font-size:15px; }
  /* vormiväljad */
  .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout input.input-text, .woocommerce-checkout textarea, .select2-container--default .select2-selection--single{ background:#faf8f3!important; border:1px solid transparent!important; border-radius:12px!important; padding:13px 15px!important; font-family:inherit; font-size:15px; color:var(--ink); box-shadow:none; line-height:1.3; height:auto; }
  .select2-container--default .select2-selection--single{ height:48px; display:flex; align-items:center; }
  .select2-container--default .select2-selection--single .select2-selection__arrow{ top:12px; }
  .woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus{ outline:none; border-color:var(--accent)!important; box-shadow:0 0 0 3px rgba(63,127,104,.14); background:#fff!important; }
  .woocommerce form .form-row label, .woocommerce-checkout label{ font-family:'Fira Sans',sans-serif; font-weight:600; font-size:14px; color:var(--ink); margin-bottom:6px; }
  .woocommerce form .form-row{ margin-bottom:16px; }
  .woocommerce .required, .woocommerce abbr.required{ color:#c0392b; border:none; }
  /* kassa kaks veergu */
  @media (min-width:881px){
    .woocommerce-checkout #customer_details{ float:left; width:55%; }
    .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review{ float:right; width:42%; }
    .woocommerce-checkout form.checkout::after{ content:""; display:table; clear:both; }
    .woocommerce-checkout #order_review_heading{ margin-top:0; }
  }
  /* tellimuse ülevaade + maksed */
  .woocommerce-checkout #order_review, .woocommerce .cart-collaterals .cart_totals{ background:#fff; border-radius:16px; padding:8px 22px 18px; box-shadow:0 10px 30px rgba(21,29,41,.05); }
  .woocommerce-checkout #order_review table.shop_table{ box-shadow:none; border-radius:0; background:transparent; }
  .woocommerce-checkout #payment{ background:#faf8f3; border-radius:14px; }
  .woocommerce #payment ul.payment_methods{ border-bottom:none; }
  .woocommerce #payment div.payment_box{ background:#fff; color:#5c6570; font-size:14px; }
  .woocommerce #payment div.payment_box::before{ border-bottom-color:#fff; }
  .woocommerce-info, .woocommerce-message, .woocommerce-error{ border-top:none!important; border-radius:12px; padding:14px 16px 14px 44px; font-size:14.5px; line-height:1.5; box-shadow:none; }
  .woocommerce-message{ background:#e7f1ec; color:#245c46; }
  .woocommerce-message::before{ color:#3F7F68; }
  .woocommerce-info{ background:#eef2f6; color:#33414f; }
  .woocommerce-info::before{ color:#5c6570; }
  .woocommerce-error{ background:#f6e7e3; color:#7a3b2e; }
  .woocommerce-error::before{ color:#c0392b; }
  @media (max-width:880px){
    .wrap-content h1{ font-size:30px; }
    .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review{ float:none; width:100%; }
  }


/* ===== Mini-cart riba (off-canvas) ===== */
  .cart-overlay{ position:fixed; inset:0; background:rgba(21,29,41,.4); opacity:0; visibility:hidden; transition:opacity .25s; z-index:200; }
  .cart-overlay.open{ opacity:1; visibility:visible; }
  .cart-drawer{ position:fixed; top:0; right:0; height:100%; width:min(460px,92vw); background:var(--cream); box-shadow:-16px 0 40px rgba(21,29,41,.14); transform:translateX(100%); transition:transform .28s ease; z-index:201; display:flex; flex-direction:column; }
  .cart-drawer.open{ transform:none; }
  .cart-drawer-head{ display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid #e3ddcf; flex:none; }
  .cd-title{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:20px; color:var(--ink); }
  .cart-drawer-close{ background:none; border:none; font-size:28px; line-height:1; color:var(--ink); cursor:pointer; padding:0 4px; }
  .cart-drawer-body{ flex:1; overflow-y:auto; padding:20px 22px 24px; -webkit-overflow-scrolling:touch; }
  .cd-actions{ display:flex; flex-direction:column; gap:10px; margin-top:18px; }
  .cd-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; border:none; cursor:pointer; font-family:inherit; font-weight:700; font-size:15px; border-radius:12px; padding:14px 20px; text-decoration:none; transition:filter .15s,background .15s; }
  .cd-btn-accent{ background:var(--accent); color:#fff; }
  
  .cd-btn-light{ background:#fff; color:var(--ink); }
  
  .cd-back{ background:none; border:none; color:var(--accent); font-family:inherit; font-weight:600; font-size:14px; cursor:pointer; padding:0 0 14px; }
  body.cart-open{ overflow:hidden; }
  .cart-drawer .woocommerce-mini-cart{ list-style:none; margin:0; padding:0; }
  .cart-drawer .woocommerce-mini-cart__buttons{ display:none; }
  .cart-drawer .woocommerce-mini-cart-item{ display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #e3ddcf; }
  .cart-drawer .woocommerce-mini-cart-item a:not(.remove){ color:var(--ink); font-weight:600; font-size:14.5px; text-decoration:none; }
  .cart-drawer .woocommerce-mini-cart-item img{ width:52px; height:auto; border-radius:8px; order:-1; }
  .cart-drawer .woocommerce-mini-cart__total{ display:flex; justify-content:space-between; font-family:'Fira Sans',sans-serif; font-weight:700; font-size:16px; color:var(--ink); padding:16px 0 0; border-top:1px solid #e3ddcf; margin-top:6px; }
  .cart-drawer a.remove{ color:#c0392b!important; font-weight:700; }
  .cart-drawer .woocommerce-mini-cart__empty-message{ color:#5c6570; font-size:15px; padding:10px 0; }
  .cart-drawer #customer_details, .cart-drawer #order_review, .cart-drawer #order_review_heading, .cart-drawer .col2-set .col-1, .cart-drawer .col2-set .col-2{ float:none!important; width:100%!important; max-width:100%!important; }
  .cart-drawer form.checkout{ display:block; }
  .cart-drawer #order_review, .cart-drawer .cart_totals{ box-shadow:none; padding:0; }
  .cart-drawer #payment{ background:#fff; }
  @media (max-width:880px){ .cart-drawer{ width:100vw; } }


/* ===== Ostukorvi loendur (ikoonil) ===== */
  .navright a.search{ position:relative; }
  .pt-cart-count{ position:absolute; top:-3px; right:-3px; min-width:19px; height:19px; padding:0 5px; border-radius:10px; background:var(--accent); color:#fff; font-family:'Fira Sans',sans-serif; font-size:11px; font-weight:700; line-height:19px; text-align:center; display:none; box-sizing:border-box; }
  .pt-cart-count.has{ display:block; }

/* ===== WooCommerce bold normaliseerimine (lehe stiili järgi) ===== */
  .woocommerce strong, .woocommerce b, .woocommerce-checkout strong, .cart-drawer strong, .cart-drawer b{ font-weight:600; }
  .cart-drawer .woocommerce-mini-cart__total{ font-weight:600; }
  .cart-drawer .woocommerce-mini-cart__total strong, .cart-drawer .woocommerce-mini-cart__total .amount, .cart-drawer .woocommerce-mini-cart__total bdi{ font-weight:700; }
  .woocommerce table.shop_table th{ font-weight:600; }
  .woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td, .woocommerce .order-total .amount, .woocommerce .order-total th, .woocommerce .order-total bdi{ font-weight:700; }
  .woocommerce-checkout h3, .cart-drawer .cd-title{ font-weight:700; }


/* ===== Mini-cart parandused ===== */
  .gps .added_to_cart, .prod .added_to_cart{ display:none !important; }
  .cart-drawer .woocommerce-mini-cart{ border:none; }
  .cart-drawer .woocommerce-mini-cart-item, .cart-drawer li.mini_cart_item{ position:relative; display:flex; align-items:center; gap:14px; padding:16px 0; border:none; border-bottom:1px solid #e3ddcf; }
  .cart-drawer li.mini_cart_item:last-child{ border-bottom:none; }
  .cart-drawer .mini_cart_item > a:not(.remove){ order:1; display:flex; align-items:center; gap:14px; flex:1; min-width:0; color:var(--ink); font-family:'Fira Sans',sans-serif; font-weight:600; font-size:14.5px; text-decoration:none; }
  .cart-drawer .mini_cart_item img{ width:60px; height:60px; object-fit:contain; background:#fff; border-radius:10px; padding:6px; flex:none; order:-1; box-sizing:border-box; }
  .cart-drawer .mini_cart_item .quantity{ order:2; color:#5c6570; font-family:'Fira Sans',sans-serif; font-weight:500; font-size:14px; white-space:nowrap; }
  .cart-drawer .mini_cart_item a.remove{ order:3; position:static; width:20px; height:20px; line-height:18px; text-align:center; font-size:16px; color:#c0392b !important; flex:none; }
  .cart-drawer .woocommerce-mini-cart__total{ display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid #e3ddcf; margin-top:4px; padding-top:16px; }
  .cart-drawer .woocommerce-mini-cart__total, .cart-drawer .woocommerce-mini-cart__total *{ font-family:'Fira Sans',sans-serif !important; font-weight:600 !important; color:var(--ink) !important; font-size:16px; }


/* ===== Kassa iframe drawer sees + embed-vaade ===== */
  .cart-drawer-body{ display:flex; flex-direction:column; }
  .cart-drawer .cd-view[hidden]{ display:none !important; }
  .cd-cart{ flex:none; }
  .cd-checkout{ flex:1; flex-direction:column; min-height:0; margin:0 -22px -24px; }
  .cd-checkout:not([hidden]){ display:flex; }
  .cd-checkout .cd-back{ padding:2px 22px 12px; }
  .cd-frame{ flex:1; width:100%; border:none; min-height:0; background:var(--cream); }
  .pt-embed nav, .pt-embed .site-footer, .pt-embed .cart-drawer, .pt-embed .cart-overlay{ display:none !important; }
  .pt-embed .wrap{ padding:16px 18px !important; max-width:100% !important; }
  .pt-embed .wrap-content{ padding:0 !important; max-width:100% !important; }
  .pt-embed .wrap-content > h1{ display:none !important; }
  body.pt-embed{ background:var(--cream); }


/* ===== Kassa detailid brändi järgi (kupong, tellimuse tabel, maksed) ===== */
  .wc-page .woocommerce a, .woocommerce form.checkout a, .woocommerce-checkout-payment a{ color:var(--accent); }
  .woocommerce-info{ background:#faf8f3 !important; color:#5c6570 !important; }
  .woocommerce-info::before{ color:var(--accent) !important; }
  .woocommerce-info a{ color:var(--accent) !important; font-weight:600; }
  .woocommerce form.checkout_coupon{ background:#fff; border:none; border-radius:14px; box-shadow:0 8px 24px rgba(21,29,41,.05); }
  .woocommerce form.checkout_coupon .input-text{ background:#faf8f3; border:1px solid transparent; border-radius:10px; padding:12px 14px; font-family:'Fira Sans',sans-serif; }
  .woocommerce-checkout #order_review{ background:#fff; border-radius:16px; padding:22px 22px 24px; box-shadow:0 10px 30px rgba(21,29,41,.05); }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table{ background:transparent; box-shadow:none; border:none; border-radius:0; margin:0; }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table th, .woocommerce-checkout table.woocommerce-checkout-review-order-table td{ border:none; background:transparent; padding:12px 0; font-family:'Fira Sans',sans-serif; font-size:14.5px; color:var(--ink); }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table thead th{ border-bottom:1px solid #e3ddcf; padding-bottom:12px; font-size:12.5px; font-weight:600; color:#8a857b; text-transform:none; }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tbody .cart_item td{ border-bottom:1px solid #efeade; color:#5c6570; }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th, .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td{ font-weight:600; }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot .cart-subtotal th, .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot .cart-subtotal td{ border-top:1px solid #e3ddcf; }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot .order-total th, .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot .order-total td{ font-size:17px; font-weight:700; }
  .woocommerce-checkout #payment{ background:#faf8f3; border-radius:14px; }
  .woocommerce-checkout #payment ul.payment_methods{ border-bottom:1px solid #e3ddcf; }
  .woocommerce-checkout #payment label{ font-family:'Fira Sans',sans-serif; font-weight:600; color:var(--ink); }
  .woocommerce-checkout #payment div.payment_box{ background:#fff; color:#5c6570; font-size:13.5px; border-radius:10px; }
  .woocommerce-checkout #payment div.payment_box::before{ border-bottom-color:#fff; }
  .woocommerce-checkout .woocommerce-privacy-policy-text p{ font-size:13px; color:#8a857b; line-height:1.55; }

  /* Brändi aktsent radio/checkbox nuppudel (ei kasuta sinist) */
  .woocommerce-checkout input[type=radio],
  .woocommerce-checkout input[type=checkbox]{ accent-color: var(--accent); }

  /* Kassa arveldusvaljad 2 veergu (nagu ees-/perekonnanimi, koigil laiustel) */
  .woocommerce-checkout #billing_address_1_field,
  .woocommerce-checkout #billing_postcode_field,
  .woocommerce-checkout #billing_phone_field{ float:left; clear:both; width:47%; }
  .woocommerce-checkout #billing_address_2_field,
  .woocommerce-checkout #billing_city_field,
  .woocommerce-checkout #billing_email_field{ float:right; clear:right; width:47%; }
  /* Tellimuse tabel: summad paremasse aarde, uksik joon (mitte topelt) */
  .woocommerce-checkout table.woocommerce-checkout-review-order-table thead th:last-child,
  .woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total,
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td{ text-align:right; }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr.cart_item td{ border-bottom-color:#e3ddcf; }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td{ border-top:0; }

  /* Korter-vali (address_2, sildita) joondub Tanav-valjaga - nahtamatu silt-vahe */
  .woocommerce-checkout #billing_address_2_field label.screen-reader-text{
    position:static !important; width:auto !important; height:auto !important;
    clip:auto !important; clip-path:none !important; margin:0 0 6px !important;
    white-space:nowrap; overflow:hidden; font-size:0 !important; line-height:28px; min-height:28px;
  }

  /* Paigalduse-plokk: reavahed ja vahe makseploki ees */
  .woocommerce-checkout .pt-install-lab{ line-height:1.5; }
  .woocommerce-checkout .pt-install-note{ line-height:1.55; margin-top:6px; }
  .woocommerce-checkout .pt-install-opt{ margin-bottom:26px; }
  /* Markuste tekstivali reavahe */
  .woocommerce-checkout #order_comments{ line-height:1.55; }
  .woocommerce-checkout #order_comments::placeholder{ line-height:1.55; }

  /* Kupongi laiendatud vorm: ilma valge kastita (kergem) */
  .woocommerce-checkout form.checkout_coupon{
    background:transparent !important; box-shadow:none !important; border:0 !important;
    border-radius:0 !important; padding:0 !important; margin:0 0 20px !important;
  }

  /* Mini-cart eemalda-nupp (x) punase ringiga; ei kasti toote umber */
  .cart-drawer .mini_cart_item,
  .cart-drawer .mini_cart_item:focus,
  .cart-drawer .mini_cart_item:focus-within,
  .cart-drawer .woocommerce-mini-cart-item,
  .cart-drawer .woocommerce-mini-cart-item:focus{ outline:0 !important; box-shadow:none !important; }
  .cart-drawer a.remove.remove_from_cart_button{
    display:flex; align-items:center; justify-content:center;
    width:22px; height:22px; padding:0; box-sizing:border-box;
    border:1.5px solid #c0392b; border-radius:50%;
    color:#c0392b !important; background:transparent !important;
    font-size:13px; line-height:1; text-decoration:none; outline:0;
  }
  .cart-drawer a.remove.remove_from_cart_button:hover,
  .cart-drawer a.remove.remove_from_cart_button:focus{
    background:#c0392b !important; color:#fff !important; border-color:#c0392b;
  }

  /* Ei naita blockUI halli overlayd mini-cartis eemaldamise ajal */
  .cart-drawer .blockUI,
  .cart-drawer .blockUI.blockOverlay,
  .cart-drawer .blockUI.blockMsg{ display:none !important; opacity:0 !important; }

  /* Riik/piirkond (Select2) fookus/avatud brandi jargi (ei sinist) */
  .woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,
  .woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single{
    background:#faf8f3 !important; border-color:var(--accent) !important;
    outline:none !important; box-shadow:none !important;
  }
  body.woocommerce-checkout .select2-dropdown,
  body.pt-embed .select2-dropdown{ background:#faf8f3 !important; border:1px solid var(--accent) !important; border-radius:10px !important; overflow:hidden; }
  body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
  body.pt-embed .select2-container--default .select2-results__option--highlighted[aria-selected]{ background:var(--accent) !important; color:#fff !important; }
  body.woocommerce-checkout .select2-search--dropdown .select2-search__field,
  body.pt-embed .select2-search--dropdown .select2-search__field{ border:1px solid #e3ddcf !important; border-radius:8px !important; outline:none !important; background:#fff; }

  /* Kupongi sisend: ilma valise aariseta igas olekus; link ilma allajoonimiseta */
  .woocommerce-checkout form.checkout_coupon #coupon_code,
  .woocommerce-checkout form.checkout_coupon #coupon_code:focus,
  .woocommerce-checkout form.checkout_coupon .input-text,
  .woocommerce-checkout form.checkout_coupon .input-text:focus{
    background:#faf8f3 !important; border:1px solid transparent !important;
    box-shadow:none !important; outline:none !important;
  }
  .woocommerce-checkout a.showcoupon,
  .woocommerce-info a.showcoupon,
  .woocommerce-checkout a.showcoupon:hover,
  .woocommerce-info a.showcoupon:hover{ text-decoration:none !important; }

  /* ===== Meist leht ===== */
  .page-id-150 main.wrap-content{ max-width:none; margin:0; padding:0; box-sizing:border-box; }
  .page-id-150 main.wrap-content > h1{ display:none; }
  .meist{ display:flex; flex-direction:column; gap:72px; padding:0 0 16px; }

  .meist-hero{ background:#151D29; border-radius:26px; padding:48px 56px; display:grid; grid-template-columns:1fr 380px; gap:48px; align-items:center; }
  .meist-kicker{ display:none; }
  .meist-hero-text h1{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:40px; line-height:1.14; color:#fff; margin:0 0 20px; }
  .meist-hero-text p{ font-size:16px; line-height:1.6; color:rgba(255,255,255,0.82); margin:0; }
  .meist-hero-fig{ margin:0; }
  .meist-hero-fig .meist-photo{ width:100%; height:440px; object-fit:cover; object-position:center 22%; border-radius:18px; display:block; }
  .meist-hero-fig figcaption{ margin-top:12px; font-size:14px; color:rgba(255,255,255,0.7); }

  .meist-story{ display:flex; justify-content:center; padding:26px 0 6px; }
  .meist-story-col{ max-width:760px; }
  .meist-story-col p{ font-size:16px; line-height:1.75; color:#2c333c; margin:0 0 20px; }
  .meist-story-col .meist-quote{ font-family:'Fira Sans',sans-serif; font-size:26px; line-height:1.4; font-weight:700; color:var(--ink); margin:32px 0; }

  .meist-offer{ background:#E9E2D2; border-radius:24px; padding:50px 56px; }
  .meist-offer h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:30px; color:var(--ink); margin:0 0 16px; }
  .meist-offer-head{ max-width:840px; }
  .meist-offer-head p{ font-size:16px; line-height:1.72; color:#3a4048; margin:0; }
  .meist-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:40px; }
  .meist-stat{ display:flex; flex-direction:column; gap:8px; }
  .meist-stat-n{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:32px; line-height:1; color:var(--accent); }
  .meist-stat-l{ font-size:15px; line-height:1.4; color:#5c6570; }

  .meist-goal{ background:var(--accent); border-radius:26px; padding:52px 56px; }
  .meist-goal > h2{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:30px; color:#fff; margin:0 0 34px; }
  .meist-goal-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px; }
  .meist-goal-item h3{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:19px; color:#fff; margin:0 0 10px; }
  .meist-goal-item p{ font-size:15.5px; line-height:1.62; color:rgba(255,255,255,0.9); margin:0; }

  @media (max-width:900px){
    .meist-hero{ grid-template-columns:1fr; gap:26px; padding:30px 22px; }
    .meist-hero-text h1{ font-size:29px; }
    .meist-hero-fig{ max-width:340px; }
    .meist-story-col .meist-quote{ font-size:21px; }
    .meist-offer, .meist-goal{ padding:30px 22px; }
    .meist-stats, .meist-goal-grid{ grid-template-columns:1fr; gap:22px; }
  }

/* Ost/rent teenusemärkus */
.gps[data-mode="rent"] .prod-svc-buy{display:none;}
.gps[data-mode="buy"] .prod-svc-rent{display:none;}

/* Meist loo vahed - ühtne 72px */
.meist-story{padding:0;}
.meist-story-col>p:first-child{margin-top:0;}
.meist-story-col>p:last-child{margin-bottom:0;}

/* Meist hero taustaefekt (pehme lint) */
.meist-hero{position:relative;overflow:hidden;}
.meist-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.meist-hero-bg svg{width:100%;height:100%;display:block;}
.meist-hero-text,.meist-hero-fig{position:relative;z-index:1;}

/* Meist mobiil - vahed nagu avalehel + laiem/lühem hero-pilt */
@media (max-width:900px){
  .meist{gap:48px;padding-bottom:0;}
  .meist-hero-fig{max-width:none;}
  .meist-hero-fig .meist-photo{height:auto;}
}

/* Meist eesmärgi-kaardi ikoonid */
.meist-goal-ico{height:46px;margin:0 0 16px;display:flex;align-items:flex-end;}
.meist-goal-ico svg{height:44px;width:auto;color:#fff;}


/* prod klikitav kaart (klikk JS-iga) */
.prod{cursor:pointer;}

/* minicart pildi laius (spetsiifilisus ule WC vaikereegli) */
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item img{ width:52px; height:52px; object-fit:contain; float:none; }

/* minicart clearfix pseudo eemaldus (kaotab vasaku taande) + peida Vaata ostukorvi */
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item::before,
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item::after{ display:none; }
.sp-buy .added_to_cart{ display:none; }

/* WC primaarnupp brändivärv (Mine maksma / .button.alt) */
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce .wc-proceed-to-checkout a.checkout-button{background:var(--accent,#3F7F68);color:#fff;border-radius:12px;}


/* Kassa lamedaks: uks beez paneel, ei kasti-kihte (kooskolas brandi lamedate kaartidega) */
.woocommerce #order_review,.woocommerce-checkout #order_review{background:var(--beige,#E9E2D2);box-shadow:none;border:0;}
.woocommerce #payment,.woocommerce-checkout #payment{background:transparent;border-radius:0;}
.woocommerce #payment ul.wc_payment_methods{border-top:1px solid var(--line,#dcd4c4);margin-top:4px;}
.woocommerce #payment div.payment_box,.woocommerce-checkout #payment div.payment_box{background:transparent !important;border-radius:0 !important;box-shadow:none !important;padding-left:0;margin-left:0;color:#3a4552;}
.woocommerce #payment div.payment_box::before,.woocommerce-checkout #payment div.payment_box::before{display:none !important;}

/* Kassa natiivne select sama stiil kui tekstiväli + mahe tärn */
.woocommerce-checkout select:not(.select2-hidden-accessible),.woocommerce form .form-row select:not(.select2-hidden-accessible){background:#faf8f3;border:1px solid transparent;border-radius:12px;padding:13px 15px;min-height:47.5px;line-height:1.4;font:inherit;color:var(--ink,#16202B);}
.woocommerce form .form-row .required,.woocommerce .required,.woocommerce-checkout abbr.required{color:var(--slate,#7E8CA8);border:0;text-decoration:none;}


/* ProTrackEst kassa/minicart/tootekaart parandused v1.1.1 */
.woocommerce form .form-row .required,.woocommerce .required,.woocommerce-checkout abbr.required,.woocommerce-checkout .required{color:#d63638!important;border:0;text-decoration:none;}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{top:0;bottom:0;height:auto;right:10px;}
.sp-buy .added_to_cart,.sp-buy a.added_to_cart{display:none!important;}
.cart-drawer .woocommerce-mini-cart-item{flex-wrap:wrap;}
.cart-drawer .woocommerce-mini-cart-item dl.variation{order:5;width:100%;flex-basis:100%;margin:2px 0 0 0;padding:0;border:0!important;font-size:12px;color:#6b7480;}
.cart-drawer .woocommerce-mini-cart-item dl.variation dt{display:none;}
.cart-drawer .woocommerce-mini-cart-item dl.variation dd{display:inline;margin:0;}


/* ProTrackEst kaardi tootenimi */
.prod .prod-code{font-size:13px;font-weight:600;color:var(--slate,#7E8CA8);letter-spacing:0;margin-bottom:2px;}
.prod .prod-name{font-family:'Fira Sans',sans-serif;font-size:19px;font-weight:700;color:var(--ink,#16202B);letter-spacing:0;margin:0 0 6px;}


/* ProTrackEst ariklient seadme pilt */
.ac-dev-left{display:flex;align-items:center;gap:14px;min-width:0;}
.ac-dev-img{width:64px;height:64px;background:#fff;border-radius:12px;flex:0 0 auto;padding:8px;box-sizing:border-box;overflow:hidden;display:inline-flex;}
.ac-dev-photo{width:100%;height:100%;object-fit:contain;display:block;transform-origin:center center;}

.cat-btn svg{vertical-align:-2px;}


.pt-txt-link{color:var(--accent);font-weight:700;text-decoration:none;}
.pt-txt-link:hover{text-decoration:underline;}
.pt-txt-link svg{vertical-align:-2px;margin-left:2px;}

/* Touch: eemalda hover nuppudelt (väldi kleepuvat hoverit) */
@media (hover: hover){
  .btn-login:hover{ background:var(--ink); color:#fff; }
  .cat-btn:hover{ filter:brightness(1.08); }
  .cta-btn:hover{ background:#f1ede4; }
  .btn-ctareg:hover{ filter:brightness(.93); }
  .btn-submit:hover{ filter:brightness(1.08); }
  .prod-cta:hover{ filter:brightness(1.08); }
  .gps-filter-btn:hover{ background:#fff; }
  .cd-btn-accent:hover{ filter:brightness(1.08); }
  .cd-btn-light:hover{ background:#f1ede4; }
  .help-btn:hover{ background:#f1ede4; }
  .pfoot-btn:hover{ filter:brightness(1.07); }
  .appbadge:hover{ filter:brightness(1.18); }
  .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce .button:hover, .woocommerce #place_order:hover, .woocommerce .button.alt:hover{ background:var(--accent); filter:brightness(1.08); color:#fff; }
  .woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{background:#356b58;color:#fff;}
}

/* Kassa checkboxid (noustumine + paigaldus): suuremad, joondatud uhele reale */
.woocommerce-checkout #terms,
.woocommerce-checkout #pt_install{ width:20px; height:20px; margin:0 9px 0 0; flex:0 0 auto; accent-color:var(--accent); cursor:pointer; }
.woocommerce-checkout .form-row .woocommerce-form__label-for-checkbox.checkbox,
.woocommerce-checkout .pt-install-lab{ display:inline-flex; align-items:center; justify-content:flex-start; gap:0; font-size:15px; line-height:1.35; cursor:pointer; max-width:100%; }
.woocommerce-checkout .form-row .woocommerce-form__label-for-checkbox.checkbox{ flex-wrap:nowrap; white-space:nowrap; }
@media(max-width:420px){ .woocommerce-checkout .form-row .woocommerce-form__label-for-checkbox.checkbox{ white-space:normal; font-size:14px; } }
.woocommerce-checkout .form-row .woocommerce-form__label-for-checkbox.checkbox .required{ margin:0 0 0 3px !important; order:0; }

/* Minicart: tellimuse rida pealkirja lahedale (pilt vasakule absoluutseks) */
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item{ position:relative; align-items:flex-start; padding-left:66px; padding-right:28px; }
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item a.remove.remove_from_cart_button{ position:absolute !important; top:12px; right:0; margin:0 !important; order:0; }
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item a:not(.remove){ display:block; width:100%; }
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item a:not(.remove) img{ position:absolute; left:0; top:14px; width:52px; height:52px; margin:0; }
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item dl.variation{ order:1 !important; width:100%; margin:2px 0 0 !important; }
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item .quantity{ order:2; width:100%; }

/* Kassa makseviisi kirjelduse vahe */
.woocommerce #payment div.payment_box{ margin:1px 0 0 !important; padding:2px 12px 2px 0 !important; }
.woocommerce #payment div.payment_box p{ margin:0 !important; }

/* Kassa: joonda makseviisid + noustumine vasaku servaga (ulejaanuga uhele joonele) */
.woocommerce-checkout #payment ul.payment_methods{ padding-left:0 !important; }
.woocommerce-checkout #payment ul.payment_methods li{ padding-left:0 !important; margin-left:0 !important; }
.woocommerce-checkout #payment .form-row{ padding-left:0 !important; }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper p.form-row,
.woocommerce-checkout #payment .woocommerce-privacy-policy-text{ padding-left:0 !important; margin-left:0 !important; }

/* Kassa raadionupud suuremaks + joondus, Soovin paigaldust allapoole */
.woocommerce-checkout #payment input[type=radio]{ width:19px; height:19px; margin:0 9px 0 0; accent-color:var(--accent); vertical-align:middle; }
.woocommerce-checkout #payment ul.payment_methods li label{ vertical-align:middle; font-size:15px; }
.woocommerce-checkout .pt-install-opt{ margin-top:10px; }


/* ---------------- Kasutustingimused ---------------- */
.pt-terms{padding:64px 24px 24px}.pt-terms-sec:last-child{margin-bottom:0}
.pt-terms-col{max-width:760px;margin:0 auto}
.pt-terms-title{font-size:38px;font-weight:700;line-height:1.15;color:#16202b;margin:0 0 28px}
.pt-terms-intro{font-size:16px;line-height:1.75;color:#2c333c;margin:0 0 30px}
.pt-terms-sec{margin:0 0 34px}
.pt-terms-h{font-size:24px;font-weight:700;line-height:1.3;color:#16202b;margin:0 0 12px}
.pt-terms-sec p{font-size:16px;line-height:1.75;color:#2c333c;margin:0 0 14px}
.pt-terms-sec p:last-child{margin-bottom:0}
.pt-terms a,.pt-terms a.pt-txt-link{color:var(--accent,#1f7a5a);text-decoration:none}
@media(max-width:820px){.pt-terms{padding:40px 18px 56px}.pt-terms-title{font-size:30px}.pt-terms-h{font-size:21px}}
.woocommerce-terms-and-conditions-checkbox-text a{text-decoration:none}
.gps-filter-btn.is-active:hover{background:var(--accent)}

.cart-drawer ul.cart_list li.woocommerce-mini-cart-item a:not(.remove) img{top:50%!important;transform:translateY(-50%)!important}

.guide-link{display:none!important}

/* Minicart rida tihedamaks (13.10) */
.cart-drawer li.mini_cart_item{row-gap:4px !important}

/* LHV makse-vidin: eemalda fieldset-aar + beez raam (13.10) */
#lhv_sdk-form{border:0 !important;padding:0;margin:0;min-width:0}
.payment_method_lhv_sdk .payment_box{background:#faf8f3 !important;border-radius:14px;padding:10px !important}

/* -------------------- Tellimus vastu voetud (thankyou) -------------------- */
.pt-ty{ max-width:720px; margin:0 auto; padding:40px 0 0; }
.pt-ty-head{ text-align:center; margin-bottom:32px; }
.pt-ty-check{ display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:var(--accent); margin-bottom:18px; }
.pt-ty-head h1{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:clamp(26px,3.2vw,34px); line-height:1.2; color:var(--ink); letter-spacing:-.01em; margin:0 0 12px; }
.pt-ty-head p{ font-size:16px; line-height:1.6; color:#5c6570; max-width:480px; margin:0 auto; }
.pt-ty-failed h1{ color:#b23b3b; }
.pt-ty-meta{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#e7e1d4; border:1px solid #e7e1d4; border-radius:14px; overflow:hidden; margin-bottom:26px; }
.pt-ty-meta-item{ background:#faf8f3; padding:15px 18px; display:flex; flex-direction:column; gap:5px; }
.pt-ty-meta-item span{ font-size:12.5px; color:#8a8575; }
.pt-ty-meta-item strong{ font-size:15px; font-weight:600; color:var(--ink); }
@media(max-width:620px){ .pt-ty-meta{ grid-template-columns:1fr 1fr; } }
.pt-ty-note{ display:flex; align-items:flex-start; gap:12px; background:#faf8f3; border-radius:14px; padding:15px 18px; margin-bottom:30px; }
.pt-ty-note .pin{ margin-top:5px; flex:none; }
.pt-ty-note p{ font-size:14.5px; line-height:1.55; color:#4a5059; margin:0; }
.pt-ty .woocommerce-order-details__title,
.pt-ty .woocommerce-column__title{ font-family:'Fira Sans',sans-serif; font-weight:700; font-size:19px; color:var(--ink); margin:6px 0 14px; }
.pt-ty table.woocommerce-table--order-details{ width:100%; border-collapse:collapse; background:#faf8f3; border-radius:14px; overflow:hidden; font-size:15px; }
.pt-ty table.woocommerce-table--order-details th,
.pt-ty table.woocommerce-table--order-details td{ padding:13px 18px; text-align:left; border:none; }
.pt-ty table.woocommerce-table--order-details thead th{ font-size:12.5px; color:#8a8575; font-weight:600; border-bottom:1px solid #e7e1d4; }
.pt-ty table.woocommerce-table--order-details tbody tr+tr td{ border-top:1px solid #efe9dd; }
.pt-ty table.woocommerce-table--order-details td.woocommerce-table__product-total,
.pt-ty table.woocommerce-table--order-details th.woocommerce-table__product-total,
.pt-ty table.woocommerce-table--order-details tfoot td{ text-align:right; }
.pt-ty table.woocommerce-table--order-details tfoot th{ text-align:left; font-weight:600; color:#4a5059; border-top:1px solid #e7e1d4; }
.pt-ty table.woocommerce-table--order-details tfoot tr:last-child th,
.pt-ty table.woocommerce-table--order-details tfoot tr:last-child td{ font-size:17px; color:var(--ink); font-weight:700; }
.pt-ty .includes_tax{ display:block; font-size:12px; font-weight:400; color:#8a8575; }
.pt-ty .wc-item-meta{ margin:4px 0 0; padding:0; list-style:none; font-size:13px; color:#8a8575; }
.pt-ty-btn{ display:inline-flex; align-items:center; justify-content:center; background:var(--accent); color:#fff; font-weight:700; font-size:15px; border-radius:12px; padding:13px 22px; text-decoration:none; transition:filter .15s; }
.pt-ty-btn:hover{ filter:brightness(.95); }
.pt-ty-btn--ghost{ background:transparent; color:var(--ink); border:1.5px solid #d9d2c4; }
.pt-ty-actions{ display:flex; gap:12px; justify-content:center; margin-top:8px; }
.pt-ty .woocommerce-customer-details{ display:none; }

/* Thankyou - responsive / ulelaiuse parandus */
.pt-ty{ width:100%; box-sizing:border-box; }
.pt-ty-meta{ grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.pt-ty table.woocommerce-table--order-details{ table-layout:fixed; }
.pt-ty table.woocommerce-table--order-details th,
.pt-ty table.woocommerce-table--order-details td{ overflow-wrap:anywhere; word-break:break-word; }
.pt-ty table.woocommerce-table--order-details th:first-child,
.pt-ty table.woocommerce-table--order-details td:first-child{ width:62%; }

/* Ostukorvi-draweri rea ohk: rida piisavalt korge, pilt vertikaalselt keskel */
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item{ min-height:84px; box-sizing:border-box; }
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item a:not(.remove) img{ top:50%; transform:translateY(-50%); }
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item{ align-content:center; row-gap:4px; }
.cart-drawer li.pt-mc-fee{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:12px 0; border-bottom:1px solid #e3ddcf; font-family:'Fira Sans',sans-serif; font-size:14px; color:#5c6570; }
.cart-drawer li.pt-mc-fee span:last-child{ color:var(--ink); font-weight:600; white-space:nowrap; }
.cart-drawer ul.cart_list li.woocommerce-mini-cart-item a.remove.remove_from_cart_button{ top:50% !important; transform:translateY(-50%); }
.cart-drawer li.pt-mc-fee{ border:0 !important; padding:12px 0 0 !important; margin:0 !important; width:100%; text-align:left; }
.cart-drawer li.pt-mc-fee span:first-child{ flex:1; }
.cart-drawer li.pt-mc-fee{ padding:12px 0 !important; }
.cart-drawer li.pt-mc-fee span{ margin:0; padding:0; }
.cart-drawer li.pt-mc-fee{ padding:14px 0 10px !important; }
.cart-drawer li.pt-mc-fee{ gap:0 !important; }
.cart-drawer li.pt-mc-fee::before, .cart-drawer li.pt-mc-fee::after{ content:none !important; display:none !important; }

/* Keelevaheti lingid: sama stiil nagu tekst */
.lang a, .menu-lang a{ color:inherit; text-decoration:none; }
.lang a:hover, .menu-lang a:hover{ color:var(--accent); }
