/*
Theme Name: Schengen Stay Calculator
Theme URI: https://schengenstaycalculator.com/
Author: HM Studio
Description: Premium educational WordPress theme for SchengenStayCalculator.com, an independent Schengen 90/180 planning website.
Version: 8.0.79-dev
Text Domain: schengen-stay-theme
*/
:root{
  --bg:#f4f7fc;
  --surface:#ffffff;
  --surface-2:#f6f8fc;
  --surface-3:#eef3fb;
  --text:#142347;
  --muted:#5f6b88;
  --line:#d9e2f0;
  --primary:#4a6cff;
  --primary-2:#304fdd;
  --primary-soft:rgba(74,108,255,.10);
  --success:#10966f;
  --danger:#cb4d4d;
  --warning:#c98916;
  --shadow:0 16px 46px rgba(20,35,71,.08);
  --shadow-soft:0 10px 24px rgba(20,35,71,.06);
  --radius:26px;
  --radius-sm:18px;
  --sidebar:#071633;
  --sidebar-2:#0a1e45;
  --sidebar-text:#edf2ff;
  --sidebar-muted:#aeb9d8;
  --sst-hero-min-height:560px;
  --sst-hero-text-width:48%;
  --sst-hero-text-max-width:680px;
  --sst-hero-title-max-width:680px;
  --sst-hero-desktop-padding-x:72px;
  --sst-hero-desktop-padding-y:58px;
  --sst-hero-bg-size:contain;
  --sst-hero-bg-position:center center;
  --sst-hero-bg-opacity:1;
  --sst-hero-tablet-breakpoint:1180px;
  --sst-hero-tablet-text-width:100%;
  --sst-hero-tablet-title-size:2.75rem;
  --sst-hero-tablet-padding-x:30px;
  --sst-hero-tablet-padding-y:34px;
  --sst-hero-mobile-breakpoint:640px;
  --sst-hero-mobile-title-size:2.35rem;
  --sst-hero-mobile-padding-x:20px;
  --sst-hero-mobile-padding-y:26px;
  --sst-soft-box-bg:rgba(74,108,255,.10);
  --sst-soft-box-bg-strong:rgba(74,108,255,.16);
  --sst-soft-box-border:rgba(74,108,255,.18);
  --sst-tab-active-soft:#6972f2;
  --sst-tab-active-soft-2:#5661e8;
  --sst-tab-soft-border:rgba(105,114,242,.12);
  --sst-planned-accent:#10b981;
  --sst-progress-secondary:#8193ff;
  --topbar-h:82px;
  --sidebar-w:286px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,"Helvetica Neue",Arial,sans-serif;
}
body.sst-dark{
  --bg:#0b1320;
  --surface:#101a2b;
  --surface-2:#0d1726;
  --surface-3:#142034;
  --text:#edf2fb;
  --muted:#a9b5cc;
  --line:#25344d;
  --primary:#7a88c8;
  --primary-2:#6576b4;
  --primary-soft:rgba(122,136,200,.14);
  --success:#74b6a4;
  --danger:#cf9696;
  --warning:#d4b16a;
  --shadow:0 18px 54px rgba(0,0,0,.30);
  --shadow-soft:0 12px 28px rgba(0,0,0,.22);
  --sidebar:#060d18;
  --sidebar-2:#0a1424;
  --sidebar-text:#f2f6ff;
  --sidebar-muted:#acb7cd;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:
  radial-gradient(circle at 0 0, rgba(74,108,255,.08), transparent 30%),
  radial-gradient(circle at 100% 0, rgba(26,194,155,.06), transparent 30%),
  var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.7;font-weight:400}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%;height:auto;display:block}
strong,b{font-weight:650}
h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.024em;color:var(--text);line-height:1.14}
p,li{color:var(--muted)}
ul,ol{padding-left:1.2rem}
.sst-shell{display:flex;min-height:100vh}
.sst-sidebar{width:var(--sidebar-w);background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:var(--sidebar-text);padding:24px 18px;position:sticky;top:0;align-self:flex-start;height:100vh;overflow:auto;z-index:70}
.sst-sidebar::-webkit-scrollbar{width:8px}.sst-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.10);border-radius:999px}
.sst-sidebar-close{display:none;align-items:center;justify-content:center;margin-left:auto;margin-bottom:10px;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff}
.sst-sidebar-close svg,.sst-brand-icon svg,.sst-side-menu .ico svg,.sst-info-card .icon svg,.sst-mini-card .icon svg,.sst-legal-box .icon svg,.sst-icon-btn svg,.sst-mobile-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sst-brand{display:flex;align-items:center;gap:14px;color:#fff;margin-bottom:30px;padding:2px 6px 6px 2px}
.sst-brand:hover{text-decoration:none}
.sst-brand strong{display:block;font-size:1.62rem;line-height:1.06;font-weight:700}
.sst-brand span span{display:block;color:var(--sidebar-muted);font-size:.94rem;letter-spacing:.01em;margin-top:3px}
.sst-brand-icon{flex:none;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--primary),#88a0ff);display:grid;place-items:center;box-shadow:0 14px 34px rgba(88,112,255,.34);color:#fff}
.sst-brand-icon img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
.sst-side-section{margin:24px 0}
.sst-side-label{color:var(--sidebar-muted);text-transform:uppercase;font-size:.76rem;letter-spacing:.15em;margin:0 10px 11px;font-weight:650}
.sst-side-menu{display:flex;flex-direction:column;gap:8px}
.sst-side-menu a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:15px;color:var(--sidebar-text);font-weight:550;font-size:1.01rem;transition:.2s ease;position:relative}
.sst-side-menu a:hover,.sst-side-menu a.current-menu-item,.sst-side-menu a[aria-current="page"]{background:rgba(255,255,255,.11);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.sst-side-menu .ico,.sst-info-card .icon,.sst-mini-card .icon,.sst-legal-box .icon,.sst-feature-check .icon{width:22px;height:22px;display:inline-grid;place-items:center;color:currentColor;opacity:.95}
.sst-side-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:16px;margin-top:28px}
.sst-side-card strong{display:block;color:#fff;font-size:1rem;margin-bottom:6px}
.sst-side-card p{color:var(--sidebar-muted);font-size:.95rem;margin:0 0 10px;line-height:1.6}
.sst-side-card a{color:#fff;font-weight:650}
.sst-main{flex:1;min-width:0;display:flex;flex-direction:column}
.sst-sidebar-overlay{display:none}
.sst-topbar{position:sticky;top:0;z-index:50;background:rgba(244,247,252,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
body.sst-dark .sst-topbar{background:rgba(9,18,33,.86)}
.sst-topbar-inner{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 32px}
.sst-mobile-toggle{display:none;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:10px 14px;color:var(--text);font-weight:650;box-shadow:var(--shadow-soft)}
.sst-topnav{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.sst-topnav a{color:var(--text);font-weight:600;font-size:1rem;opacity:.94}
.sst-topnav a:hover{color:var(--primary)}
.sst-top-actions{display:flex;align-items:center;gap:12px}
.sst-icon-btn,.sst-en-pill{height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-weight:650;box-shadow:var(--shadow-soft)}
.sst-en-pill{padding:0 16px}
.sst-content{padding:34px 32px 64px;max-width:1440px;width:100%}
.sst-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:36px;align-items:center;background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);box-shadow:var(--shadow);padding:42px;border-radius:34px;overflow:hidden;position:relative}
.sst-hero:before{content:"";position:absolute;right:-120px;top:-140px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle, rgba(74,108,255,.14), transparent 68%)}
.sst-kicker{margin:0 0 12px;color:var(--primary);font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.14em}
.sst-hero h1{font-size:clamp(2.7rem,4vw,4.5rem);line-height:1.02;margin:0 0 16px;max-width:760px}
.sst-hero p{font-size:1.1rem;max-width:760px;margin:0 0 18px}
.sst-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.sst-hero-badges span{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--text);font-weight:600;box-shadow:var(--shadow-soft)}
.sst-hero-visual{display:flex;justify-content:center;align-items:center}
.sst-hero-visual-card{width:100%;max-width:560px;min-height:460px;border-radius:34px;background:
  radial-gradient(circle at 24% 26%, rgba(74,108,255,.20), transparent 32%),
  radial-gradient(circle at 78% 68%, rgba(16,150,111,.14), transparent 26%),
  linear-gradient(180deg,var(--surface-3),var(--surface));
  border:1px solid var(--line);box-shadow:var(--shadow);position:relative;padding:30px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sst-hero-visual-card:before{content:"";position:absolute;left:32px;top:32px;width:84px;height:84px;border-radius:22px;background:rgba(255,255,255,.45);filter:blur(2px)}
.sst-hero-visual-card:after{content:"";position:absolute;right:34px;bottom:26px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle, rgba(74,108,255,.12), transparent 70%)}
.sst-hero-visual img{position:relative;z-index:2;max-height:420px;max-width:100%;object-fit:contain;filter:drop-shadow(0 24px 32px rgba(26,48,110,.18))}
.sst-floating-chip{position:absolute;z-index:3;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:16px;padding:12px 14px;color:var(--text);font-weight:650;font-size:.95rem}
.sst-floating-chip small{display:block;color:var(--muted);font-weight:500;font-size:.8rem;margin-top:3px}
.sst-chip-top{right:18px;top:22px}
.sst-chip-bottom{left:16px;bottom:20px}
.sst-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.sst-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:16px;border:1px solid transparent;font-weight:650;cursor:pointer;transition:.2s ease;font-size:1rem}
.sst-btn:hover{transform:translateY(-1px)}
.sst-btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 12px 28px rgba(74,108,255,.24)}
.sst-btn-secondary{background:var(--surface);border-color:var(--line);color:var(--text)}
.sst-btn-light{background:var(--surface);border-color:var(--line);color:var(--text)}
.sst-btn-danger{background:transparent;border-color:var(--line);color:var(--danger)}
.sst-trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0}
.sst-trust,.sst-mini-card,.sst-legal-box,.sst-feature-band,.sst-seo-card,.sst-info-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:22px;border-radius:24px}
.sst-trust strong{display:block;font-size:1.7rem;color:var(--text);margin-bottom:4px}
.sst-trust span{display:block;color:var(--muted)}
.sst-section{margin-top:30px}
.sst-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.sst-section h2{font-size:2rem;margin:0}
.sst-card-grid,.sst-mini-grid,.sst-legal-grid,.sst-seo-grid,.sst-launch-grid,.sst-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sst-info-card,.sst-mini-card,.sst-legal-box,.sst-seo-card,.sst-guide-card{color:inherit}
.sst-info-card:hover,.sst-seo-card:hover,.sst-guide-card:hover{border-color:rgba(74,108,255,.34);transform:translateY(-2px)}
.sst-info-card .icon,.sst-mini-card .icon,.sst-legal-box .icon,.sst-guide-card .icon{margin-bottom:10px}
.sst-info-card h3,.sst-mini-card h3,.sst-legal-box h3,.sst-seo-card h3,.sst-guide-card h3{margin:0 0 8px;font-size:1.18rem}
.sst-info-card p,.sst-mini-card p,.sst-legal-box p,.sst-seo-card p,.sst-guide-card p{margin:0}
.sst-seo-card ul{margin:10px 0 0}
.sst-seo-card li{margin-bottom:6px}
.sst-banner-note{margin-top:18px;padding:18px 20px;border-radius:18px;background:var(--primary-soft);color:var(--text);border:1px solid rgba(74,108,255,.18)}
.sst-feature-band{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;padding:28px}
.sst-feature-check{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.sst-feature-check p{margin:0}
.sst-content-wrap,.sst-page-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:36px;border-radius:30px}
.sst-page-title{margin:0 0 10px;font-size:2.55rem}
.sst-page-sub{margin:0 0 24px;font-size:1.05rem;max-width:900px}
.sst-page-card h2{margin-top:30px;font-size:1.65rem}
.sst-page-card h3{margin-top:24px;font-size:1.24rem}
.sst-page-card table{width:100%;border-collapse:collapse;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:12px 0 20px}
.sst-page-card table th,.sst-page-card table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;color:var(--text)}
.sst-page-card table th{background:var(--surface-3)}
.sst-note{padding:16px 18px;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;color:var(--text)}
.sst-country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}
.sst-country{padding:14px 16px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line);color:var(--text);font-weight:550}
.sst-faq-item{padding:18px 0;border-bottom:1px solid var(--line)}
.sst-faq-item:last-child{border-bottom:0}
.sst-legal-highlight{margin-top:18px;padding:20px;border-left:4px solid var(--danger);background:rgba(203,77,77,.07);border-radius:16px}
body.sst-dark .sst-legal-highlight{background:rgba(255,127,127,.08)}
.sst-footer{margin-top:32px;color:var(--muted)}
.sst-footer-inner{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:24px 28px;border-radius:24px}
.sst-footer-nav{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}
.sst-footer-nav a{color:var(--text);font-weight:650}
.sst-screen-reader-text{position:absolute;left:-9999px}
@media (max-width:1260px){
  .sst-card-grid,.sst-mini-grid,.sst-legal-grid,.sst-seo-grid,.sst-launch-grid,.sst-guide-grid,.sst-trust-row{grid-template-columns:repeat(2,1fr)}
  .sst-feature-band{grid-template-columns:1fr}
  .sst-hero{grid-template-columns:1fr}
  .sst-hero-visual-card{max-width:100%}
}
@media (max-width:980px){
  body.sst-mobile-open{overflow:hidden}
  .sst-shell{display:block}
  .sst-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:.25s ease;z-index:80;width:min(86vw,320px);box-shadow:0 10px 40px rgba(0,0,0,.35)}
  .sst-sidebar.is-open{transform:translateX(0)}
  .sst-sidebar-close{display:inline-flex}
  .sst-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(7,14,28,.45);opacity:0;pointer-events:none;transition:.25s ease;z-index:60}
  body.sst-mobile-open .sst-sidebar-overlay{opacity:1;pointer-events:auto}
  .sst-mobile-toggle{display:inline-flex}
  .sst-topbar-inner{padding:0 18px}
  .sst-content{padding:24px 18px 48px}
}
@media (max-width:720px){
  .sst-topnav{display:none}
  .sst-card-grid,.sst-mini-grid,.sst-legal-grid,.sst-seo-grid,.sst-launch-grid,.sst-guide-grid,.sst-trust-row,.sst-country-grid{grid-template-columns:1fr}
  .sst-hero{padding:24px}
  .sst-hero h1{font-size:2.2rem}
  .sst-page-card,.sst-content-wrap{padding:24px}
  .sst-hero-visual-card{min-height:360px;padding:18px}
  .sst-floating-chip{font-size:.88rem;padding:10px 12px}
}

/* v4.2 Blog, SEO and cookie consent */
.sst-blog-hero{background:linear-gradient(135deg,var(--surface),var(--surface-2));border:1px solid var(--line);box-shadow:var(--shadow);padding:34px;border-radius:30px;margin-bottom:24px}
.sst-blog-hero h1{margin:0 0 10px;font-size:2.6rem}
.sst-blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}
.sst-post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.sst-post-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:24px;padding:24px;color:inherit;display:flex;flex-direction:column;gap:10px}
.sst-post-card:hover{border-color:rgba(74,108,255,.34);transform:translateY(-2px)}
.sst-post-card h2,.sst-post-card h3{margin:0;font-size:1.32rem}
.sst-post-card p{margin:0}
.sst-post-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.9rem}
.sst-read-more{font-weight:700;color:var(--primary);margin-top:auto}
.sst-blog-sidebar{position:sticky;top:calc(var(--topbar-h) + 18px);display:grid;gap:18px}
.sst-widget{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:22px;padding:20px}
.sst-widget h3{margin:0 0 10px;font-size:1.16rem}
.sst-widget ul{margin:0;padding-left:1rem}
.sst-widget li{margin:8px 0}
.sst-article{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:30px;padding:38px;max-width:980px}
.sst-article h1{font-size:clamp(2.1rem,4vw,3.2rem);margin:0 0 12px}
.sst-article .sst-post-meta{margin-bottom:24px}
.sst-article-content h2{margin-top:34px;font-size:1.72rem}
.sst-article-content h3{margin-top:24px}
.sst-article-content p,.sst-article-content li{font-size:1.04rem}
.sst-article-footer{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.sst-related-posts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}
.sst-pagination{display:flex;gap:10px;justify-content:center;margin-top:24px}
.sst-pagination .page-numbers{padding:10px 14px;border:1px solid var(--line);background:var(--surface);border-radius:12px;color:var(--text);font-weight:650}
.sst-pagination .current{background:var(--primary);color:#fff;border-color:var(--primary)}
.sst-search-form{display:flex;gap:8px}
.sst-search-form input{flex:1;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:14px;padding:12px 14px;font:inherit;min-width:0}
.sst-search-form button{border:0;background:var(--primary);color:#fff;border-radius:14px;padding:12px 14px;font-weight:700;cursor:pointer}
@media (max-width:1100px){.sst-blog-layout{grid-template-columns:1fr}.sst-blog-sidebar{position:static}.sst-post-grid{grid-template-columns:1fr}}
@media (max-width:720px){.sst-article{padding:24px}.sst-related-posts{grid-template-columns:1fr}}


/* v4.4 corrections: keep v4.2 visual direction, reduce homepage density, fix alignment, simplify mobile menu */
.sst-main{align-items:stretch}
.sst-content{max-width:1380px;margin-left:auto;margin-right:auto;width:100%}
.sst-topbar-inner{max-width:1380px;margin-left:auto;margin-right:auto;width:100%}
.sst-top-actions{margin-left:auto}
.sst-hero{grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);padding:42px;gap:32px}
.sst-hero h1{font-size:clamp(2.45rem,3.7vw,4.05rem);line-height:1.05}
.sst-hero-badges{display:none}
.sst-floating-chip{display:none}
.sst-hero-visual-card{min-height:430px;padding:24px;background:
  radial-gradient(circle at 30% 20%, rgba(74,108,255,.16), transparent 36%),
  linear-gradient(180deg,var(--surface-2),var(--surface));
}
body.sst-dark .sst-hero-visual-card{background:
  radial-gradient(circle at 30% 20%, rgba(117,144,255,.16), transparent 36%),
  linear-gradient(180deg,#14213d,#0d182e);
}
.sst-hero-visual img{max-height:360px;opacity:.96}
.sst-section .sst-feature-band + .sst-rule-summary{display:none}
.sst-feature-band{margin-top:0}
.sst-trust-row{margin-top:24px}
.sst-side-card{margin-top:18px}
.sst-mobile-toggle{font-size:1rem;min-height:46px;padding:10px 16px}
.sst-sidebar-close{font-size:.95rem;font-weight:700;width:auto;min-width:72px;padding:0 14px}
@media (max-width:980px){
  .sst-topbar-inner{height:72px}
  .sst-topnav{display:none}
  .sst-mobile-toggle{display:inline-flex;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
  .sst-sidebar{width:min(92vw,360px);padding:18px 16px}
  .sst-brand{margin-bottom:20px}
  .sst-side-section{margin:18px 0}
  .sst-side-label{font-size:.72rem;margin-bottom:8px}
  .sst-side-menu{gap:6px}
  .sst-side-menu a{padding:14px 14px;font-size:1.05rem;min-height:50px}
  .sst-side-card{display:none}
}
@media (max-width:720px){
  .sst-content{padding:18px 14px 42px}
  .sst-hero{padding:22px;gap:20px}
  .sst-hero h1{font-size:2.12rem}
  .sst-hero-visual-card{min-height:280px;padding:12px;border-radius:24px}
  .sst-hero-visual img{max-height:260px}
  .sst-trust-row{grid-template-columns:1fr}
}

.sst-ad-placeholder,.sst-ad-slot{margin:0 0 22px;padding:16px;border:1px dashed var(--line);border-radius:16px;background:var(--surface);color:var(--muted);text-align:center;font-size:.95rem}
.sst-ad-slot-footer{margin:0 0 18px}


/* v4.5 hero polish */
.sst-hero-visual-card{overflow:hidden}
.sst-hero-visual img{max-height:390px;filter:drop-shadow(0 26px 36px rgba(0,0,0,.24)) drop-shadow(0 0 22px rgba(138,168,255,.14));}
body.sst-dark .sst-hero-visual img{filter:drop-shadow(0 26px 38px rgba(0,0,0,.42)) drop-shadow(0 0 28px rgba(126,156,255,.22));}
.sst-side-card a{font-weight:700}


/* v4.6 mobile and blog refinement */
.sst-mobile-toggle-icon{width:16px;height:12px;display:inline-block;position:relative}
.sst-mobile-toggle-icon:before,.sst-mobile-toggle-icon:after,.sst-mobile-toggle-icon{border-top:2px solid currentColor}
.sst-mobile-toggle-icon:before,.sst-mobile-toggle-icon:after{content:"";position:absolute;left:0;right:0}
.sst-mobile-toggle-icon:before{top:4px}
.sst-mobile-toggle-icon:after{top:10px}

.sst-post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sst-post-card{padding:24px;border-radius:26px;gap:14px;min-height:250px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.sst-post-card:hover{box-shadow:0 18px 36px rgba(20,35,71,.08)}
.sst-post-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.sst-post-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.sst-post-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:.84rem}
.sst-post-meta span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}
.sst-post-card h2,.sst-post-card h3{font-size:1.5rem;line-height:1.16}
.sst-post-link{color:var(--text)}
.sst-post-link:hover{color:var(--primary)}
.sst-post-card p{font-size:1.02rem;line-height:1.72}
.sst-post-card-foot{margin-top:auto;padding-top:4px}
.sst-widget{border-radius:24px}
.sst-widget ul{padding-left:1.1rem}
.sst-widget li::marker{color:var(--primary)}

@media (max-width:980px){
  .sst-sidebar{width:min(78vw,292px);padding:14px 12px 18px}
  .sst-sidebar-close{min-width:62px;min-height:38px;padding:0 12px;margin-bottom:10px;border-radius:10px}
  .sst-brand{gap:10px;margin-bottom:16px;padding-right:4px}
  .sst-brand-icon{width:48px;height:48px;border-radius:15px}
  .sst-brand strong{font-size:1.2rem}
  .sst-brand span span{font-size:.86rem}
  .sst-side-section{margin:14px 0}
  .sst-side-label{font-size:.68rem;letter-spacing:.14em;margin:0 8px 8px}
  .sst-side-menu{gap:4px}
  .sst-side-menu a{padding:11px 12px;font-size:.98rem;min-height:44px;border-radius:12px}
  .sst-side-menu .ico{width:18px;height:18px}
  .sst-topbar-inner{height:70px;gap:12px;padding:0 14px}
  .sst-mobile-toggle{font-size:.95rem;min-height:42px;padding:9px 12px;border-radius:12px}
  .sst-icon-btn,.sst-en-pill{height:42px;min-width:42px}
  .sst-en-pill{padding:0 14px}
}
@media (max-width:720px){
  .sst-content{padding:14px 12px 36px}
  .sst-topbar-inner{padding:0 12px}
  .sst-hero{display:block;padding:20px;border-radius:26px}
  .sst-hero-text{width:100%;min-width:0}
  .sst-kicker{font-size:.72rem;letter-spacing:.13em;margin-bottom:10px}
  .sst-hero h1{font-size:clamp(2rem,10vw,2.6rem);line-height:1.08;max-width:none;margin-bottom:14px}
  .sst-hero p{max-width:none;font-size:1rem;line-height:1.72;margin-bottom:16px}
  .sst-cta-row{flex-direction:column;align-items:stretch;gap:10px}
  .sst-cta-row .sst-btn{width:100%}
  .sst-banner-note{padding:14px 16px;border-radius:16px;font-size:.94rem;line-height:1.6}
  .sst-hero-visual{margin-top:18px}
  .sst-hero-visual-card{min-height:240px;padding:12px;border-radius:22px}
  .sst-hero-visual img{max-height:220px;width:auto;margin:0 auto}
  .sst-trust{padding:18px 18px}
  .sst-trust strong{font-size:1.45rem}
  .sst-blog-hero{padding:24px;border-radius:24px}
  .sst-blog-hero h1{font-size:2rem;line-height:1.1}
  .sst-post-grid{grid-template-columns:1fr;gap:16px}
  .sst-post-card{padding:20px;border-radius:22px;min-height:unset}
  .sst-post-card-top{flex-direction:column;align-items:flex-start}
  .sst-post-meta{justify-content:flex-start}
}
@media (max-width:420px){
  .sst-sidebar{width:min(76vw,274px)}
  .sst-brand strong{font-size:1.08rem}
  .sst-brand span span{font-size:.82rem}
  .sst-side-menu a{font-size:.94rem;padding:10px 11px}
  .sst-hero h1{font-size:1.92rem}
  .sst-hero-visual-card{min-height:220px}
  .sst-hero-visual img{max-height:200px}
}


/* v4.7 premium polish */
.sst-feature-check .icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sst-feature-check .icon,.sst-mini-card .icon{color:var(--primary)}
.sst-hero-visual-card{background:radial-gradient(circle at 18% 18%,rgba(135,152,255,.20),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.82),rgba(245,247,255,.92));overflow:hidden}
 body.sst-dark .sst-hero-visual-card{background:radial-gradient(circle at 18% 18%,rgba(135,152,255,.20),transparent 26%),linear-gradient(180deg,rgba(16,24,58,.88),rgba(12,20,48,.95))}
.sst-hero-visual img{max-width:92%;max-height:430px;object-fit:contain;filter:drop-shadow(0 24px 34px rgba(20,35,71,.18))}
body.sst-dark .sst-hero-visual img{filter:drop-shadow(0 24px 34px rgba(0,0,0,.35))}
.sst-floating-chip{backdrop-filter:blur(10px)}
.sst-mini-card h3{font-size:1.12rem}
.sst-mini-card p{color:var(--muted)}
@media (max-width:720px){
  .sst-hero-visual-card{min-height:260px}
  .sst-hero-visual img{max-width:100%;max-height:240px}
}

.sst-ad-slot{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:16px 18px;border-radius:18px;margin:0 0 18px;color:var(--text)}
.sst-ad-slot-placeholder{border-style:dashed;background:rgba(63,99,255,.06)}
.sst-ad-slot-placeholder span{color:var(--muted)}


/* v4.8 end-user cleanup */
.sst-feature-band-clean{grid-template-columns:1fr;max-width:980px;margin-left:auto;margin-right:auto}
.sst-feature-copy{padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:1.05rem;line-height:1.7}
.sst-feature-copy:last-child{border-bottom:0}
.sst-feature-copy strong{color:var(--text)}
.sst-feature-band-clean .sst-mini-grid,.sst-feature-band-clean .icon{display:none !important}
.sst-ad-slot-placeholder{display:block;border:1px dashed rgba(74,108,255,.45);background:rgba(74,108,255,.07);color:var(--text);border-radius:18px;padding:14px 16px;margin:0 0 18px;text-align:center}
.sst-ad-slot-placeholder span{color:var(--muted);display:inline-block;margin-left:4px}


/* v4.9 homepage and media-library hero polish */
.sst-how-premium{grid-template-columns:.78fr 1.22fr;align-items:center}
.sst-section-lead{font-size:1.05rem;max-width:680px}
.sst-how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sst-how-step{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:22px;padding:20px}
.sst-how-step span{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:800}
.sst-how-step h3{margin:0 0 8px;font-size:1.08rem}
.sst-how-step p{margin:0;font-size:.98rem;line-height:1.65}
.sst-hero-visual-card{min-height:470px}
.sst-hero-visual img{max-width:96%;max-height:430px}
@media(max-width:1260px){
  .sst-how-premium{grid-template-columns:1fr}
  .sst-how-steps{grid-template-columns:1fr}
}
@media(max-width:720px){
  .sst-how-step{padding:18px}
  .sst-hero-visual-card{min-height:270px}
  .sst-hero-visual img{max-height:250px}
}


/* v5.4 hero image and asset polish */
.sst-hero-visual-card{
  background:
    radial-gradient(circle at 26% 22%, rgba(74,108,255,.14), transparent 34%),
    linear-gradient(180deg,var(--surface-3),var(--surface));
}
body.sst-dark .sst-hero-visual-card{
  background:
    radial-gradient(circle at 26% 22%, rgba(117,144,255,.16), transparent 34%),
    linear-gradient(180deg,#13213d,#0d182e);
}
.sst-hero-visual img{
  background:transparent !important;
  mix-blend-mode:normal;
  object-fit:contain;
  max-width:94%;
}


/* v5.5 cosmetic fixes */
.sst-hero-visual-card:before,
.sst-hero-visual-card:after{
  display:none !important;
  content:none !important;
}
.sst-hero-visual-card{
  background:
    radial-gradient(circle at 50% 45%, rgba(74,108,255,.12), transparent 48%),
    linear-gradient(180deg,var(--surface-3),var(--surface)) !important;
}
body.sst-dark .sst-hero-visual-card{
  background:
    radial-gradient(circle at 50% 45%, rgba(117,144,255,.14), transparent 48%),
    linear-gradient(180deg,#13213d,#0d182e) !important;
}
.sst-hero-visual img{background:transparent !important}


/* v5.6 final polish: dashboard hero */
.sst-hero-dashboard{
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);
  align-items:center;
  gap:34px;
}
.sst-hero-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:0 0 22px;
  padding:10px 15px;
  border-radius:999px;
  background:rgba(63,99,255,.08);
  border:1px solid rgba(63,99,255,.14);
  color:var(--primary);
  font-weight:760;
  box-shadow:var(--shadow-soft);
}
.sst-hero-badge:before{
  content:"";
  width:14px;
  height:14px;
  border-radius:5px;
  background:linear-gradient(135deg,var(--primary),#22b37c);
  box-shadow:0 0 0 5px rgba(63,99,255,.08);
}
.sst-hero-dashboard-card{
  min-height:520px;
  padding:0;
  background:
    radial-gradient(circle at 30% 24%, rgba(64,107,255,.10), transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.84),rgba(245,248,255,.92)) !important;
  border:1px solid rgba(210,221,242,.88);
  overflow:hidden;
}
body.sst-dark .sst-hero-dashboard-card{
  background:
    radial-gradient(circle at 35% 26%, rgba(76,120,255,.18), transparent 34%),
    linear-gradient(180deg,#13213d,#0d182e) !important;
}
.sst-hero-dashboard-card img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:none !important;
  transform:scale(1.015);
}
.sst-hero-dashboard .sst-banner-note{
  max-width:720px;
}
@media(max-width:1180px){
  .sst-hero-dashboard{
    grid-template-columns:1fr;
  }
  .sst-hero-dashboard-card{
    min-height:440px;
  }
}
@media(max-width:720px){
  .sst-hero-dashboard{
    padding:22px;
  }
  .sst-hero-badge{
    font-size:.9rem;
    padding:9px 12px;
  }
  .sst-hero-dashboard-card{
    min-height:270px;
  }
  .sst-hero-dashboard-card img{
    transform:scale(1.05);
  }
}


/* v5.9 official sources blocks */
.sst-official-sources{
  margin:28px 0;
  padding:22px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  box-shadow:var(--shadow-soft);
}
.sst-official-sources h2{
  margin-top:0;
  margin-bottom:10px;
  font-size:1.35rem;
}
.sst-official-sources p{
  margin:0 0 12px;
}
.sst-official-sources ul{
  margin:0;
  padding-left:1.2rem;
}
.sst-official-sources li{
  margin:8px 0;
}
.sst-official-sources a{
  font-weight:700;
}
.sst-official-sources a:after{
  content:" ↗";
  font-weight:600;
  opacity:.72;
}


/* v6.0 single post sidebar + layout polish */
.sst-single-layout main{min-width:0}
.sst-single-layout .sst-article{max-width:none}


/* v6.1 premium How it helps section */
.sst-how-premium{
  position:relative;
  overflow:hidden;
}
.sst-how-premium:before{
  content:"";
  position:absolute;
  inset:18px 48% 18px auto;
  width:280px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(74,108,255,.13), transparent 68%);
  pointer-events:none;
}
.sst-how-premium > *{position:relative;z-index:1}
.sst-how-steps{
  align-items:stretch;
}
.sst-how-step{
  position:relative;
  display:flex !important;
  flex-direction:column;
  min-height:260px;
  gap:18px;
  padding:26px 24px 24px;
  background:
    radial-gradient(circle at 20% 0%, rgba(74,108,255,.12), transparent 34%),
    linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid rgba(217,226,240,.95);
  box-shadow:0 18px 42px rgba(20,35,71,.075);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.sst-how-step:hover{
  transform:translateY(-3px);
  border-color:rgba(74,108,255,.32);
  box-shadow:0 24px 54px rgba(20,35,71,.105);
}
.sst-how-step span{
  width:54px !important;
  height:54px !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,var(--primary-soft),rgba(255,255,255,.9)) !important;
  border:1px solid rgba(74,108,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 10px 24px rgba(74,108,255,.12);
  font-size:1rem;
  letter-spacing:.08em;
}
.sst-how-step h3{
  font-size:1.24rem !important;
  line-height:1.18;
  margin-bottom:10px !important;
}
.sst-how-step p{
  max-width:30ch;
  color:var(--muted);
}
.sst-how-step:after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:4px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg,var(--primary),rgba(94,215,168,.78));
  opacity:.72;
}
@media(max-width:1260px){
  .sst-how-step{min-height:auto}
  .sst-how-step p{max-width:none}
}


/* v6.2 blog post navigation */
.sst-post-nav-top{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:12px;
  margin:0 0 24px;
}
.sst-back-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 15px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--text);
  font-weight:760;
  text-decoration:none;
  box-shadow:var(--shadow-soft);
}
.sst-back-link:hover{
  border-color:var(--primary);
  color:var(--primary);
}
.sst-back-link.secondary{
  background:var(--primary-soft);
  color:var(--primary);
}
.sst-post-nextprev{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:0 0 22px;
}
.sst-post-nextprev a{
  display:block;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface-2);
  font-weight:760;
  text-decoration:none;
}
.sst-post-nextprev div:last-child{text-align:right}
@media(max-width:720px){
  .sst-post-nextprev{grid-template-columns:1fr}
  .sst-post-nextprev div:last-child{text-align:left}
}


/* v6.5 premium polish and dark mode refinement */
.sst-how-steps-v64{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.sst-how-steps-v64 .sst-how-step{
  min-height:255px;
}
.sst-how-steps-v64 .sst-how-step span{
  background:linear-gradient(135deg,#eef2ff,#dbe6ff) !important;
  color:#364cff !important;
  text-shadow:none !important;
  border:1px solid rgba(94,118,255,.25);
}
body.sst-dark .sst-how-steps-v64 .sst-how-step span{
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(122,136,200,.22)) !important;
  color:#eff3ff !important;
  border-color:rgba(169,181,204,.22);
  box-shadow:0 8px 20px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.10);
}
.sst-privacy-step span{
  color:#0c8f68 !important;
}
body.sst-dark .sst-privacy-step span{
  background:linear-gradient(135deg, rgba(116,182,164,.18), rgba(116,182,164,.30)) !important;
  color:#e7f6f1 !important;
}
.sst-schengen-eu-section{
  margin-top:18px;
}
.sst-schengen-eu-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  border:1px solid var(--line);
  border-radius:30px;
  padding:30px 34px;
  background:
    radial-gradient(circle at 8% 0%, rgba(74,108,255,.10), transparent 30%),
    linear-gradient(180deg,var(--surface),var(--surface-2));
  box-shadow:var(--shadow-soft);
}
.sst-schengen-eu-card h2{
  margin:0 0 10px;
  font-size:clamp(1.65rem,2.4vw,2.45rem);
}
.sst-schengen-eu-card p{
  margin:0;
  max-width:78ch;
  color:var(--muted);
}
body.sst-dark{
  --bg:#0b1320;
  --surface:#101a2b;
  --surface-2:#0d1726;
  --surface-3:#142034;
  --line:#25344d;
  --text:#edf2fb;
  --muted:#a9b5cc;
  --primary:#7a88c8;
  --primary-2:#6576b4;
  --primary-soft:rgba(122,136,200,.14);
  --success:#74b6a4;
  --danger:#cf9696;
}
body.sst-dark .sst-btn-primary{
  background:linear-gradient(135deg,#5f6eb3,#7581bc);
  color:#fff;
  box-shadow:0 10px 24px rgba(42,56,96,.24);
}
body.sst-dark .sst-btn-danger,
body.sst-dark .sst-delete{
  color:#e0b3b3 !important;
  background:rgba(207,150,150,.08) !important;
  border-color:rgba(207,150,150,.22) !important;
}
body.sst-dark .sst-btn-secondary,
body.sst-dark .sst-btn-light{
  background:rgba(255,255,255,.028);
  color:#eef2fb;
  border-color:rgba(169,181,204,.20);
}
body.sst-dark .sst-feature-band,
body.sst-dark .sst-panel,
body.sst-dark .sst-trust,
body.sst-dark .sst-info-card,
body.sst-dark .sst-schengen-eu-card,
body.sst-dark .sst-widget,
body.sst-dark .sst-post-card{
  background:
    radial-gradient(circle at 18% 0%, rgba(122,136,200,.06), transparent 34%),
    linear-gradient(180deg,#101a2b,#0d1726);
}
body.sst-dark .sst-how-step{
  border-color:rgba(169,181,204,.20);
  background:
    radial-gradient(circle at 12% 0%, rgba(122,136,200,.08), transparent 38%),
    linear-gradient(180deg,#101a2b,#0d1726);
}
body.sst-dark .sst-how-step:after{
  background:linear-gradient(90deg,#6f7fbd,#74b6a4);
  opacity:.78;
}
body.sst-dark .sst-kicker{
  color:#a6b2e6;
}
@media(max-width:1300px){
  .sst-how-steps-v64{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .sst-how-steps-v64{grid-template-columns:1fr}
  .sst-schengen-eu-card{display:block;padding:24px}
  .sst-schengen-eu-card .sst-btn{margin-top:18px;width:100%}
}


/* v6.6 UX simplification: shorter homepage and premium process section */
.sst-home-simplified{
  margin-bottom:28px;
}
.sst-text-link{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 4px;
  color:var(--primary);
  font-weight:780;
  text-decoration:none;
}
.sst-text-link:after{
  content:" →";
  margin-left:4px;
}
.sst-home-tool-preview{
  margin:28px auto 0;
  width:min(100%, var(--max));
}
.sst-tool-preview-card{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr) auto;
  align-items:center;
  gap:26px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:30px;
  background:
    radial-gradient(circle at 10% 0%, rgba(74,108,255,.08), transparent 32%),
    linear-gradient(180deg,var(--surface),var(--surface-2));
  box-shadow:var(--shadow-soft);
}
.sst-tool-preview-card h2{
  font-size:clamp(1.6rem,2.4vw,2.4rem);
  margin:0 0 10px;
}
.sst-tool-preview-card p{
  margin:0;
  color:var(--muted);
}
.sst-preview-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.sst-preview-metrics div{
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px 16px;
  background:rgba(255,255,255,.62);
  min-width:0;
}
.sst-preview-metrics span,
.sst-preview-metrics small{
  display:block;
  color:var(--muted);
}
.sst-preview-metrics strong{
  display:block;
  margin:8px 0 3px;
  font-size:2rem;
  color:var(--text);
}
.sst-how-v66 .sst-feature-band{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  align-items:center;
  overflow:hidden;
}
.sst-how-intro h2{
  font-size:clamp(2rem,4vw,4rem);
  max-width:9ch;
}
.sst-process-strip{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.sst-process-strip:before{
  content:"";
  position:absolute;
  left:31px;
  top:38px;
  bottom:38px;
  width:2px;
  background:linear-gradient(180deg,rgba(74,108,255,.18),rgba(23,183,126,.22));
}
.sst-process-step{
  position:relative;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:22px;
  border:1px solid var(--line);
  border-radius:24px;
  background:
    radial-gradient(circle at 8% 0%, rgba(74,108,255,.08), transparent 32%),
    var(--surface);
  box-shadow:var(--shadow-soft);
}
.sst-process-step span{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:22px;
  background:linear-gradient(180deg,#f2f5ff,#e5ebff);
  color:var(--primary);
  border:1px solid rgba(74,108,255,.20);
  font-weight:840;
  letter-spacing:.08em;
}
.sst-process-step h3{
  margin:0 0 8px;
  font-size:1.28rem;
}
.sst-process-step p{
  margin:0;
  color:var(--muted);
}
.sst-home-privacy-note{
  grid-column:1 / -1;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:2px;
  padding:18px 20px;
  border:1px solid rgba(23,183,126,.18);
  border-radius:22px;
  background:rgba(23,183,126,.06);
  color:var(--text);
}
.sst-home-privacy-note span{
  color:var(--muted);
}
.sst-home-learning .sst-section-head{
  align-items:end;
}
.sst-home-guide-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.sst-official-compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.6fr);
  gap:28px;
  align-items:start;
  padding:30px;
  border:1px solid var(--line);
  border-radius:30px;
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  box-shadow:var(--shadow-soft);
}
.sst-official-compact h2{
  margin:0 0 10px;
  font-size:clamp(1.55rem,2.4vw,2.35rem);
}
.sst-official-compact p{
  color:var(--muted);
  margin:0;
}
.sst-official-links{
  display:grid;
  gap:10px;
}
.sst-official-links a{
  display:block;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  color:var(--text);
  font-weight:760;
  text-decoration:none;
}
.sst-official-links a:after{
  content:" ↗";
  opacity:.7;
}
body.sst-dark .sst-tool-preview-card,
body.sst-dark .sst-process-step,
body.sst-dark .sst-official-compact{
  background:
    radial-gradient(circle at 12% 0%, rgba(122,136,200,.07), transparent 35%),
    linear-gradient(180deg,#101a2b,#0d1726);
}
body.sst-dark .sst-preview-metrics div,
body.sst-dark .sst-official-links a{
  background:rgba(255,255,255,.03);
}
body.sst-dark .sst-process-step span{
  background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(122,136,200,.16));
  color:#edf2fb;
  border-color:rgba(169,181,204,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
body.sst-dark .sst-process-strip:before{
  background:linear-gradient(180deg,rgba(122,136,200,.16),rgba(116,182,164,.14));
}
body.sst-dark .sst-home-privacy-note{
  background:rgba(116,182,164,.07);
  border-color:rgba(116,182,164,.16);
}
@media(max-width:1180px){
  .sst-tool-preview-card,
  .sst-how-v66 .sst-feature-band,
  .sst-official-compact{
    grid-template-columns:1fr;
  }
  .sst-home-guide-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .sst-tool-preview-card{
    padding:22px;
  }
  .sst-preview-metrics{
    grid-template-columns:1fr;
  }
  .sst-process-step{
    grid-template-columns:54px minmax(0,1fr);
    padding:18px;
  }
  .sst-process-step span{
    width:54px;
    height:54px;
    border-radius:18px;
  }
  .sst-process-strip:before{
    left:27px;
  }
  .sst-home-guide-grid{
    grid-template-columns:1fr;
  }
}


/* v6.9.2 Calculator page spacing hotfix */
body.page-slug-calculator .sst-content,
body.page-id-calculator .sst-content{
  padding-top:22px;
}
body.page-slug-calculator .sst-ad-placeholder,
body.page-slug-calculator .sst-ad-slot,
body.page-id-calculator .sst-ad-placeholder,
body.page-id-calculator .sst-ad-slot{
  margin-bottom:18px;
}
body.page-slug-calculator .sst-page-card,
body.page-id-calculator .sst-page-card{
  padding-top:30px;
}
body.page-slug-calculator .sst-page-title,
body.page-id-calculator .sst-page-title{
  margin-bottom:8px;
}
body.page-slug-calculator .sst-page-content > p:first-child,
body.page-id-calculator .sst-page-content > p:first-child{
  margin-top:0;
  margin-bottom:18px;
}
@media(max-width:760px){
  body.page-slug-calculator .sst-content,
  body.page-id-calculator .sst-content{
    padding-top:16px;
  }
  body.page-slug-calculator .sst-page-card,
  body.page-id-calculator .sst-page-card{
    padding-top:24px;
  }
}


/* v7.1.7 sidebar brand lockup */
.sst-brand{
  gap:12px;
  margin-bottom:28px;
  padding:2px 4px 6px 0;
}
.sst-brand-icon{
  width:54px;
  height:54px;
  border-radius:17px;
}
.sst-brand-copy{
  display:block;
  min-width:0;
}
.sst-brand-copy strong{
  display:block;
  font-size:1.42rem;
  line-height:.98;
  font-weight:760;
  letter-spacing:-.025em;
}
.sst-brand-copy strong span{
  display:block;
}
.sst-brand-copy em{
  display:block;
  margin-top:8px;
  color:var(--sidebar-muted);
  font-style:normal;
  font-size:.88rem;
  line-height:1.15;
  letter-spacing:.01em;
}
.sst-brand span span{
  margin-top:0;
}
@media(max-width:1180px){
  .sst-brand{
    margin-bottom:24px;
  }
  .sst-brand-icon{
    width:52px;
    height:52px;
  }
  .sst-brand-copy strong{
    font-size:1.34rem;
  }
}
@media(max-width:760px){
  .sst-brand{
    gap:12px;
    align-items:center;
  }
  .sst-brand-copy strong{
    font-size:1.28rem;
  }
  .sst-brand-copy em{
    font-size:.84rem;
    margin-top:6px;
  }
}


/* v7.5.9 Homepage planning tools promo */
.sst-home-planning-tools{
  max-width:1220px;
  margin:28px auto;
  padding:34px 32px;
  border:1px solid rgba(91,101,246,.16);
  border-radius:28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(34,179,124,.10), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(91,101,246,.08), transparent 36%),
    rgba(255,255,255,.88);
  box-shadow:0 22px 60px rgba(24,42,80,.08);
}
.sst-tools-promo-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.sst-tools-promo-card{
  display:block;
  padding:22px;
  border:1px solid rgba(91,101,246,.16);
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#f7faff);
  text-decoration:none;
  color:inherit;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.sst-tools-promo-card:hover{
  transform:translateY(-2px);
  border-color:rgba(91,101,246,.32);
  box-shadow:0 18px 40px rgba(24,42,80,.10);
}
.sst-tools-promo-card span{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(91,101,246,.10);
  color:#5661e8;
  font-weight:900;
  margin-bottom:12px;
}
.sst-tools-promo-card h3{
  margin:0 0 8px;
  font-size:1.25rem;
}
.sst-tools-promo-card p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
@media(max-width:760px){
  .sst-home-planning-tools{
    margin:20px 16px;
    padding:24px 20px;
  }
  .sst-tools-promo-grid{
    grid-template-columns:1fr;
  }
}


/* v7.5.10 homepage tools moved after workflow */
.sst-home-tools-after-workflow{
  max-width:1320px;
  margin:30px auto;
  padding:34px 38px;
}
.sst-home-tools-after-workflow .sst-section-head{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:28px;
  align-items:end;
}
.sst-home-tools-after-workflow .sst-section-head .sst-kicker{
  grid-column:1 / -1;
  margin-bottom:-12px;
}
.sst-home-tools-after-workflow .sst-section-head h2{
  margin:0;
}
.sst-home-tools-after-workflow .sst-section-lead{
  margin:0;
}
.sst-home-tools-after-workflow .sst-tools-promo-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:24px;
}
.sst-home-tools-after-workflow .sst-tools-promo-card span{
  display:none;
}
.sst-home-tools-after-workflow .sst-tools-promo-card{
  padding:24px 26px;
}
@media(max-width:760px){
  .sst-home-tools-after-workflow{
    margin:20px 14px;
    padding:24px 20px;
  }
  .sst-home-tools-after-workflow .sst-section-head{
    display:block;
  }
  .sst-home-tools-after-workflow .sst-section-head .sst-kicker{
    margin-bottom:8px;
  }
  .sst-home-tools-after-workflow .sst-section-lead{
    margin-top:10px;
  }
  .sst-home-tools-after-workflow .sst-tools-promo-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
}


/* v7.5.11 travel photo hero layout */
.sst-hero-travel-photo{
  grid-template-columns:minmax(0,1fr) minmax(420px,.86fr);
  padding:38px;
  gap:34px;
  background:
    radial-gradient(circle at 96% 5%, rgba(91,101,246,.10), transparent 34%),
    radial-gradient(circle at 8% 94%, rgba(34,179,124,.06), transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.95),rgba(248,251,255,.94));
}
.sst-hero-travel-photo .sst-hero-text{
  position:relative;
  z-index:2;
}
.sst-hero-travel-photo .sst-hero-text h1{
  max-width:620px;
  font-size:clamp(3.2rem,4.2vw,5.05rem);
  letter-spacing:-.045em;
}
.sst-hero-travel-photo .sst-hero-text > p{
  max-width:610px;
}
.sst-hero-travel-photo .sst-hero-visual{
  position:relative;
  z-index:1;
  align-self:stretch;
}
.sst-hero-travel-photo .sst-hero-dashboard-card{
  min-height:420px;
  max-width:620px;
  border-radius:28px;
  background:linear-gradient(180deg,#fff,#f7faff) !important;
  box-shadow:0 24px 70px rgba(24,42,80,.10);
}
.sst-hero-travel-photo .sst-hero-dashboard-card img{
  object-fit:cover;
  object-position:center;
  transform:scale(1.0);
}
.sst-hero-travel-photo .sst-banner-note{
  max-width:610px;
}
@media(max-width:1180px){
  .sst-hero-travel-photo{
    grid-template-columns:1fr;
  }
  .sst-hero-travel-photo .sst-hero-dashboard-card{
    min-height:360px;
    max-width:760px;
  }
}
@media(max-width:720px){
  .sst-hero-travel-photo{
    padding:22px;
    gap:20px;
  }
  .sst-hero-travel-photo .sst-hero-text h1{
    font-size:clamp(2.55rem,12vw,3.8rem);
  }
  .sst-hero-travel-photo .sst-hero-visual{
    order:-1;
  }
  .sst-hero-travel-photo .sst-hero-dashboard-card{
    min-height:220px;
    border-radius:22px;
  }
  .sst-hero-travel-photo .sst-hero-dashboard-card img{
    object-position:center;
    transform:scale(1.02);
  }
}


/* v7.5.14 homepage travel tools copy/layout */
.sst-home-tools-head h2{
  font-size:clamp(2.15rem,3.2vw,3.55rem);
  letter-spacing:-.045em;
  line-height:1.02;
}
.sst-home-free-note{
  margin-top:18px;
  padding:14px 18px;
  border:1px solid rgba(34,179,124,.18);
  border-radius:18px;
  background:rgba(34,179,124,.07);
  color:var(--muted);
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.sst-home-free-note strong{
  color:var(--text);
}
@media(max-width:720px){
  .sst-home-tools-head h2{
    font-size:2.15rem;
  }
  .sst-home-free-note{
    display:block;
  }
  .sst-home-free-note span{
    display:block;
    margin-top:3px;
  }
}


/* v7.5.15 homepage travel tools headline refinement */
.sst-home-tools-head h2{
  max-width:760px;
}
@media(min-width:980px){
  .sst-home-tools-after-workflow .sst-section-head{
    grid-template-columns:minmax(420px, .95fr) minmax(360px, 1.05fr);
    align-items:center;
  }
}
@media(max-width:720px){
  .sst-home-tools-head h2{
    font-size:2rem;
    line-height:1.08;
  }
}


/* v7.5.16 final homepage polish */
.sst-home-tools-head h2{
  max-width:700px;
}
.sst-home-tools-after-workflow .sst-section-head{
  align-items:center;
}
@media(max-width:720px){
  .sst-home-tools-head h2{
    font-size:2.05rem;
    line-height:1.08;
  }
}

/* v7.5.17 final trust strip copy */

/* v7.5.19 editorial blog date cadence */


/* v7.5.30: dark-mode polish for current homepage/Trip Planner blocks */
body.sst-dark .sst-home-planning-tools,
body.sst-dark .sst-home-tools-after-workflow,
body.sst-dark .sst-tools-promo-card,
body.sst-dark .sst-tool-preview-card,
body.sst-dark .sst-process-step,
body.sst-dark .sst-feature-band,
body.sst-dark .sst-info-card,
body.sst-dark .sst-official-compact,
body.sst-dark .sst-official-links a,
body.sst-dark .sst-home-guide-grid a,
body.sst-dark .sst-trust,
body.sst-dark .sst-mini-card,
body.sst-dark .sst-legal-box,
body.sst-dark .sst-seo-card{
  background:linear-gradient(180deg,rgba(17,28,45,.96),rgba(12,22,36,.94)) !important;
  border-color:rgba(142,157,198,.16) !important;
  color:#eef4ff !important;
  box-shadow:0 18px 46px rgba(0,0,0,.22) !important;
}
body.sst-dark .sst-tools-promo-card h3,
body.sst-dark .sst-home-tools-after-workflow h2,
body.sst-dark .sst-tool-preview-card h2,
body.sst-dark .sst-process-step h3,
body.sst-dark .sst-official-compact h2,
body.sst-dark .sst-feature-band h2,
body.sst-dark .sst-info-card h2{
  color:#f6f8ff !important;
}
body.sst-dark .sst-tools-promo-card p,
body.sst-dark .sst-home-tools-after-workflow p,
body.sst-dark .sst-tool-preview-card p,
body.sst-dark .sst-process-step p,
body.sst-dark .sst-official-compact p,
body.sst-dark .sst-feature-band p,
body.sst-dark .sst-info-card p{
  color:#aeb9d4 !important;
}
body.sst-dark .sst-home-free-note{
  background:rgba(116,182,164,.08) !important;
  border-color:rgba(116,182,164,.18) !important;
  color:#b8c5dd !important;
}
body.sst-dark .sst-home-free-note strong{color:#eaf2ff !important;}


/* v7.5.31: dark-mode consistency for reference pages and footer/cards */
body.sst-dark .sst-content-wrap,
body.sst-dark .sst-page-card,
body.sst-dark .sst-countries-route-cta,
body.sst-dark .sst-country-grid .sst-country,
body.sst-dark .sst-info-card,
body.sst-dark .sst-mini-card,
body.sst-dark .sst-legal-box,
body.sst-dark .sst-seo-card,
body.sst-dark .sst-guide-card{
  background:linear-gradient(180deg,rgba(17,28,45,.96),rgba(12,22,36,.94)) !important;
  border-color:rgba(142,157,198,.16) !important;
  color:#eef4ff !important;
  box-shadow:0 18px 46px rgba(0,0,0,.20) !important;
}
body.sst-dark .sst-content-wrap h1,
body.sst-dark .sst-content-wrap h2,
body.sst-dark .sst-content-wrap h3,
body.sst-dark .sst-page-card h1,
body.sst-dark .sst-page-card h2,
body.sst-dark .sst-page-card h3,
body.sst-dark .sst-countries-route-cta h2{
  color:#f5f8ff !important;
}
body.sst-dark .sst-content-wrap p,
body.sst-dark .sst-content-wrap li,
body.sst-dark .sst-page-card p,
body.sst-dark .sst-page-card li,
body.sst-dark .sst-countries-route-cta p{
  color:#aeb9d4 !important;
}
body.sst-dark .sst-page-card table,
body.sst-dark .sst-page-card table th,
body.sst-dark .sst-page-card table td{
  background:rgba(8,18,32,.86) !important;
  border-color:rgba(142,157,198,.16) !important;
  color:#e8efff !important;
}


/* v7.6.0: homepage hero visual bleed test - keeps original copy/colors, removes the extra boxed image container */
.sst-hero-visual-bleed-test{
  position:relative;
  overflow:hidden;
}
.sst-hero-visual-bleed-test .sst-hero-text{
  position:relative;
  z-index:3;
}
.sst-hero-visual-bleed-test .sst-hero-visual{
  position:relative;
  z-index:2;
  justify-content:flex-end;
  margin-right:-10px;
}
.sst-hero-visual-bleed-test .sst-hero-dashboard-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  min-height:500px;
  max-width:650px;
}
.sst-hero-visual-bleed-test .sst-hero-dashboard-card:before,
.sst-hero-visual-bleed-test .sst-hero-dashboard-card:after{
  display:none !important;
}
.sst-hero-visual-bleed-test .sst-hero-dashboard-card img{
  object-fit:contain;
  transform:scale(1.05);
  filter:drop-shadow(0 32px 50px rgba(24,42,80,.16)) !important;
}
body.sst-dark .sst-hero-visual-bleed-test .sst-hero-dashboard-card{
  background:transparent !important;
}
body.sst-dark .sst-hero-visual-bleed-test .sst-hero-dashboard-card img{
  filter:drop-shadow(0 34px 55px rgba(0,0,0,.38)) !important;
}
@media(max-width:1180px){
  .sst-hero-visual-bleed-test .sst-hero-visual{margin-right:0;justify-content:center;}
  .sst-hero-visual-bleed-test .sst-hero-dashboard-card{max-width:760px;min-height:360px;}
  .sst-hero-visual-bleed-test .sst-hero-dashboard-card img{transform:scale(1.01);}
}
@media(max-width:720px){
  .sst-hero-visual-bleed-test .sst-hero-dashboard-card{min-height:220px;}
  .sst-hero-visual-bleed-test .sst-hero-dashboard-card img{transform:scale(1.0);max-height:220px;}
}

/* v7.6.1: hero background image test - image is no longer a separate boxed/card element */
.sst-hero-background-image-test{
  grid-template-columns: minmax(0, 0.86fr) minmax(420px, 1.14fr);
  min-height: 560px;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.94) 38%, rgba(255,255,255,.70) 58%, rgba(255,255,255,.28) 100%),
    linear-gradient(180deg, var(--surface), var(--surface-2));
}
.sst-hero-background-image-test::after{
  content:"";
  position:absolute;
  z-index:0;
  right:22px;
  top:34px;
  bottom:34px;
  width:62%;
  background-image: var(--sst-hero-bg-image);
  background-repeat:no-repeat;
  background-position:center right;
  background-size:contain;
  opacity:.92;
  filter:drop-shadow(0 28px 38px rgba(20,35,71,.12));
  pointer-events:none;
}
.sst-hero-background-image-test .sst-hero-text{
  position:relative;
  z-index:2;
  max-width:660px;
}
.sst-hero-background-image-test .sst-hero-visual{
  display:none !important;
}
.sst-hero-background-image-test .sst-banner-note{
  max-width:520px;
  backdrop-filter:blur(8px);
}
body.sst-dark .sst-hero-background-image-test{
  background:
    linear-gradient(90deg, rgba(12,20,48,.98) 0%, rgba(12,20,48,.92) 42%, rgba(12,20,48,.70) 62%, rgba(12,20,48,.22) 100%),
    linear-gradient(180deg, var(--surface), var(--surface-2));
}
body.sst-dark .sst-hero-background-image-test::after{
  opacity:.72;
  filter:drop-shadow(0 28px 42px rgba(0,0,0,.30));
}
@media (max-width: 980px){
  .sst-hero-background-image-test{
    grid-template-columns:1fr;
    min-height:auto;
    padding-bottom:260px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 60%, rgba(255,255,255,.55) 100%),
      linear-gradient(180deg, var(--surface), var(--surface-2));
  }
  .sst-hero-background-image-test::after{
    width:92%;
    height:250px;
    top:auto;
    left:4%;
    right:4%;
    bottom:18px;
    background-position:center bottom;
    opacity:.82;
  }
}
@media (max-width: 640px){
  .sst-hero-background-image-test{
    padding-bottom:210px;
  }
  .sst-hero-background-image-test::after{
    height:200px;
  }
}


/* v7.6.4: hero underlay responsive fix
   Desktop: keep the dashboard as a right-side background illustration without stretching or covering the copy.
   Tablet/mobile: hide the background illustration completely so the hero stays clean and readable. */
.sst-hero-underlay-image-test{
  display:block;
  min-height:560px;
  padding:58px clamp(32px, 4.6vw, 72px);
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 94% 12%, rgba(74,108,255,.12), transparent 34%),
    linear-gradient(180deg, var(--surface), var(--surface-2));
}
.sst-hero-underlay-image-test::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.995) 0%,
      rgba(255,255,255,.985) 36%,
      rgba(255,255,255,.94) 49%,
      rgba(255,255,255,.70) 61%,
      rgba(255,255,255,.22) 100%),
    radial-gradient(circle at 24% 54%, rgba(255,255,255,.96), rgba(255,255,255,.34) 48%, transparent 74%);
  pointer-events:none;
}
.sst-hero-underlay-image-test::after{
  content:"";
  position:absolute;
  z-index:0;
  top:72px;
  right:54px;
  bottom:66px;
  left:50%;
  background-image:var(--sst-hero-bg-image);
  background-repeat:no-repeat;
  background-position:right center;
  background-size:contain;
  opacity:.82;
  filter:drop-shadow(0 28px 42px rgba(20,35,71,.12));
  pointer-events:none;
}
.sst-hero-underlay-image-test .sst-hero-text{
  position:relative;
  z-index:2;
  width:min(48%, 620px);
  max-width:620px;
}
.sst-hero-underlay-image-test .sst-hero-text > p:not(.sst-hero-badge),
.sst-hero-underlay-image-test .sst-cta-row,
.sst-hero-underlay-image-test .sst-banner-note{
  max-width:560px;
}
.sst-hero-underlay-image-test .sst-hero-visual{
  display:none !important;
}
.sst-hero-underlay-image-test .sst-banner-note{
  background:rgba(238,242,255,.86);
  backdrop-filter:blur(10px);
}
body.sst-dark .sst-hero-underlay-image-test{
  background:
    radial-gradient(circle at 94% 12%, rgba(74,108,255,.16), transparent 34%),
    linear-gradient(180deg, var(--surface), var(--surface-2));
}
body.sst-dark .sst-hero-underlay-image-test::before{
  background:
    linear-gradient(90deg,
      rgba(12,20,48,.995) 0%,
      rgba(12,20,48,.97) 38%,
      rgba(12,20,48,.86) 54%,
      rgba(12,20,48,.60) 70%,
      rgba(12,20,48,.22) 100%),
    radial-gradient(circle at 24% 54%, rgba(12,20,48,.88), rgba(12,20,48,.30) 50%, transparent 74%);
}
body.sst-dark .sst-hero-underlay-image-test::after{
  opacity:.56;
  filter:drop-shadow(0 28px 42px rgba(0,0,0,.30));
}
@media(max-width:1180px){
  .sst-hero-underlay-image-test{
    min-height:auto;
    padding:42px 34px;
  }
  .sst-hero-underlay-image-test .sst-hero-text{
    width:min(58%, 620px);
  }
  .sst-hero-underlay-image-test::after{
    left:58%;
    right:28px;
    top:76px;
    bottom:76px;
    opacity:.42;
  }
  .sst-hero-underlay-image-test::before{
    background:
      linear-gradient(90deg,
        rgba(255,255,255,.995) 0%,
        rgba(255,255,255,.99) 50%,
        rgba(255,255,255,.82) 72%,
        rgba(255,255,255,.28) 100%);
  }
}
@media(max-width:980px){
  .sst-hero-underlay-image-test{
    padding:34px 28px;
  }
  .sst-hero-underlay-image-test::after{
    display:none;
  }
  .sst-hero-underlay-image-test::before{
    background:
      radial-gradient(circle at 94% 8%, rgba(74,108,255,.10), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  }
  .sst-hero-underlay-image-test .sst-hero-text{
    width:100%;
    max-width:none;
  }
  .sst-hero-underlay-image-test .sst-hero-text > p:not(.sst-hero-badge),
  .sst-hero-underlay-image-test .sst-cta-row,
  .sst-hero-underlay-image-test .sst-banner-note{
    max-width:none;
  }
  body.sst-dark .sst-hero-underlay-image-test::before{
    background:
      radial-gradient(circle at 94% 8%, rgba(74,108,255,.16), transparent 34%),
      linear-gradient(180deg, rgba(12,20,48,.98), rgba(12,20,48,.92));
  }
}
@media(max-width:520px){
  .sst-hero-underlay-image-test{
    padding:26px 20px;
  }
  .sst-hero-underlay-image-test .sst-cta-row{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }
  .sst-hero-underlay-image-test .sst-cta-row .sst-button,
  .sst-hero-underlay-image-test .sst-cta-row .sst-button-secondary{
    width:100%;
    justify-content:center;
  }
}


/* v7.6.5: hero full-background image behaviour like a classic image hero
   The hero image is not a separate right card and is not hidden on tablet/mobile.
   It stays as a soft background layer under the copy and crops responsively. */
.sst-hero-underlay-image-test{
  display:block !important;
  min-height:clamp(520px, 48vw, 690px) !important;
  padding:clamp(42px, 5vw, 78px) clamp(34px, 5vw, 78px) !important;
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:
    radial-gradient(circle at 86% 8%, rgba(74,108,255,.10), transparent 34%),
    linear-gradient(180deg, var(--surface), var(--surface-2)) !important;
}
.sst-hero-underlay-image-test::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-image:var(--sst-hero-bg-image) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center right !important;
  opacity:.58 !important;
  filter:none !important;
  pointer-events:none !important;
}
.sst-hero-underlay-image-test::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.96) 29%,
      rgba(255,255,255,.82) 47%,
      rgba(255,255,255,.48) 65%,
      rgba(255,255,255,.18) 100%),
    radial-gradient(circle at 22% 47%, rgba(255,255,255,.94), rgba(255,255,255,.36) 42%, transparent 70%) !important;
  pointer-events:none !important;
}
.sst-hero-underlay-image-test .sst-hero-text{
  position:relative !important;
  z-index:2 !important;
  width:min(54%, 690px) !important;
  max-width:690px !important;
}
.sst-hero-underlay-image-test .sst-hero-visual{
  display:none !important;
}
.sst-hero-underlay-image-test .sst-hero-text > p:not(.sst-hero-badge),
.sst-hero-underlay-image-test .sst-cta-row,
.sst-hero-underlay-image-test .sst-banner-note{
  max-width:620px !important;
}
.sst-hero-underlay-image-test .sst-banner-note{
  background:rgba(238,242,255,.84) !important;
  backdrop-filter:blur(8px) !important;
}
body.sst-dark .sst-hero-underlay-image-test::before{
  background:
    linear-gradient(90deg,
      rgba(12,20,48,.98) 0%,
      rgba(12,20,48,.94) 33%,
      rgba(12,20,48,.78) 52%,
      rgba(12,20,48,.48) 70%,
      rgba(12,20,48,.20) 100%),
    radial-gradient(circle at 22% 47%, rgba(12,20,48,.86), rgba(12,20,48,.34) 45%, transparent 72%) !important;
}
body.sst-dark .sst-hero-underlay-image-test::after{
  opacity:.38 !important;
}
@media(max-width:1180px){
  .sst-hero-underlay-image-test{
    min-height:clamp(520px, 58vw, 660px) !important;
    padding:42px 34px !important;
  }
  .sst-hero-underlay-image-test::after{
    background-position:58% center !important;
    opacity:.42 !important;
  }
  .sst-hero-underlay-image-test::before{
    background:
      linear-gradient(90deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.96) 42%,
        rgba(255,255,255,.72) 68%,
        rgba(255,255,255,.22) 100%),
      radial-gradient(circle at 23% 45%, rgba(255,255,255,.96), rgba(255,255,255,.42) 48%, transparent 76%) !important;
  }
  .sst-hero-underlay-image-test .sst-hero-text{
    width:min(70%, 680px) !important;
  }
}
@media(max-width:820px){
  .sst-hero-underlay-image-test{
    min-height:auto !important;
    padding:32px 26px 260px !important;
  }
  .sst-hero-underlay-image-test::after{
    background-size:1120px auto !important;
    background-position:58% bottom !important;
    opacity:.26 !important;
  }
  .sst-hero-underlay-image-test::before{
    background:
      linear-gradient(180deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.96) 54%,
        rgba(255,255,255,.78) 78%,
        rgba(255,255,255,.28) 100%),
      radial-gradient(circle at 24% 20%, rgba(255,255,255,.98), rgba(255,255,255,.56) 44%, transparent 78%) !important;
  }
  .sst-hero-underlay-image-test .sst-hero-text{
    width:100% !important;
    max-width:none !important;
  }
  .sst-hero-underlay-image-test .sst-hero-text > p:not(.sst-hero-badge),
  .sst-hero-underlay-image-test .sst-cta-row,
  .sst-hero-underlay-image-test .sst-banner-note{
    max-width:680px !important;
  }
  body.sst-dark .sst-hero-underlay-image-test::before{
    background:
      linear-gradient(180deg,
        rgba(12,20,48,.98) 0%,
        rgba(12,20,48,.94) 56%,
        rgba(12,20,48,.78) 80%,
        rgba(12,20,48,.38) 100%) !important;
  }
}
@media(max-width:520px){
  .sst-hero-underlay-image-test{
    padding:28px 22px 230px !important;
  }
  .sst-hero-underlay-image-test::after{
    background-size:760px auto !important;
    background-position:57% bottom !important;
    opacity:.24 !important;
  }
  .sst-hero-underlay-image-test .sst-cta-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .sst-hero-underlay-image-test .sst-cta-row .sst-btn,
  .sst-hero-underlay-image-test .sst-cta-row .sst-button,
  .sst-hero-underlay-image-test .sst-cta-row .sst-button-secondary{
    width:100% !important;
    justify-content:center !important;
  }
}


/* v7.6.6: remove readability gradient overlay from hero background image.
   The uploaded hero artwork already has a prepared empty/soft left side for text,
   so no additional white gradient should sit over the image. */
.sst-hero-underlay-image-test::before{
  background:none !important;
  display:none !important;
}
.sst-hero-underlay-image-test::after{
  opacity:.72 !important;
}
body.sst-dark .sst-hero-underlay-image-test::after{
  opacity:.46 !important;
}
@media(max-width:1180px){
  .sst-hero-underlay-image-test::before{
    background:none !important;
    display:none !important;
  }
  .sst-hero-underlay-image-test::after{
    opacity:.52 !important;
  }
}
@media(max-width:820px){
  .sst-hero-underlay-image-test::before{
    background:none !important;
    display:none !important;
  }
  .sst-hero-underlay-image-test::after{
    opacity:.34 !important;
  }
}
@media(max-width:520px){
  .sst-hero-underlay-image-test::after{
    opacity:.30 !important;
  }
}


/* v7.6.7: use the prepared 1920x800 hero artwork without cropping.
   The image contains its own soft left reading area, so the theme must not cover-crop it. */
.sst-hero-underlay-image-test{
  min-height:auto !important;
  aspect-ratio:12 / 5 !important;
  padding:clamp(44px, 4.8vw, 76px) clamp(38px, 5.2vw, 86px) !important;
  background:var(--surface-2) !important;
}
.sst-hero-underlay-image-test::before{
  display:none !important;
  background:none !important;
}
.sst-hero-underlay-image-test::after{
  inset:0 !important;
  background-image:var(--sst-hero-bg-image) !important;
  background-repeat:no-repeat !important;
  background-size:var(--sst-hero-bg-size, cover) !important;
  background-position:var(--sst-hero-bg-position, center center) !important;
  opacity:var(--sst-hero-bg-opacity, 1) !important;
  filter:none !important;
}
.sst-hero-underlay-image-test .sst-hero-text{
  width:min(47%, 660px) !important;
  max-width:660px !important;
}
.sst-hero-underlay-image-test .sst-banner-note{
  background:rgba(238,242,255,.76) !important;
  backdrop-filter:none !important;
}
body.sst-dark .sst-hero-underlay-image-test{
  background:var(--surface-2) !important;
}
body.sst-dark .sst-hero-underlay-image-test::after{
  opacity:.82 !important;
  filter:none !important;
}
@media(max-width:1180px){
  .sst-hero-underlay-image-test{
    aspect-ratio:auto !important;
    min-height:clamp(540px, 58vw, 700px) !important;
    padding:42px 34px !important;
  }
  .sst-hero-underlay-image-test::after{
    background-size:contain !important;
    background-position:center center !important;
    opacity:1 !important;
  }
  .sst-hero-underlay-image-test .sst-hero-text{
    width:min(58%, 620px) !important;
  }
}
@media(max-width:820px){
  .sst-hero-underlay-image-test{
    min-height:clamp(620px, 120vw, 820px) !important;
    padding:32px 26px !important;
  }
  .sst-hero-underlay-image-test::after{
    background-size:auto 100% !important;
    background-position:62% center !important;
    opacity:.72 !important;
  }
  .sst-hero-underlay-image-test .sst-hero-text{
    width:100% !important;
    max-width:none !important;
  }
}
@media(max-width:520px){
  .sst-hero-underlay-image-test{
    min-height:720px !important;
    padding:28px 22px !important;
  }
  .sst-hero-underlay-image-test::after{
    background-size:auto 100% !important;
    background-position:60% center !important;
    opacity:.62 !important;
  }
}


/* v7.6.8: stable responsive hero reset
   Desktop uses the prepared 1920x800 artwork as a safe background underlay.
   Tablet/mobile return to normal document flow with the image below the copy, so no text block can be clipped. */
.sst-hero-underlay-image-test{
  display:block !important;
  aspect-ratio:auto !important;
  min-height:var(--sst-hero-min-height, 560px) !important;
  padding:clamp(42px, 4.8vw, 76px) clamp(36px, 5.2vw, 86px) !important;
  overflow:hidden !important;
  position:relative !important;
  isolation:isolate !important;
  background:var(--surface-2) !important;
}
.sst-hero-underlay-image-test::before{
  display:none !important;
  content:none !important;
  background:none !important;
}
.sst-hero-underlay-image-test::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-image:var(--sst-hero-bg-image) !important;
  background-repeat:no-repeat !important;
  background-size:var(--sst-hero-bg-size, cover) !important;
  background-position:var(--sst-hero-bg-position, center center) !important;
  opacity:var(--sst-hero-bg-opacity, 1) !important;
  filter:none !important;
  pointer-events:none !important;
}
.sst-hero-underlay-image-test .sst-hero-text{
  position:relative !important;
  z-index:2 !important;
  width:min(var(--sst-hero-text-width, 48%), var(--sst-hero-text-max-width, 680px)) !important;
  max-width:var(--sst-hero-text-max-width, 680px) !important;
}
.sst-hero-underlay-image-test .sst-hero-text h1{
  max-width:680px !important;
}
.sst-hero-underlay-image-test .sst-hero-text > p:not(.sst-hero-badge),
.sst-hero-underlay-image-test .sst-cta-row,
.sst-hero-underlay-image-test .sst-banner-note{
  max-width:620px !important;
}
.sst-hero-underlay-image-test .sst-banner-note{
  background:rgba(238,242,255,.80) !important;
  backdrop-filter:none !important;
}
.sst-hero-underlay-image-test .sst-hero-visual{
  display:none !important;
}
body.sst-dark .sst-hero-underlay-image-test{
  background:var(--surface-2) !important;
}
body.sst-dark .sst-hero-underlay-image-test::after{
  opacity:.84 !important;
  filter:none !important;
}
body.sst-dark .sst-hero-underlay-image-test .sst-banner-note{
  background:rgba(16,24,58,.82) !important;
}
@media(max-width:1180px){
  .sst-hero-underlay-image-test{
    min-height:auto !important;
    padding:40px 34px !important;
    overflow:hidden !important;
  }
  .sst-hero-underlay-image-test::after{
    background-size:contain !important;
    background-position:center center !important;
    opacity:.72 !important;
  }
  .sst-hero-underlay-image-test .sst-hero-text{
    width:min(62%, 660px) !important;
  }
  .sst-hero-underlay-image-test .sst-banner-note{
    background:rgba(238,242,255,.88) !important;
  }
}
@media(max-width:860px){
  .sst-hero-underlay-image-test{
    min-height:auto !important;
    padding:30px 24px !important;
    overflow:visible !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(74,108,255,.08), transparent 34%),
      linear-gradient(180deg, var(--surface), var(--surface-2)) !important;
  }
  .sst-hero-underlay-image-test::after{
    display:none !important;
    content:none !important;
  }
  .sst-hero-underlay-image-test .sst-hero-text{
    width:100% !important;
    max-width:none !important;
  }
  .sst-hero-underlay-image-test .sst-hero-text > p:not(.sst-hero-badge),
  .sst-hero-underlay-image-test .sst-cta-row,
  .sst-hero-underlay-image-test .sst-banner-note{
    max-width:none !important;
  }
  .sst-hero-underlay-image-test .sst-hero-visual{
    display:flex !important;
    position:relative !important;
    z-index:1 !important;
    margin-top:22px !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .sst-hero-underlay-image-test .sst-hero-dashboard-card{
    width:100% !important;
    max-width:760px !important;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:22px !important;
    background:transparent !important;
    overflow:hidden !important;
  }
  .sst-hero-underlay-image-test .sst-hero-dashboard-card::before,
  .sst-hero-underlay-image-test .sst-hero-dashboard-card::after{
    display:none !important;
    content:none !important;
  }
  .sst-hero-underlay-image-test .sst-hero-dashboard-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    opacity:1 !important;
    filter:drop-shadow(0 20px 32px rgba(20,35,71,.10)) !important;
    transform:none !important;
  }
  body.sst-dark .sst-hero-underlay-image-test{
    background:
      radial-gradient(circle at 100% 0%, rgba(74,108,255,.13), transparent 34%),
      linear-gradient(180deg, var(--surface), var(--surface-2)) !important;
  }
}
@media(max-width:520px){
  .sst-hero-underlay-image-test{
    padding:26px 20px !important;
    border-radius:28px !important;
  }
  .sst-hero-underlay-image-test .sst-cta-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .sst-hero-underlay-image-test .sst-cta-row .sst-btn,
  .sst-hero-underlay-image-test .sst-cta-row .sst-button,
  .sst-hero-underlay-image-test .sst-cta-row .sst-button-secondary{
    width:100% !important;
    justify-content:center !important;
  }
}


/* v7.6.10: mobile/tablet hero admin controls and compact fallback */
@media(max-width:1180px){
  .sst-hero-underlay-image-test .sst-hero-text h1{
    max-width:none !important;
  }
  .sst-hero-underlay-image-test .sst-banner-note{
    width:100% !important;
    box-sizing:border-box !important;
  }
}
@media(max-width:860px){
  .sst-hero-underlay-image-test{
    padding:var(--sst-hero-mobile-padding-y, 26px) var(--sst-hero-mobile-padding-x, 20px) !important;
  }
  .sst-hero-underlay-image-test .sst-hero-text h1{
    font-size:var(--sst-hero-mobile-title-size, clamp(2rem, 9vw, 2.55rem)) !important;
    line-height:1.06 !important;
    letter-spacing:-.035em !important;
    max-width:none !important;
  }
  .sst-hero-underlay-image-test .sst-hero-text > p:not(.sst-hero-badge){
    font-size:1rem !important;
    line-height:1.65 !important;
  }
  .sst-hero-underlay-image-test .sst-hero-badge{
    white-space:normal !important;
    width:auto !important;
    max-width:100% !important;
  }
  .sst-hero-underlay-image-test .sst-banner-note{
    width:100% !important;
    max-width:none !important;
    padding:18px !important;
    font-size:.98rem !important;
    line-height:1.65 !important;
  }
  .sst-hero-underlay-image-test[data-mobile-image="hide"] .sst-hero-visual{
    display:none !important;
  }
}
@media(max-width:520px){
  .sst-hero-underlay-image-test{
    padding:var(--sst-hero-mobile-padding-y, 24px) var(--sst-hero-mobile-padding-x, 18px) !important;
  }
}

/* v7.6.11: independent soft-box tint + desktop hero spacing controls */
:root{
  --sst-soft-box-bg:rgba(74,108,255,.10);
  --sst-soft-box-bg-strong:rgba(74,108,255,.16);
  --sst-soft-box-border:rgba(74,108,255,.18);
  --sst-tab-active-soft:#6972f2;
  --sst-tab-active-soft-2:#5661e8;
  --sst-tab-soft-border:rgba(105,114,242,.12);
  --sst-planned-accent:#10b981;
  --sst-progress-secondary:#8193ff;
  --sst-hero-title-max-width:680px;
  --sst-hero-desktop-padding-x:72px;
  --sst-hero-desktop-padding-y:58px;
}
.sst-banner-note,
.sst-post-badge,
.sst-how-step span{
  background:var(--sst-soft-box-bg) !important;
}
.sst-banner-note{
  border-color:var(--sst-soft-box-border) !important;
}
.sst-info-card .icon,
.sst-mini-card .icon,
.sst-legal-box .icon{
  background:var(--sst-soft-box-bg-strong) !important;
}
.sst-hero-underlay-image-test{
  padding:var(--sst-hero-desktop-padding-y) var(--sst-hero-desktop-padding-x) !important;
}
.sst-hero-underlay-image-test .sst-hero-text h1{
  max-width:var(--sst-hero-title-max-width) !important;
}
@media(max-width:1180px){
  .sst-hero-underlay-image-test[data-mobile-image="hide-image"]{
    min-height:auto !important;
    padding:34px 30px !important;
  }
  .sst-hero-underlay-image-test[data-mobile-image="hide-image"]::after{
    display:none !important;
    content:none !important;
  }
  .sst-hero-underlay-image-test[data-mobile-image="hide-image"] .sst-hero-visual{
    display:none !important;
  }
  .sst-hero-underlay-image-test[data-mobile-image="hide-image"] .sst-hero-text{
    width:100% !important;
    max-width:none !important;
  }
  .sst-hero-underlay-image-test[data-mobile-image="hide-image"] .sst-hero-text > p:not(.sst-hero-badge),
  .sst-hero-underlay-image-test[data-mobile-image="hide-image"] .sst-cta-row,
  .sst-hero-underlay-image-test[data-mobile-image="hide-image"] .sst-banner-note{
    max-width:none !important;
  }
}

/* v7.6.12: stable hero identity controls
   Default remains the safe prepared-background layout, but the admin can switch
   desktop to a classic two-column image card when testing different hero visuals. */
.sst-hero-underlay-image-test[data-desktop-mode="classic-card"]{
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr) !important;
  gap:clamp(28px, 4vw, 52px) !important;
  align-items:center !important;
  min-height:auto !important;
  padding:var(--sst-hero-desktop-padding-y, 58px) var(--sst-hero-desktop-padding-x, 72px) !important;
  background:
    radial-gradient(circle at 88% 4%, rgba(74,108,255,.10), transparent 34%),
    linear-gradient(180deg, var(--surface), var(--surface-2)) !important;
}
.sst-hero-underlay-image-test[data-desktop-mode="classic-card"]::after,
.sst-hero-underlay-image-test[data-desktop-mode="classic-card"]::before{
  display:none !important;
  content:none !important;
}
.sst-hero-underlay-image-test[data-desktop-mode="classic-card"] .sst-hero-text{
  width:100% !important;
  max-width:var(--sst-hero-text-max-width, 680px) !important;
}
.sst-hero-underlay-image-test[data-desktop-mode="classic-card"] .sst-hero-visual{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  position:relative !important;
  z-index:1 !important;
  margin:0 !important;
}
.sst-hero-underlay-image-test[data-desktop-mode="classic-card"] .sst-hero-dashboard-card{
  width:100% !important;
  max-width:660px !important;
  min-height:0 !important;
  aspect-ratio:1.27 / 1 !important;
  padding:0 !important;
  border:1px solid rgba(210,221,242,.88) !important;
  border-radius:34px !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(245,248,255,.92)) !important;
  box-shadow:0 18px 48px rgba(20,35,71,.10) !important;
}
.sst-hero-underlay-image-test[data-desktop-mode="classic-card"] .sst-hero-dashboard-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  opacity:1 !important;
  filter:none !important;
}
@media(max-width:1180px){
  .sst-hero-underlay-image-test[data-desktop-mode="classic-card"]{
    grid-template-columns:1fr !important;
    padding:34px 30px !important;
  }
  .sst-hero-underlay-image-test[data-desktop-mode="classic-card"] .sst-hero-text{
    max-width:none !important;
  }
  .sst-hero-underlay-image-test[data-desktop-mode="classic-card"] .sst-hero-dashboard-card{
    max-width:760px !important;
    aspect-ratio:16 / 9 !important;
  }
}
@media(max-width:860px){
  .sst-hero-underlay-image-test[data-desktop-mode="classic-card"]{
    display:block !important;
    padding:var(--sst-hero-mobile-padding-y, 26px) var(--sst-hero-mobile-padding-x, 20px) !important;
  }
  .sst-hero-underlay-image-test[data-desktop-mode="classic-card"] .sst-hero-visual{
    margin-top:22px !important;
  }
}

/* v7.6.13: optional hero text position controls */
.sst-hero-underlay-image-test[data-hero-align="left"] .sst-hero-text{
  margin-left:0;
  margin-right:auto;
  text-align:left;
}
.sst-hero-underlay-image-test[data-hero-align="left"] .sst-cta-row{
  justify-content:flex-start;
}
.sst-hero-underlay-image-test[data-hero-align="center"] .sst-hero-text{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.sst-hero-underlay-image-test[data-hero-align="center"] .sst-hero-text h1,
.sst-hero-underlay-image-test[data-hero-align="center"] .sst-hero-text > p:not(.sst-hero-badge){
  margin-left:auto;
  margin-right:auto;
}
.sst-hero-underlay-image-test[data-hero-align="center"] .sst-hero-badge{
  margin-left:auto;
  margin-right:auto;
}
.sst-hero-underlay-image-test[data-hero-align="center"] .sst-cta-row{
  justify-content:center;
}
.sst-hero-underlay-image-test[data-hero-align="center"] .sst-banner-note{
  margin-left:auto;
  margin-right:auto;
}
.sst-hero-underlay-image-test[data-hero-align="right"] .sst-hero-text{
  margin-left:auto;
  margin-right:0;
  text-align:right;
}
.sst-hero-underlay-image-test[data-hero-align="right"] .sst-hero-text h1,
.sst-hero-underlay-image-test[data-hero-align="right"] .sst-hero-text > p:not(.sst-hero-badge){
  margin-left:auto;
  margin-right:0;
}
.sst-hero-underlay-image-test[data-hero-align="right"] .sst-hero-badge{
  margin-left:auto;
  margin-right:0;
}
.sst-hero-underlay-image-test[data-hero-align="right"] .sst-cta-row{
  justify-content:flex-end;
}
.sst-hero-underlay-image-test[data-hero-align="right"] .sst-banner-note{
  margin-left:auto;
  margin-right:0;
}
@media(max-width:860px){
  .sst-hero-underlay-image-test[data-hero-align="center"] .sst-cta-row,
  .sst-hero-underlay-image-test[data-hero-align="right"] .sst-cta-row{
    justify-content:center;
  }
  .sst-hero-underlay-image-test[data-hero-align="right"] .sst-hero-text{
    text-align:left;
  }
}


/* v7.6.14: separate tablet/phone hero defaults and softer panel tint support.
   Runtime values are printed from WordPress admin settings in wp_head, so these are safe fallbacks. */
:root{
  --sst-hero-tablet-breakpoint:1180px;
  --sst-hero-tablet-title-size:2.75rem;
  --sst-hero-tablet-padding-x:30px;
  --sst-hero-tablet-padding-y:34px;
  --sst-hero-mobile-breakpoint:640px;
}
.sst-feature-band,
.sst-home-planning-tools,
.sst-schengen-eu-card,
.sst-official-compact{
  border-color:var(--sst-soft-box-border, var(--line));
}
.sst-info-card .icon,
.sst-mini-card .icon,
.sst-legal-box .icon,
.sst-process-step span{
  background:var(--sst-soft-box-bg-strong, var(--primary-soft)) !important;
}


/* v7.6.15: remove homepage hero badge decoration and support responsive hero image sources */
.sst-hero-dashboard .sst-hero-badge::before{
  display:none !important;
  content:none !important;
}
.sst-hero-dashboard .sst-hero-badge{
  padding-left:16px !important;
}
.sst-hero-dashboard-card picture{
  display:block !important;
  width:100% !important;
  height:100% !important;
}
.sst-hero-dashboard-card picture img{
  display:block !important;
}


/* v7.6.19: hero title parity guard across translated home pages.
   The Serbian headline is translated shorter and the title block uses balanced wrapping,
   so the same global hero width setting behaves consistently across EN/SR. */
.sst-hero-underlay-image-test .sst-hero-text h1{
  max-width:var(--sst-hero-title-max-width, 680px) !important;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:manual;
}
html[lang^="sr"] .sst-hero-underlay-image-test .sst-hero-text h1{
  letter-spacing:-.04em;
}


/* v7.6.20: dark-mode hero image fallback and unified hero title color */
body.sst-dark .sst-hero-underlay-image-test::after{
  background-image:var(--sst-hero-bg-image-dark, var(--sst-hero-bg-image)) !important;
}
.sst-hero-dashboard .sst-hero-text h1 span{
  color:inherit !important;
}


/* v7.6.21: admin-controlled calculator tab colors and design export/import support */
.sst-result-folder-tabs.premium-folder-style,
.sst-premium-folder-tabs.premium-folder-style{
  border-bottom-color:var(--sst-tab-soft-border, rgba(105,114,242,.12)) !important;
}
.sst-result-folder-tabs.premium-folder-style button.active,
.sst-premium-folder-tabs.premium-folder-style button.active{
  background:linear-gradient(135deg,var(--sst-tab-active-soft,#6972f2),var(--sst-tab-active-soft-2,#5661e8)) !important;
}


/* Cookie banner SEO cleanup: the visible Complianz banner remains usable,
   while theme JS adds data-nosnippet so banner copy is not used as page snippet text. */


/* v8.0.30-dev: Trip Planner subtitle one-line fix on desktop.
   The page slug body class is added in functions.php so this stays scoped to this page. */
body.page-slug-trip-planner .sst-page-sub{
  max-width:none !important;
  width:100% !important;
}
@media (min-width: 1200px){
  body.page-slug-trip-planner .sst-page-sub{
    display:block;
    max-width:none !important;
    width:100% !important;
    font-size:1rem;
    line-height:1.45;
    white-space:nowrap !important;
  }
}
@media (max-width: 1199px){
  body.page-slug-trip-planner .sst-page-sub{
    white-space:normal !important;
  }
}

/* v8.0.79-dev: compact footer and shell spacing on mobile tool pages. */
@media(max-width:760px){
  .sst-footer{margin-top:24px;}
  .sst-footer-inner{padding:18px;border-radius:20px;font-size:.9rem;line-height:1.55;}
  .sst-footer-nav{gap:10px 14px;margin-top:10px;}
  .sst-footer-nav a{font-size:.88rem;}
}


/* v8.0.79-dev: upgraded Calculation Method page. */
.sst-method-hub{display:grid;gap:16px;margin-top:8px;}
.sst-method-note{border:1px solid rgba(245,158,11,.26);background:rgba(255,251,235,.74);border-radius:18px;padding:16px 18px;color:#92400e;}
.sst-method-accordion{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft);overflow:hidden;}
.sst-method-accordion summary{cursor:pointer;list-style:none;font-weight:850;font-size:1.08rem;color:var(--text);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.sst-method-accordion summary::-webkit-details-marker{display:none;}
.sst-method-accordion summary:after{content:'›';font-size:1.45rem;line-height:1;transform:rotate(90deg);opacity:.75;transition:transform .18s ease;}
.sst-method-accordion[open] summary:after{transform:rotate(-90deg);}
.sst-method-accordion p{padding:0 20px;margin:0 0 14px;}
.sst-method-accordion p:first-of-type{padding-top:2px;}
.sst-method-accordion p:last-child{padding-bottom:18px;margin-bottom:0;}
body.sst-dark .sst-method-note{background:rgba(120,72,12,.22);border-color:rgba(245,158,11,.32);color:#fbbf24;}
@media(max-width:720px){.sst-method-accordion summary{padding:15px 16px;font-size:1rem}.sst-method-accordion p{padding-left:16px;padding-right:16px}.sst-method-note{padding:14px 15px}}


/* v8.0.79-dev: harden mobile page width on calculator and tool pages. */
@media(max-width:760px){
  html, body{
    max-width:100%;
    overflow-x:hidden;
  }
  .sst-shell,
  .sst-main,
  .sst-content{
    max-width:100vw;
    overflow-x:hidden;
  }
  .sst-content{
    width:100%;
    padding-left:10px;
    padding-right:10px;
  }
  .sst-content-wrap,
  .sst-page-card{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .sst-topbar{
    width:100%;
    max-width:100vw;
    overflow:hidden;
  }
  .sst-topbar-inner{
    width:100%;
    max-width:100%;
    padding-left:10px;
    padding-right:10px;
  }
}


/* v8.0.79-dev: mobile viewport gutter / right-side gap hardening.
   On narrow calculator pages, some mobile/desktop-responsive browsers can reserve a visual right gutter
   when nested wrappers use max-width + overflow rules. Keep the real page, topbar and footer clamped to
   the layout viewport and make the root background continuous so no right-side seam appears. */
@media(max-width:760px){
  html{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
    background:
      radial-gradient(circle at 0 0, rgba(74,108,255,.08), transparent 30%),
      radial-gradient(circle at 100% 0, rgba(26,194,155,.06), transparent 30%),
      var(--bg)!important;
  }
  body{
    width:100%;
    min-width:0!important;
    max-width:100%;
    overflow-x:hidden!important;
    background:
      radial-gradient(circle at 0 0, rgba(74,108,255,.08), transparent 30%),
      radial-gradient(circle at 100% 0, rgba(26,194,155,.06), transparent 30%),
      var(--bg)!important;
  }
  .sst-shell,
  .sst-main,
  .sst-topbar,
  .sst-content,
  .sst-footer{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .sst-topbar{
    left:0!important;
    right:0!important;
    box-sizing:border-box!important;
  }
  .sst-topbar-inner,
  .sst-content,
  .sst-footer-inner,
  .sst-page-card,
  .sst-content-wrap{
    box-sizing:border-box!important;
    min-width:0!important;
  }
  .sst-topbar-inner{
    margin-left:0!important;
    margin-right:0!important;
  }
  .sst-content{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .sst-page-card,
  .sst-content-wrap{
    max-width:100%!important;
    overflow:hidden!important;
  }
  .sst-app,
  .sst-layout,
  .sst-panel,
  .sst-side-cards,
  .sst-results,
  .sst-result-workspace,
  .sst-report-panel,
  .sst-rule-summary,
  .sst-disclaimer{
    min-width:0!important;
    max-width:100%!important;
  }
}
