/* shared.css — manolasnicolas.gr */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',sans-serif;font-weight:400;color:#1c1c1a;background:#f9f8f5;line-height:1.65;-webkit-font-smoothing:antialiased}
:root{--navy:#0d2137;--navy2:#1a3a5c;--gold:#b48a36;--gold-lt:#e8d49a;--cream:#f9f8f5;--warm:#f2ede4;--white:#ffffff;--text:#1c1c1a;--muted:#6a665e;--border:#ddd8ce;--r:6px;--rL:10px}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--cream)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:200;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:rgba(13,33,55,0.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(180,138,54,0.18)}
.nav-brand .n1{font-family:'Playfair Display',serif;font-size:14.5px;color:#fff;display:block;font-weight:400}
.nav-brand .n2{font-size:10.5px;color:rgba(255,255,255,.45);letter-spacing:1.2px;text-transform:uppercase;display:block;margin-top:2px}
#navlinks{display:flex;list-style:none;gap:26px}
#navlinks a{color:rgba(255,255,255,.7);text-decoration:none;font-size:13px;transition:color .2s}
#navlinks a:hover{color:var(--gold-lt)}
.nav-tel{color:var(--gold-lt);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.3px;border:1px solid rgba(180,138,54,.35);padding:7px 16px;border-radius:4px;transition:background .2s}
.nav-tel:hover{background:rgba(180,138,54,.15)}
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}
.ham span{display:block;width:20px;height:1.5px;background:#fff}
#mmenu{display:none;position:fixed;top:64px;left:0;right:0;background:var(--navy);padding:24px 6%;border-bottom:1px solid rgba(255,255,255,.08);z-index:199;flex-direction:column;gap:14px}
#mmenu.open{display:flex}
#mmenu a{color:rgba(255,255,255,.75);text-decoration:none;font-size:15px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06)}

/* HERO */
#hero{padding:130px 6% 90px;background:var(--navy);position:relative;overflow:hidden;min-height:560px;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 80% 50%,rgba(180,138,54,.07) 0%,transparent 70%);pointer-events:none}
.hero-content{max-width:660px;position:relative;z-index:1}
.hero-ey{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:400;margin-bottom:22px}
.hero-ey::before{content:'';display:block;width:24px;height:1px;background:var(--gold)}
#hero h1{font-family:'Playfair Display',serif;font-size:clamp(30px,4.5vw,54px);color:#fff;line-height:1.13;margin-bottom:22px;font-weight:600}
#hero h1 em{font-style:italic;color:var(--gold-lt);font-weight:400}
.hero-lead{font-size:15.5px;color:rgba(255,255,255,.72);max-width:420px;margin-bottom:16px;font-weight:400;line-height:1.85}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-p{background:var(--gold);color:#fff;padding:13px 26px;border-radius:4px;text-decoration:none;font-size:13.5px;font-weight:500;display:inline-block;transition:opacity .2s}
.btn-p:hover{opacity:.85}
.btn-o{background:transparent;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.22);padding:12px 26px;border-radius:4px;text-decoration:none;font-size:13.5px;display:inline-block;transition:border-color .2s,color .2s}
.btn-o:hover{border-color:rgba(255,255,255,.55);color:#fff}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:44px}
.hero-tag{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.55);font-size:11.5px;padding:5px 13px;border-radius:20px}

/* TRUST */
#trust{background:var(--warm);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 6%}
.trust-row{display:flex;justify-content:center;gap:36px;flex-wrap:wrap}
.ti{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted)}
.ti b{color:var(--text);font-weight:500}
.tsep{color:var(--border);font-size:20px;font-weight:100}

/* SECTIONS */
.sec{padding:76px 6%}
.sec-w{background:var(--warm)}
.sh{text-align:center;margin-bottom:52px}
.sh .ey{display:inline-block;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-weight:500}
.sh h2{font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,36px);color:var(--navy);line-height:1.2;font-weight:600}
.sh p{font-size:14.5px;color:var(--muted);margin-top:12px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.7}

/* SERVICES */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:0;border:1px solid var(--border);border-radius:var(--rL);overflow:hidden;background:var(--border)}
.svc-card{background:var(--white);padding:30px 26px;transition:background .15s;display:flex;flex-direction:column;gap:12px}
.svc-card:hover{background:var(--cream)}
.svc-num{font-size:12px;letter-spacing:2px;color:var(--gold);font-weight:500;text-transform:uppercase}
.svc-card h3{font-size:15px;font-weight:500;color:var(--navy)}
.svc-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:5px}
.svc-card li{font-size:13.5px;color:var(--muted);padding-left:14px;position:relative;line-height:1.6}
.svc-card li::before{content:'–';position:absolute;left:0;color:var(--gold)}
.pill-ul li{font-size:13.5px;color:rgba(255,255,255,0.78);line-height:1.7;padding-left:16px;position:relative}
.pill-ul li::before{content:'–';position:absolute;left:0;color:var(--gold)}

/* ABOUT */
.about-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.atext .ey{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:500;display:block;margin-bottom:12px}
.atext h2{font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,34px);color:var(--navy);margin-bottom:20px;line-height:1.2;font-weight:600}
.atext p{font-size:14.5px;color:var(--muted);margin-bottom:14px;line-height:1.8}
.atext p b{color:var(--text);font-weight:500}
.anums{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}
.an{background:var(--warm);border:1px solid var(--border);border-radius:var(--r);padding:18px}
.an .n{font-family:'Playfair Display',serif;font-size:32px;color:var(--navy);line-height:1}
.an .l{font-size:12.5px;color:var(--muted);margin-top:3px}
.aquote{background:var(--navy);border-radius:var(--rL);padding:38px 34px;position:relative;overflow:hidden}
.aquote::before{content:'\201C';position:absolute;top:-30px;right:20px;font-family:'Playfair Display',serif;font-size:200px;color:rgba(180,138,54,.08);line-height:1;pointer-events:none}
.aquote blockquote{font-family:'Playfair Display',serif;font-size:16.5px;color:rgba(255,255,255,.8);line-height:1.75;font-style:italic;position:relative}
.aquote cite{display:flex;align-items:center;gap:10px;margin-top:22px;position:relative}
.aquote cite::before{content:'';display:block;width:28px;height:1px;background:var(--gold)}
.aquote cite span{font-size:12px;color:rgba(255,255,255,.45);font-style:normal}
.afeats{display:flex;flex-direction:column;gap:10px;margin-top:26px}
.af{display:flex;align-items:flex-start;gap:12px;padding:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:var(--r)}
.af-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:5px;flex-shrink:0}
.af p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.6}
.af p b{color:rgba(255,255,255,.85);font-weight:500}
.map-wrap{border-radius:var(--rL);overflow:hidden;border:1px solid var(--border);margin-top:24px}
.map-wrap iframe{display:block;width:100%;height:200px;border:none}

/* WHY */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.wc{padding:26px 22px;background:var(--white);border:1px solid var(--border);border-radius:var(--rL);transition:border-color .2s,transform .25s}
.wc:hover{border-color:var(--gold);transform:translateY(-3px)}
.wic{width:38px;height:38px;border-radius:8px;background:rgba(180,138,54,.1);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.wic svg{width:17px;height:17px;stroke:var(--gold);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wc h3{font-size:14px;font-weight:500;color:var(--navy);margin-bottom:7px}
.wc p{font-size:13.5px;color:var(--muted);line-height:1.7}

/* REVIEWS */
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.rc{background:var(--white);border:1px solid var(--border);border-radius:var(--rL);padding:24px}
.stars{color:#d4a017;font-size:14px;letter-spacing:1px;margin-bottom:10px}
.rtext{font-size:13.5px;color:var(--muted);line-height:1.7;font-style:italic;margin-bottom:14px}
.rname{font-size:13px;color:var(--navy);font-weight:500}
.rsrc{font-size:12px;color:var(--muted);margin-top:2px}
.rbadge{display:inline-flex;align-items:center;gap:6px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:20px;padding:5px 14px;font-size:12px;color:#166534;margin-bottom:28px}
.rbadge::before{content:'✓';font-size:11px}

/* CONTACT */
.cont-wrap{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.cleft h2{font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,32px);color:var(--navy);margin-bottom:14px;font-weight:600}
.cleft > p{font-size:14.5px;color:var(--muted);margin-bottom:32px;line-height:1.75}
.ci-list{display:flex;flex-direction:column;gap:18px}
.ci{display:flex;gap:14px;align-items:flex-start}
.ci-ic{width:40px;height:40px;border-radius:8px;background:rgba(180,138,54,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ci-ic svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ci-lbl{font-size:12.5px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:3px}
.ci-val{font-size:14px;color:var(--text)}
.ci-val a{color:var(--navy);text-decoration:none;font-weight:500}
.ci-val a:hover{color:var(--gold)}
.cform{background:var(--white);border:1px solid var(--border);border-radius:var(--rL);padding:32px}
.cform h3{font-size:16px;font-weight:500;color:var(--navy);margin-bottom:6px}
.cform > p{font-size:13px;color:var(--muted);margin-bottom:24px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.fg{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.fg label{font-size:11.5px;color:var(--muted);letter-spacing:.2px}
.fg input,.fg textarea,.fg select{font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:300;color:var(--text);background:var(--cream);border:1px solid var(--border);border-radius:var(--r);padding:10px 13px;transition:border-color .2s;outline:none;width:100%}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--gold)}
.fg textarea{resize:vertical;min-height:88px}
.fsub{width:100%;background:var(--navy);color:#fff;border:none;padding:13px;border-radius:4px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;cursor:pointer;letter-spacing:.3px;transition:opacity .2s;margin-top:4px}
.fsub:hover{opacity:.85}

/* FOOTER */
footer{background:var(--navy);padding:52px 6% 28px}
.ft{display:grid;grid-template-columns:2fr 1fr 1fr;gap:52px;margin-bottom:44px}
.fbrand .fn{font-family:'Playfair Display',serif;font-size:16px;color:#fff;margin-bottom:8px}
.fbrand p{font-size:13px;color:rgba(255,255,255,.4);line-height:1.75;max-width:260px}
.fcol h4{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:14px;font-weight:400}
.fcol ul{list-style:none}
.fcol li{margin-bottom:8px}
.fcol li a,.fcol li span{font-size:13px;color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s}
.fcol li a:hover{color:rgba(255,255,255,.85)}
.fbot{border-top:1px solid rgba(255,255,255,.07);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
.fcopy{font-size:11.5px;color:rgba(255,255,255,.25)}
.fseo{font-size:10.5px;color:rgba(255,255,255,.12);max-width:680px;line-height:1.7}

/* MOBILE */
@media(max-width:768px){
  #navlinks,.nav-tel{display:none}
  .ham{display:flex}
  #hero{padding:56px 5% 40px !important;min-height:0 !important}
  .about-wrap,.cont-wrap{grid-template-columns:1fr}
  .ft{grid-template-columns:1fr;gap:28px}
  details.faq-item{border-bottom:1px solid var(--border)}
details.faq-item:first-of-type{border-top:1px solid var(--border)}
details.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;color:var(--text);list-style:none;transition:color .2s}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary::marker{display:none}
details.faq-item summary:hover{color:var(--gold)}
details.faq-item[open] summary{color:var(--gold)}
.faq-icon{font-size:22px;color:var(--gold);flex-shrink:0;transition:transform .3s;line-height:1}
details.faq-item[open] .faq-icon{transform:rotate(45deg)}
.faq-a{padding:0 0 20px;font-size:14px;color:var(--muted);line-height:1.8}
.faq-a ul{margin:8px 0 0 18px;display:flex;flex-direction:column;gap:4px}
.faq-a li{list-style:disc}
.faq-a strong{color:var(--text)}
@media(max-width:768px){details.faq-item summary{font-size:15px}}
  .tsep{display:none}
  /* Navbar mobile */
  .nav-brand .n2{display:none}
  #nav > div[style*="border-left"]{display:none}
  /* Hero mobile — stack vertically */
  #hero > div[style*="justify-content"],
  #hero > div[style*="display:flex"]{
    flex-direction:column !important;
    align-items:center !important;
    gap:24px !important;
  }
  #hero > div > div[style*="height:260px"]{display:none}
  #hero > div > div[style*="min-width:320px"],
  #hero > div > div[style*="min-width:340px"]{
    order:2 !important;
    min-width:0 !important;
    width:100% !important;
    align-items:center !important;
  }
  #hero > div > div[style*="min-width:320px"] svg,
  #hero > div > div[style*="min-width:340px"] svg{
    width:200px !important;
    height:200px !important;
  }
  #hero > div > div[style*="min-width:320px"] img,
  #hero > div > div[style*="min-width:340px"] img{
    height:200px !important;
    width:auto !important;
  }
  #hero > div > div[style*="max-width:560px"],
  .hero-content{
    order:1 !important;
    max-width:100% !important;
    text-align:center !important;
  }
  .hero-ey{justify-content:center}
  .hero-btns{justify-content:center}
  .hero-tags{justify-content:center}
  #hero h1{font-size:clamp(24px,6vw,36px)}
  .hero-lead{font-size:14px}
}

/* STICKY MOBILE BAR */
#sticky-mobile{display:none;position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--navy);border-top:1px solid rgba(180,138,54,0.3);padding:10px 16px;justify-content:space-between;align-items:center;gap:10px}
@media(max-width:768px){#sticky-mobile{display:flex}}
.sticky-tel{display:flex;align-items:center;gap:8px;background:var(--gold);color:#fff;text-decoration:none;padding:10px 18px;border-radius:4px;font-size:14px;font-weight:500;flex:1;justify-content:center}
.sticky-tel svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sticky-cta{display:flex;align-items:center;gap:8px;background:transparent;color:rgba(255,255,255,0.85);text-decoration:none;padding:10px 18px;border-radius:4px;font-size:13px;font-weight:400;border:1px solid rgba(255,255,255,0.2);flex:1;justify-content:center}
/* SKIP NAVIGATION */
.skip-link{position:absolute;top:-40px;left:6px;background:var(--gold);color:#fff;padding:8px 16px;border-radius:4px;font-size:13px;font-weight:500;text-decoration:none;z-index:9999;transition:top .2s}
.skip-link:focus{top:6px}
/* FOCUS VISIBLE */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* FLOATING WHATSAPP */
#wa-float{position:fixed;bottom:80px;right:18px;z-index:998;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
@media(min-width:769px){#wa-float{bottom:24px}}
#wa-float a{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#25D366;box-shadow:0 4px 16px rgba(37,211,102,0.4);transition:transform .2s,box-shadow .2s;text-decoration:none;animation:wa-pulse 2.8s ease-in-out infinite}
#wa-float a:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(37,211,102,0.55);animation:none}
@keyframes wa-pulse{0%,100%{box-shadow:0 4px 16px rgba(37,211,102,0.4)}50%{box-shadow:0 4px 22px rgba(37,211,102,0.7),0 0 0 6px rgba(37,211,102,0.1)}}
#wa-float a svg{width:26px;height:26px;fill:#fff;flex-shrink:0}
#wa-float-label{background:var(--navy);color:#fff;font-size:12px;font-weight:500;padding:5px 12px;border-radius:20px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.2);opacity:0;transform:translateX(8px);transition:opacity .2s,transform .2s;pointer-events:none}
#wa-float:hover #wa-float-label{opacity:1;transform:translateX(0)}

/* CALENDLY BUTTON */
.btn-calendly{background:var(--gold);color:#fff;padding:13px 26px;border-radius:4px;text-decoration:none;font-size:13.5px;font-weight:500;display:inline-block;transition:opacity .2s;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;letter-spacing:.2px}
.btn-calendly:hover{opacity:.85}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* GOOGLE MAPS */
.footer-map{border:1px solid rgba(180,138,54,0.2);border-radius:var(--r);overflow:hidden}
.footer-map iframe{display:block;width:100%;height:220px;border:none;filter:grayscale(100%) opacity(0.75);transition:filter .5s ease}
.footer-map:hover iframe{filter:grayscale(0%) opacity(1)}

/* GDPR CHECKBOX */
.gdpr-check{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
.gdpr-check input[type="checkbox"]{margin-top:3px;flex-shrink:0;accent-color:var(--gold);width:15px;height:15px;cursor:pointer}
.gdpr-check label{font-size:12px;color:var(--muted);line-height:1.6;cursor:pointer}
