/*
Theme Name: VISA SUPPORT JAPAN
Theme URI: https://visasapo.com/
Description: VISA SUPPORT JAPAN by Legal Gate Immigration Office. Multilingual visa support theme designed for foreign nationals in Japan.
Author: Legal Gate
Author URI: https://visasapo.com/
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: visasupport-japan
*/

:root{
  --vsj-navy:#16315b;
  --vsj-navy-2:#1d3a6b;
  --vsj-teal:#2bb3a3;
  --vsj-teal-2:#29a99b;
  --vsj-bg:#fff;
  --vsj-bg-soft:#ecf6f6;
  --vsj-bg-soft-2:#e8f4f4;
  --vsj-text:#333;
  --vsj-text-mute:#6b6b6b;
  --vsj-line:#d8d8d8;
  --vsj-container:1100px;
  --vsj-radius:6px;
}

html,body{
  font-family:"Noto Sans","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  color:var(--vsj-text);
  font-size:16px;
  line-height:1.8;
  background:var(--vsj-bg);
}
body{margin:0}
a{color:var(--vsj-navy);text-decoration:none}
a:hover{opacity:.75}
img{max-width:100%;height:auto;display:block}
*{box-sizing:border-box}

.vsj-container{max-width:var(--vsj-container);margin:0 auto;padding:0 24px}
.vsj-center{text-align:center}
.vsj-required{color:#c45050}

/* Header */
.vsj-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--vsj-line)}
.vsj-header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:var(--vsj-container);margin:0 auto;gap:24px}
.vsj-logo{display:flex;align-items:center;gap:12px}
.vsj-logo__img{width:44px;height:auto}
.vsj-logo__text{line-height:1.2}
.vsj-logo__title{display:block;font-weight:800;color:var(--vsj-navy);font-size:18px;letter-spacing:.03em}
.vsj-logo__sub{display:block;font-size:11px;color:var(--vsj-navy);letter-spacing:.12em;font-weight:600}
.vsj-header__menu{display:flex;align-items:center;gap:24px;flex:1;justify-content:flex-end}
.vsj-nav{display:flex;gap:36px;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}
.vsj-nav ul{display:flex;gap:36px;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}
.vsj-nav li{list-style:none;margin:0;padding:0}
.vsj-nav li::before,.vsj-nav li::marker{content:none}
.vsj-nav a{color:var(--vsj-navy);font-size:14px;letter-spacing:.15em;font-weight:600}
.vsj-social{display:flex;gap:12px;align-items:center}
.vsj-social a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}
.vsj-social svg{width:24px;height:24px}
.vsj-contact-btn{display:inline-flex;align-items:center;gap:8px;background:var(--vsj-teal);color:#fff!important;padding:10px 22px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.15em;text-decoration:none;transition:opacity .2s}
.vsj-contact-btn:hover{opacity:.85}
.vsj-contact-btn svg{width:18px;height:18px;color:#fff}
.vsj-menu-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.vsj-menu-toggle span{display:block;width:24px;height:2px;background:var(--vsj-navy);margin:5px 0}

@media(max-width:900px){
  .vsj-header{position:sticky;top:0;z-index:100;background:#fff}
  .vsj-header__inner{padding:10px 14px;gap:10px;flex-wrap:nowrap}
  .vsj-logo{flex:1;min-width:0}
  .vsj-logo__img{width:36px}
  .vsj-menu-toggle{display:block;position:relative;z-index:101;margin-left:auto}
  .vsj-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .vsj-menu-toggle.is-open span:nth-child(2){opacity:0}
  .vsj-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .vsj-menu-toggle span{transition:transform .2s,opacity .2s}

  /* Drop-down menu wrapping nav + SNS + CONTACT */
  .vsj-header__menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--vsj-line);z-index:100;box-shadow:0 6px 16px rgba(0,0,0,.08);padding:0}
  .vsj-header__menu.is-open{display:flex}
  .vsj-nav{flex-direction:column;gap:0;width:100%}
  .vsj-nav ul{flex-direction:column;gap:0;width:100%}
  .vsj-nav li{width:100%}
  .vsj-nav a{display:block;padding:16px 24px;border-bottom:1px solid var(--vsj-line)}
  /* SNS — bottom of menu */
  .vsj-header__menu .vsj-social{display:flex;justify-content:center;gap:24px;padding:20px 24px;border-bottom:1px solid var(--vsj-line)}
  .vsj-header__menu .vsj-social a{width:36px;height:36px}
  .vsj-header__menu .vsj-social svg{width:28px;height:28px;color:var(--vsj-navy)}
  /* CONTACT — bottom of menu */
  .vsj-header__menu .vsj-contact-btn{display:flex;justify-content:center;margin:18px 24px 22px;padding:14px 22px;font-size:14px;border-radius:999px;width:auto;height:auto;letter-spacing:.15em}
  .vsj-header__menu .vsj-contact-btn span{display:inline}
  .vsj-header__menu .vsj-contact-btn svg{width:18px;height:18px}
  .vsj-logo__title{font-size:15px}
  .vsj-logo__sub{font-size:10px}
}

/* Hero */
.vsj-hero{background:var(--vsj-bg-soft);padding:56px 0 0}
.vsj-hero__points{display:grid;grid-template-columns:1fr 1fr;gap:16px 48px;max-width:760px;margin:0 auto;padding:0 24px}
.vsj-hero__point{display:flex;align-items:center;gap:14px;font-size:clamp(20px,2.4vw,28px);font-weight:800;color:var(--vsj-navy);letter-spacing:.01em;margin:0}
.vsj-hero__point::before{
  content:"";
  width:26px;height:26px;
  background:var(--vsj-teal);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 12 L10 19 L21 5' stroke='white' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 12 L10 19 L21 5' stroke='white' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  flex-shrink:0;
}
.vsj-hero__image{margin-top:32px;text-align:center;overflow:hidden}
.vsj-hero__image img{margin:0 auto;max-width:100%;width:auto;display:block}
@media(max-width:900px){.vsj-hero__image img{max-width:140%;margin-left:-20%}}
@media(max-width:700px){.vsj-hero__points{grid-template-columns:1fr;gap:14px}}

/* Section */
.vsj-section{padding:80px 0}
.vsj-section--soft{background:var(--vsj-bg-soft)}
.vsj-section__title{text-align:center;font-size:clamp(28px,4vw,40px);letter-spacing:.25em;color:var(--vsj-navy);font-weight:800;margin:0 0 16px}
.vsj-section__sub{text-align:center;color:var(--vsj-text);margin:0 0 48px;font-size:16px}
.vsj-section__overline{text-align:center;color:var(--vsj-teal);font-size:13px;font-weight:700;letter-spacing:.3em;margin:0 0 12px}
.vsj-section__title--with-line{position:relative;padding-bottom:20px;margin-bottom:28px}
.vsj-section__title--with-line::after{content:"";display:block;width:64px;height:2px;background:var(--vsj-teal);margin:18px auto 0}
.vsj-section__lead{text-align:center;color:var(--vsj-text);max-width:760px;margin:0 auto 56px;font-size:15px;line-height:1.95}

/* Strengths grid */
.vsj-strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1080px;margin:0 auto}
.vsj-strength{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 18px rgba(22,49,91,.06);display:flex;flex-direction:column}
.vsj-strength__image{aspect-ratio:4/3;overflow:hidden;background:#eef2f7}
.vsj-strength__image img{width:100%;height:100%;object-fit:cover;display:block}
.vsj-strength__title{text-align:center;color:var(--vsj-navy);font-size:16px;font-weight:700;margin:24px 20px 14px;line-height:1.5}
.vsj-strength__body{padding:0 22px 26px;color:var(--vsj-text);font-size:13.5px;line-height:1.85;margin:0;flex:1}
@media(max-width:1000px){.vsj-strengths{grid-template-columns:repeat(2,1fr);gap:24px}}
@media(max-width:560px){.vsj-strengths{grid-template-columns:1fr}}

/* Service grid */
.vsj-services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px}
.vsj-service{text-align:center;padding:16px;display:block;color:inherit}
.vsj-service:hover{opacity:.8}
.vsj-service__icon{width:80px;height:80px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}
.vsj-service__icon svg{width:100%;height:100%;color:var(--vsj-navy)}
.vsj-service__title{font-size:14px;letter-spacing:.15em;color:var(--vsj-navy);font-weight:600;margin:0 0 14px;min-height:2.6em;line-height:1.4}
.vsj-service__body{text-align:left;font-size:14px;color:var(--vsj-text);line-height:1.85}
.vsj-service__link{display:inline-block;margin-top:12px;font-size:13px;letter-spacing:.1em;color:var(--vsj-teal);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;transition:opacity .2s}
.vsj-service__link:hover{opacity:.7}
.vsj-service__link::after{content:" \2192"}
@media(max-width:900px){.vsj-services{grid-template-columns:repeat(2,1fr);gap:32px 16px}}
@media(max-width:560px){.vsj-services{grid-template-columns:1fr}.vsj-service__title{min-height:0}}

/* Service single page */
.vsj-service-single{max-width:800px;margin:0 auto;padding:48px 24px}
.vsj-service-single__icon{width:120px;height:120px;margin:0 auto 24px}
.vsj-service-single__icon svg{width:100%;height:100%;color:var(--vsj-navy)}
.vsj-service-single__title{text-align:center;color:var(--vsj-navy);font-size:clamp(24px,3.5vw,36px);letter-spacing:.15em;margin:0 0 32px;font-weight:800}
.vsj-service-single__content{font-size:16px;line-height:1.95}
.vsj-service-single__content h2{color:var(--vsj-navy);font-size:22px;border-left:4px solid var(--vsj-teal);padding-left:16px;margin:48px 0 20px}
.vsj-service-single__content h3{color:var(--vsj-navy);font-size:18px;margin:32px 0 12px}
.vsj-service-single__content ul,.vsj-service-single__content ol{padding-left:24px;margin:16px 0}
.vsj-service-single__content li{margin-bottom:6px}
.vsj-service-single__back{text-align:center;margin-top:48px}

/* Voice */
.vsj-voice-list{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:900px;margin:0 auto}
.vsj-voice__avatar{width:180px;height:180px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(180deg,#d3eaf3 0 60%,#b6d99a 60% 100%)}
.vsj-voice__tags{display:flex;gap:8px;margin-bottom:8px}
.vsj-voice__tag{display:inline-block;padding:2px 8px;border:1px solid var(--vsj-teal);color:var(--vsj-teal);font-size:12px;border-radius:3px}
.vsj-voice__name{font-weight:700;font-size:16px;margin:0 0 4px}
.vsj-voice__role{font-size:14px;color:var(--vsj-text-mute);margin:0 0 12px}
.vsj-voice__body{font-size:14px;line-height:1.9}
.vsj-btn{display:inline-block;background:var(--vsj-navy);color:#fff!important;padding:14px 56px;font-size:14px;border-radius:var(--vsj-radius);letter-spacing:.1em;border:0;cursor:pointer;font-family:inherit}
.vsj-btn:hover{opacity:.9;color:#fff!important}
.vsj-btn--outline{background:transparent;color:var(--vsj-navy)!important;border:1px solid var(--vsj-navy)}
.vsj-btn-wrap{text-align:center;margin-top:48px}
@media(max-width:700px){.vsj-voice-list{grid-template-columns:1fr;gap:32px}}
.vsj-voice-google__empty{text-align:center;color:#888;padding:48px 24px;border:1px dashed var(--vsj-line);border-radius:var(--vsj-radius);background:#fff;margin-top:32px}
.vsj-google-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px auto 0;max-width:1080px}
.vsj-google-review{background:#fff;border:1px solid var(--vsj-line);border-radius:var(--vsj-radius);padding:20px;display:flex;flex-direction:column;gap:12px}
.vsj-google-review__head{display:flex;align-items:center;gap:12px}
.vsj-google-review__avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--vsj-bg-soft)}
.vsj-google-review__avatar--placeholder{display:flex;align-items:center;justify-content:center;background:var(--vsj-teal);color:#fff;font-weight:700;font-size:18px}
.vsj-google-review__meta{flex:1;min-width:0}
.vsj-google-review__author{font-weight:700;color:var(--vsj-navy);margin:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vsj-google-review__author a{color:inherit;text-decoration:none}
.vsj-google-review__author a:hover{text-decoration:underline}
.vsj-google-review__time{font-size:12px;color:var(--vsj-text-mute);margin:2px 0 0}
.vsj-google-review__stars{color:#fbbc04;font-size:14px;letter-spacing:1px;flex-shrink:0}
.vsj-google-review__body{font-size:13px;line-height:1.7;color:var(--vsj-text);margin:0;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:900px){.vsj-google-reviews{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.vsj-google-reviews{grid-template-columns:1fr}}

/* Flow */
.vsj-flow{max-width:600px;margin:0 auto;position:relative;padding-left:24px;list-style:none}
.vsj-flow::before{content:"";position:absolute;top:8px;bottom:8px;left:28px;width:2px;background:var(--vsj-teal)}
.vsj-flow__item{position:relative;padding-left:32px;margin-bottom:28px}
.vsj-flow__item::before{content:"";position:absolute;left:-3px;top:6px;width:14px;height:14px;background:var(--vsj-teal);border-radius:50%;border:3px solid var(--vsj-bg);box-shadow:0 0 0 1px var(--vsj-teal)}
.vsj-flow__step{font-size:12px;color:var(--vsj-text-mute);letter-spacing:.15em;font-weight:600}
.vsj-flow__title{font-size:16px;font-weight:700;color:var(--vsj-navy);margin:4px 0}
.vsj-flow__body{font-size:14px;color:var(--vsj-text-mute);border-bottom:1px dotted var(--vsj-line);padding-bottom:14px}

/* CTA banner */
.vsj-cta{position:relative;padding:56px 24px;text-align:center;color:#fff;background-color:#2bb3a3;background-image:linear-gradient(rgba(43,179,163,.55),rgba(43,179,163,.55)),url('assets/img/cta-bg.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;text-shadow:0 1px 3px rgba(0,0,0,.25)}
.vsj-cta__lead{font-size:clamp(20px,3vw,28px);font-weight:700;letter-spacing:.1em;margin:0 0 8px}
.vsj-cta__tel{font-size:clamp(28px,5vw,44px);font-weight:800;letter-spacing:.05em;display:inline-block;color:#fff!important;margin:8px 0 16px}
.vsj-cta__social{display:flex;gap:18px;justify-content:center}
.vsj-cta__social svg{width:28px;height:28px;color:#fff}

/* Price */
.vsj-price{max-width:720px;margin:0 auto}
.vsj-price__heading{background:var(--vsj-teal);color:#fff;text-align:center;padding:14px 16px;font-weight:700;font-size:16px;margin:32px 0 0}
.vsj-price__table{width:100%;border-collapse:collapse;background:var(--vsj-bg-soft-2)}
.vsj-price__table td{padding:18px 28px;border-bottom:1px dotted var(--vsj-line);vertical-align:middle;font-size:14px}
.vsj-price__table td:first-child{width:50%;font-weight:600}
.vsj-price__table td:last-child{color:var(--vsj-text)}
.vsj-price__table td small{display:block;font-size:12px;color:var(--vsj-text-mute);font-weight:400;margin-top:4px}
.vsj-price__note{background:var(--vsj-bg-soft-2);padding:18px 28px;font-size:12px;color:var(--vsj-text-mute);line-height:1.8}
.vsj-price__contact-note{text-align:center;color:var(--vsj-navy);font-weight:700;padding:18px;background:var(--vsj-bg-soft-2)}
@media(max-width:600px){.vsj-price__table td{padding:14px 16px}.vsj-price__table td:first-child{width:55%}}

/* Social */
.vsj-sns{text-align:center}
.vsj-sns__icons{display:flex;justify-content:center;gap:24px;margin-top:16px}
.vsj-sns__icons a svg{width:44px;height:44px}

/* Contact */
.vsj-contact{max-width:720px;margin:0 auto;background:#fff;padding:48px 32px;border-radius:var(--vsj-radius);box-shadow:0 2px 12px rgba(0,0,0,.04)}
.vsj-contact__intro{text-align:center;color:#c45050;font-size:14px;margin-bottom:32px}
.vsj-contact-form p{margin:0 0 22px;font-size:14px}
.vsj-contact-form label{display:block;font-weight:600;margin-bottom:6px;color:var(--vsj-text)}
.vsj-contact-form input[type="text"],
.vsj-contact-form input[type="email"],
.vsj-contact-form input[type="tel"],
.vsj-contact-form textarea{width:100%;padding:12px 14px;border:1px solid var(--vsj-line);border-radius:var(--vsj-radius);font-size:16px;background:#fff;font-family:inherit}
.vsj-contact-form textarea{min-height:160px}
.vsj-contact-form input:focus,
.vsj-contact-form textarea:focus{outline:2px solid var(--vsj-teal);outline-offset:1px;border-color:var(--vsj-teal)}
.vsj-contact-form .has-error input,
.vsj-contact-form .has-error textarea{border-color:#c45050;background:#fff5f5}
.vsj-contact-form .vsj-required{color:#c45050;margin-left:4px}
.vsj-radio-group{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:4px}
.vsj-radio{display:inline-flex;align-items:center;gap:6px;font-weight:400;margin:0;cursor:pointer}
.vsj-radio input[type="radio"]{margin:0}
.vsj-honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.vsj-form-submit-wrap{text-align:center;margin-top:8px}
.vsj-form-submit{background:var(--vsj-navy);color:#fff;border:0;padding:14px 64px;font-size:16px;font-weight:600;border-radius:var(--vsj-radius);letter-spacing:.15em;cursor:pointer;font-family:inherit;transition:opacity .2s}
.vsj-form-submit:hover{opacity:.9}
.vsj-form-message{padding:14px 18px;border-radius:var(--vsj-radius);margin-bottom:24px;font-size:14px;line-height:1.6}
.vsj-form-message--success{background:#e8f6ee;color:#1f6b3e;border:1px solid #b7e0c4}
.vsj-form-message--error{background:#fbecec;color:#9a2a2a;border:1px solid #ecbcbc}

/* About */
.vsj-about{max-width:800px;margin:0 auto}
.vsj-about__table{width:100%;border-collapse:collapse;margin:32px 0}
.vsj-about__table th,.vsj-about__table td{padding:18px 24px;border-bottom:1px solid var(--vsj-line);text-align:left;font-size:15px;vertical-align:top}
.vsj-about__table th{width:30%;color:var(--vsj-navy);font-weight:700;background:var(--vsj-bg-soft)}
@media(max-width:600px){.vsj-about__table th,.vsj-about__table td{display:block;width:100%;padding:12px 16px}.vsj-about__table th{border-bottom:0}}

/* Pagetop */
.vsj-pagetop{background:var(--vsj-teal);color:#fff;text-align:center;padding:12px;font-size:14px;letter-spacing:.15em}
.vsj-pagetop a{color:#fff;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.vsj-pagetop svg{width:14px;height:14px;flex-shrink:0}

/* Footer */
.vsj-footer{background:var(--vsj-navy);color:#fff;padding:48px 24px}
.vsj-footer__inner{max-width:var(--vsj-container);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start}
.vsj-footer__brand h3{font-size:16px;letter-spacing:.05em;margin:0 0 4px}
.vsj-footer__sub{font-size:14px;color:#fff;font-weight:600;display:block}
.vsj-footer__address{margin-top:14px;font-size:14px;line-height:1.8;color:#d6dee9}
.vsj-footer__nav{display:flex;gap:28px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.vsj-footer__nav ul{display:flex;gap:28px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.vsj-footer__nav li{list-style:none;margin:0;padding:0}
.vsj-footer__nav li::before,.vsj-footer__nav li::marker{content:none}
.vsj-footer__nav a{color:#fff;font-size:14px;letter-spacing:.15em}
.vsj-footer__social{margin-top:16px;display:flex;gap:14px}
.vsj-footer__social svg{width:26px;height:26px;color:#fff}
.vsj-footer__copy{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#a8b3c4}
@media(max-width:700px){.vsj-footer__inner{grid-template-columns:1fr}}

/* Page header (non-front pages) */
.vsj-page-header{background:var(--vsj-bg-soft);padding:48px 24px;text-align:center}
.vsj-page-header__title{color:var(--vsj-navy);font-size:clamp(28px,4vw,40px);letter-spacing:.2em;font-weight:800;margin:0}
.vsj-page-header__sub{color:var(--vsj-text-mute);font-size:14px;letter-spacing:.15em;margin:8px 0 0}

/* Blog list */
.vsj-blog-list{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:var(--vsj-container);margin:0 auto;padding:48px 24px}
.vsj-blog-list--front{padding:0;margin:40px 0 0}
.vsj-blog-card{background:#fff;border:1px solid var(--vsj-line);border-radius:var(--vsj-radius);overflow:hidden;display:flex;flex-direction:column}
.vsj-blog-card__thumb{aspect-ratio:16/10;background:var(--vsj-bg-soft);overflow:hidden;display:block}
.vsj-blog-card__thumb img{width:100%;height:100%;object-fit:cover}
.vsj-blog-card__body{padding:20px;flex:1;display:flex;flex-direction:column}
.vsj-blog-card__date{font-size:12px;color:var(--vsj-text-mute);margin-bottom:8px}
.vsj-blog-card__title{font-size:16px;font-weight:700;color:var(--vsj-navy);margin:0 0 12px;line-height:1.5}
.vsj-blog-card__excerpt{font-size:13px;color:var(--vsj-text-mute);line-height:1.7;flex:1}
@media(max-width:900px){.vsj-blog-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.vsj-blog-list{grid-template-columns:1fr}}

/* Single post */
.vsj-single{max-width:760px;margin:0 auto;padding:48px 24px}
.vsj-single__date{font-size:12px;color:var(--vsj-text-mute);letter-spacing:.1em}
.vsj-single__title{color:var(--vsj-navy);font-size:clamp(22px,3vw,32px);font-weight:800;margin:8px 0 32px;line-height:1.4}
.vsj-single__content{font-size:16px;line-height:1.95}
.vsj-single__content h2{color:var(--vsj-navy);font-size:22px;border-left:4px solid var(--vsj-teal);padding-left:16px;margin:40px 0 16px}
.vsj-single__content h3{color:var(--vsj-navy);font-size:18px;margin:28px 0 10px}
.vsj-single__content p{margin:0 0 16px}
.vsj-single__content img{margin:24px auto;border-radius:var(--vsj-radius)}

/* Pagination */
.vsj-pagination{text-align:center;padding:24px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.vsj-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--vsj-line);border-radius:var(--vsj-radius);color:var(--vsj-navy);font-size:14px}
.vsj-pagination .current{background:var(--vsj-navy);color:#fff;border-color:var(--vsj-navy)}

/* WordPress required default classes */
.alignleft{float:left;margin-right:1.5em}
.alignright{float:right;margin-left:1.5em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:12px;color:var(--vsj-text-mute);text-align:center;margin-top:6px}
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.sticky{}
.gallery-caption{}
.bypostauthor{}
