/* =====================================================================
   Residences — Single Service template styles
   File:    assets/css/single-service.css
   Version: 0.6.1
   Updated: 2026-06-03
   Scope:   everything under .svc-single (root container)
   Pairs:   residences-service-helpers.php + Golden Visa post body (.gv)

   CHANGES (0.6.1 from 0.6.0):
     - PROCESS section ("Η διαδικασία μας") restyled to match the GV timeline:
       circular gold numbered nodes + connecting line (replaces big-number rows).
       Applies to ALL service pages (shared shortcode) for visual consistency.
   CHANGES (0.6.0 from 0.5.1):
     - Added GOLDEN VISA body module (.gv): metrics, feature/coverage cards,
       investment tiers, inline CTA, vertical timeline, <details> accordions,
       FAQ, closing + disclaimer. Scoped under .svc-single .gv — inert on
       other services. No JS. Widens the GV reading column (.post-323) only.
   Base (0.5.1): light system, grey hero, gold CTA, logo-gold headings.
   NOTE: the bronze "footer CTA" band is a SEPARATE global Elementor section.
   ===================================================================== */

.svc-single{
  --white:#FFFFFF;
  --mist:#F5F5F4;
  --ivory:#FAF7F2;
  --gold:#B8976A;
  --gold-deep:#A07F54;
  --ink:#2C2C2C;
  --muted:#6B655C;
  --hairline:rgba(184,151,106,.25);
  --serif:"EB Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --maxw:1100px; --maxw-read:720px; --pad-inline:24px;

  background:var(--white); color:var(--ink);
  font-family:var(--sans); overflow-x:clip;
  gap:0;
}
.svc-single h1,.svc-single h2,.svc-single h3{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0;}
.svc-single p{margin:0;}

.svc-single .svc-hero__inner,
.svc-single .svc-overview__inner,
.svc-single .svc-benefits__inner,
.svc-single .svc-process__inner,
.svc-single .svc-related__inner,
.svc-single .svc-cta__inner{
  width:100%; max-width:var(--maxw); margin-inline:auto;
  padding-inline:var(--pad-inline); box-sizing:border-box; gap:0;
}
.svc-single .svc-overview__inner{max-width:var(--maxw-read);}

.svc-single .svc-eyebrow,
.svc-single .svc-eyebrow .elementor-heading-title{
  font-family:var(--sans); font-size:13px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold); font-weight:600; margin:0;
}
.svc-single .svc-eyebrow{margin-bottom:18px;}

/* HERO — light grey, gold H1 */
.svc-single .svc-hero{background:var(--mist);padding-block:clamp(60px,8vw,104px);text-align:center;}
.svc-single .svc-hero__title .elementor-heading-title{color:var(--gold);font-size:clamp(36px,5vw,62px);letter-spacing:-.01em;}
.svc-single .svc-hero__tagline .elementor-heading-title{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.4vw,26px);color:var(--muted);margin-top:18px;}
.svc-single .svc-hero__intro,
.svc-single .svc-hero__intro p{font-family:var(--sans);font-size:clamp(15px,1.4vw,17px);line-height:1.7;color:var(--muted);}
.svc-single .svc-hero__intro{max-width:620px;margin:24px auto 0;}
.svc-single .svc-hero .elementor-widget-button{margin-top:36px;}
.svc-single .svc-hero .elementor-button-wrapper{text-align:center;}

/* MEDIA */
.svc-single .svc-media img{display:block;width:100%;height:clamp(260px,42vw,520px);object-fit:cover;}

/* OVERVIEW / BODY */
.svc-single .svc-overview{background:var(--white);padding-block:clamp(48px,7vw,80px);}
.svc-single .svc-overview__body{font-size:clamp(16px,1.5vw,18px);line-height:1.8;color:var(--ink);}
.svc-single .svc-overview__body p{margin:0 0 .9em;}
.svc-single .svc-overview__body p:first-of-type{font-size:clamp(18px,1.8vw,21px);line-height:1.7;color:var(--ink);}
.svc-single .svc-overview__body h2{margin:1.6em 0 .5em;font-size:clamp(24px,2.6vw,34px);color:var(--gold);}
.svc-single .svc-overview__body h3{margin:2.2em 0 .6em;padding-top:1.4em;border-top:1px solid var(--hairline);font-size:clamp(19px,1.8vw,23px);color:var(--ink);}
.svc-single .svc-overview__body > :first-child{margin-top:0;padding-top:0;border-top:none;}
.svc-single .svc-overview__body strong{color:var(--ink);font-weight:600;}
.svc-single .svc-overview__body a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px;}
.svc-single .svc-overview__body img.emoji{display:none;}
.svc-single .svc-overview__body ul{list-style:none;margin:1em 0;padding:0;}
.svc-single .svc-overview__body ul li{position:relative;padding-left:22px;margin:.4em 0;line-height:1.7;}
.svc-single .svc-overview__body ul li::before{content:"›";position:absolute;left:0;color:var(--gold);font-family:var(--serif);}
.svc-single .svc-overview__body ol{margin:1em 0;padding-left:1.5em;}
.svc-single .svc-overview__body ol li{margin:.45em 0;padding-left:6px;line-height:1.7;}
.svc-single .svc-overview__body ol li::marker{color:var(--gold);font-family:var(--serif);font-weight:600;}

/* BENEFITS — light grey */
.svc-single .svc-benefits{background:var(--mist);padding-block:clamp(48px,7vw,80px);border-top:1px solid var(--hairline);}
.svc-single .svc-benefits__title,
.svc-single .svc-benefits__title .elementor-heading-title{color:var(--gold);font-size:clamp(26px,3vw,40px);}
.svc-single ul.svc-benefits{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:22px 48px;}
.svc-single ul.svc-benefits li{position:relative;padding-left:28px;line-height:1.65;color:var(--ink);font-size:clamp(15px,1.4vw,17px);}
.svc-single ul.svc-benefits li .b-arrow{position:absolute;left:0;top:0;color:var(--gold);font-family:var(--serif);font-size:1.25em;line-height:1.4;}
.svc-single ul.svc-benefits li strong{color:var(--ink);font-weight:600;}

/* PROCESS — timeline (matches GV .gv-timeline) */
.svc-single .svc-process{background:var(--white);padding-block:clamp(48px,7vw,84px);border-top:1px solid var(--hairline);}
.svc-single .svc-process .svc-eyebrow{color:var(--gold);}
.svc-single .svc-process__title{color:var(--gold);font-size:clamp(26px,3vw,40px);margin-bottom:8px;}
.svc-single .svc-process__list{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-direction:column;}
.svc-single .svc-process__step{position:relative;display:grid;grid-template-columns:54px 1fr;gap:20px;align-items:start;padding:0 0 30px;border-top:none;}
.svc-single .svc-process__step:last-child{padding-bottom:0;}
.svc-single .svc-process__step:not(:last-child)::before{content:"";position:absolute;left:26px;top:46px;bottom:6px;width:1px;background:var(--hairline);}
.svc-single .svc-process__num{position:relative;z-index:1;width:54px;height:54px;min-width:0;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:20px;line-height:1;color:var(--gold);background:var(--white);opacity:1;}
.svc-single .svc-process__step-title{color:var(--ink);font-size:clamp(19px,2vw,24px);margin:0 0 6px;padding-top:12px;}
.svc-single .svc-process__step-text{color:var(--muted);font-size:clamp(15px,1.4vw,17px);line-height:1.7;max-width:62ch;}

/* RELATED — light grey */
.svc-single .svc-related{background:var(--mist);padding-block:clamp(48px,7vw,80px);border-top:1px solid var(--hairline);}
.svc-single .svc-related__title{color:var(--gold);font-size:clamp(26px,3vw,40px);margin-bottom:8px;}
.svc-single .svc-related__grid{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.svc-single .svc-related__grid[data-cols="2"]{grid-template-columns:repeat(2,1fr);}
.svc-single .svc-related__grid[data-cols="4"]{grid-template-columns:repeat(4,1fr);}
.svc-single .svc-related__link{display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.svc-single .svc-related__media{display:block;overflow:hidden;aspect-ratio:4/3;background:#ECEAE6;}
.svc-single .svc-related__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.svc-single .svc-related__media--empty{aspect-ratio:4/3;}
.svc-single .svc-related__link:hover .svc-related__media img{transform:scale(1.04);}
.svc-single .svc-related__meta{padding-top:16px;}
.svc-single .svc-related__area{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:6px;}
.svc-single .svc-related__name{display:block;font-family:var(--serif);font-size:clamp(19px,1.8vw,23px);color:var(--ink);line-height:1.2;}
.svc-single .svc-related__cue{display:inline-block;margin-top:12px;font-size:13px;letter-spacing:.08em;color:var(--gold-deep);opacity:0;transform:translateX(-4px);transition:opacity .35s ease,transform .35s ease;}
.svc-single .svc-related__link:hover .svc-related__cue{opacity:1;transform:translateX(0);}

/* FINAL CTA — gold */
.svc-single .svc-cta{background:var(--gold);border-top:none;padding-block:clamp(56px,7.5vw,92px);text-align:center;}
.svc-single .svc-cta .svc-eyebrow,
.svc-single .svc-cta .svc-eyebrow .elementor-heading-title{color:#FFF6E9;}
.svc-single .svc-cta__title,
.svc-single .svc-cta__title .elementor-heading-title{color:#FFFFFF;font-size:clamp(28px,3.4vw,44px);}
.svc-single .svc-cta__text,
.svc-single .svc-cta__text p{font-family:var(--sans);font-size:clamp(15px,1.5vw,18px);line-height:1.7;color:#FBF3E6;}
.svc-single .svc-cta__text{max-width:620px;margin:18px auto 0;}
.svc-single .svc-cta__buttons{display:flex;flex-direction:row;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:32px;}

/* BUTTONS (Elementor widgets) */
.svc-single .svc-btn .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:16px 38px;border-radius:0;border:1px solid transparent;line-height:1;text-decoration:none;cursor:pointer;
  transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .3s ease;
}
.svc-single .svc-btn--primary .elementor-button,
.svc-single .svc-btn--solid .elementor-button{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.svc-single .svc-btn--primary .elementor-button:hover,
.svc-single .svc-btn--solid .elementor-button:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff;transform:translateY(-2px);}
.svc-single .svc-btn--ghost .elementor-button{background:transparent;color:var(--ink);border-color:var(--gold);}
.svc-single .svc-btn--ghost .elementor-button:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:translateY(-2px);}
.svc-single .svc-cta .svc-btn--primary .elementor-button,
.svc-single .svc-cta .svc-btn--solid .elementor-button{background:var(--ink);color:#fff;border-color:var(--ink);}
.svc-single .svc-cta .svc-btn--primary .elementor-button:hover,
.svc-single .svc-cta .svc-btn--solid .elementor-button:hover{background:#000;border-color:#000;color:#fff;transform:translateY(-2px);}
.svc-single .svc-cta .svc-btn--ghost .elementor-button{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.svc-single .svc-cta .svc-btn--ghost .elementor-button:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px);}

/* TABLET */
@media (max-width:1024px){
  .svc-single ul.svc-benefits{grid-template-columns:1fr;gap:18px;}
  .svc-single .svc-related__grid,
  .svc-single .svc-related__grid[data-cols="4"]{grid-template-columns:repeat(2,1fr);gap:24px;}
}
/* MOBILE */
@media (max-width:767px){
  .svc-single{--pad-inline:18px;}
  .svc-single .svc-related__grid,
  .svc-single .svc-related__grid[data-cols="2"],
  .svc-single .svc-related__grid[data-cols="4"]{grid-template-columns:1fr;gap:22px;}
  /* process keeps its timeline layout on mobile (compact node column) */
  .svc-single .svc-cta__buttons{flex-direction:column;align-items:stretch;}
  .svc-single .svc-cta__buttons .elementor-widget-button,
  .svc-single .svc-cta__buttons .elementor-button-wrapper,
  .svc-single .svc-cta__buttons .elementor-button{width:100%;}
  .svc-single .svc-btn .elementor-button{padding:15px 28px;}
}

/* =====================================================================
   GOLDEN VISA body module — scoped .svc-single .gv (inert elsewhere)
   ===================================================================== */

/* widen reading column for the GV page only (main carries .post-323) */
.post-323 .svc-overview__inner{max-width:1040px;}

/* neutralise inherited prose rules inside .gv components */
.svc-single .svc-overview__body .gv :where(h2,h3,h4,p,ul,ol,li,a){margin:0;padding:0;border:0;list-style:none;}
.svc-single .svc-overview__body .gv :where(a){color:inherit;text-decoration:none;}
.svc-single .svc-overview__body .gv p:first-of-type{font-size:inherit;color:inherit;line-height:inherit;}
.svc-single .svc-overview__body .gv h3{padding-top:0;border-top:0;}

/* layout rhythm */
.svc-single .gv{display:flex;flex-direction:column;gap:clamp(44px,6vw,72px);}
.svc-single .gv .gv-block{display:flex;flex-direction:column;}

/* eyebrow + section title */
.svc-single .gv .gv-eyebrow{font-family:var(--sans);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:12px;}
.svc-single .gv .gv-title{font-family:var(--serif);font-weight:500;color:var(--gold);font-size:clamp(26px,3vw,38px);line-height:1.12;margin-bottom:26px;}

/* lede */
.svc-single .gv .gv-lede{font-family:var(--sans);font-size:clamp(17px,1.7vw,20px);line-height:1.7;color:var(--ink);max-width:70ch;}

/* trust metrics */
.svc-single .gv .gv-metrics{display:grid;grid-template-columns:repeat(4,1fr);background:var(--mist);border:1px solid var(--hairline);}
.svc-single .gv .gv-metric{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:clamp(24px,3vw,34px) 16px;border-left:1px solid var(--hairline);}
.svc-single .gv .gv-metric:first-child{border-left:none;}
.svc-single .gv .gv-metric__num{font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);line-height:1;color:var(--gold);}
.svc-single .gv .gv-metric__label{font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}

/* feature / why cards */
.svc-single .gv .gv-features,
.svc-single .gv .gv-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(14px,1.6vw,20px);}
.svc-single .gv .gv-feature{background:var(--white);border:1px solid var(--hairline);padding:clamp(22px,2.4vw,30px);display:flex;flex-direction:column;gap:10px;}
.svc-single .gv .gv-feature__title{font-family:var(--serif);font-size:clamp(19px,1.7vw,22px);color:var(--ink);line-height:1.2;position:relative;padding-top:16px;}
.svc-single .gv .gv-feature__title::before{content:"";position:absolute;top:0;left:0;width:28px;height:2px;background:var(--gold);}
.svc-single .gv .gv-feature__text{font-family:var(--sans);font-size:15px;line-height:1.65;color:var(--muted);}

/* coverage */
.svc-single .gv .gv-coverage{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:clamp(12px,1.4vw,18px);}
.svc-single .gv .gv-cov{background:var(--mist);border:1px solid var(--hairline);padding:18px 20px;display:flex;flex-direction:column;gap:4px;}
.svc-single .gv .gv-cov__label{font-family:var(--serif);font-size:clamp(17px,1.5vw,20px);color:var(--ink);line-height:1.15;}
.svc-single .gv .gv-cov__sub{font-family:var(--sans);font-size:13px;color:var(--muted);}

/* investment tiers */
.svc-single .gv .gv-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.8vw,22px);}
.svc-single .gv .gv-tier{position:relative;background:var(--white);border:1px solid var(--hairline);padding:clamp(28px,3vw,38px) clamp(22px,2.4vw,28px);display:flex;flex-direction:column;gap:8px;}
.svc-single .gv .gv-tier--featured{border:2px solid var(--gold);}
.svc-single .gv .gv-tier__badge{position:absolute;top:0;left:22px;transform:translateY(-50%);background:var(--gold);color:#fff;font-family:var(--sans);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:5px 12px;}
.svc-single .gv .gv-tier__amount{font-family:var(--serif);font-size:clamp(32px,3.6vw,46px);line-height:1;color:var(--gold);margin-top:6px;}
.svc-single .gv .gv-tier__name{font-family:var(--sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:600;}
.svc-single .gv .gv-tier__desc{font-family:var(--sans);font-size:14.5px;line-height:1.6;color:var(--muted);margin-top:4px;}
.svc-single .gv .gv-tiers__note{font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--muted);margin-top:18px;padding-top:16px;border-top:1px solid var(--hairline);}

/* inline CTA */
.svc-single .gv .gv-cta-inline{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--mist);border:1px solid var(--hairline);padding:clamp(24px,3vw,34px) clamp(24px,3vw,40px);}
.svc-single .gv .gv-cta-inline__text{font-family:var(--serif);font-size:clamp(19px,2vw,26px);color:var(--ink);line-height:1.25;max-width:60ch;}

/* buttons in body (raw <a>) */
.svc-single .gv .gv-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:15px 34px;background:var(--gold);color:var(--ink);border:1px solid var(--gold);line-height:1;text-decoration:none;white-space:nowrap;transition:background-color .3s ease,border-color .3s ease,color .3s ease,transform .3s ease;}
.svc-single .gv .gv-btn:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff;transform:translateY(-2px);}

/* why note line */
.svc-single .gv .gv-note-line{font-family:var(--serif);font-style:italic;font-size:clamp(16px,1.6vw,19px);color:var(--ink);margin-top:20px;}

/* timeline */
.svc-single .gv .gv-timeline{display:flex;flex-direction:column;}
.svc-single .gv .gv-tl__item{position:relative;display:grid;grid-template-columns:54px 1fr;gap:20px;padding-bottom:30px;}
.svc-single .gv .gv-tl__item:last-child{padding-bottom:0;}
.svc-single .gv .gv-tl__item:not(:last-child)::before{content:"";position:absolute;left:26px;top:46px;bottom:6px;width:1px;background:var(--hairline);}
.svc-single .gv .gv-tl__num{position:relative;z-index:1;width:54px;height:54px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:20px;color:var(--gold);background:var(--white);}
.svc-single .gv .gv-tl__title{font-family:var(--serif);font-size:clamp(19px,1.8vw,23px);color:var(--ink);line-height:1.2;margin-bottom:6px;padding-top:12px;}
.svc-single .gv .gv-tl__text{font-family:var(--sans);font-size:15px;line-height:1.65;color:var(--muted);max-width:62ch;}

/* accordion (documents + FAQ) */
.svc-single .gv .gv-accordion{border-top:1px solid var(--hairline);}
.svc-single .gv .gv-ac{border-bottom:1px solid var(--hairline);}
.svc-single .gv .gv-ac__q{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-family:var(--serif);font-size:clamp(17px,1.6vw,20px);color:var(--ink);line-height:1.3;}
.svc-single .gv .gv-ac__q::-webkit-details-marker{display:none;}
.svc-single .gv .gv-ac__q::after{content:"+";font-family:var(--sans);font-size:22px;font-weight:400;color:var(--gold);line-height:1;flex:none;}
.svc-single .gv .gv-ac[open] .gv-ac__q::after{content:"\2013";}
.svc-single .gv .gv-ac__q:hover{color:var(--gold-deep);}
.svc-single .gv .gv-ac__a{padding:0 0 20px;}
.svc-single .gv .gv-ac__a p{font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--muted);max-width:70ch;}

/* closing + disclaimer */
.svc-single .gv .gv-close{text-align:center;border-top:1px solid var(--hairline);padding-top:clamp(32px,4vw,48px);}
.svc-single .gv .gv-close__lead{font-family:var(--serif);font-size:clamp(20px,2.2vw,28px);line-height:1.35;color:var(--ink);max-width:34ch;margin:0 auto;}
.svc-single .gv .gv-close__tag{font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.8vw,22px);color:var(--gold);margin-top:18px;}
.svc-single .gv .gv-disclaimer{font-family:var(--sans);font-size:12.5px;line-height:1.6;color:var(--muted);font-style:italic;text-align:center;max-width:80ch;margin:0 auto;opacity:.85;}

/* GV responsive */
@media (max-width:767px){
  .post-323 .svc-overview__inner{max-width:none;}
  .svc-single .gv .gv-metrics{grid-template-columns:repeat(2,1fr);}
  .svc-single .gv .gv-metric:nth-child(odd){border-left:none;}
  .svc-single .gv .gv-metric:nth-child(3),
  .svc-single .gv .gv-metric:nth-child(4){border-top:1px solid var(--hairline);}
  .svc-single .gv .gv-tiers{grid-template-columns:1fr;}
  .svc-single .gv .gv-cta-inline{flex-direction:column;align-items:flex-start;}
  .svc-single .gv .gv-btn{width:100%;}
}