/* JapanWheels theme — structural rules theme.json can't express.
   Colours, type and spacing all live in theme.json so they stay editable
   under Appearance → Editor → Styles. */

/* ── Accessibility ─────────────────────────────────────────────── */
.jwt-sr-only{
	position:absolute;width:1px;height:1px;padding:0;margin:-1px;
	overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.jwt-skip-link:focus{
	position:fixed;top:12px;left:12px;z-index:100000;
	background:#fff;color:#0b1d2d;padding:12px 20px;border-radius:8px;
	box-shadow:0 4px 20px rgba(11,29,45,.2);font-weight:700;
}
html{ scroll-padding-top:120px; }

/* ── Header ────────────────────────────────────────────────────── */
.jwt-header{
	position:sticky;top:0;z-index:100;
	border-bottom:1px solid rgba(255,255,255,.08);
	transition:box-shadow .25s ease, backdrop-filter .25s ease;
}
.jwt-header.is-stuck{
	box-shadow:0 8px 30px rgba(4,12,20,.35);
	backdrop-filter:saturate(140%) blur(6px);
}

/* Top strip */
.jwt-topbar{ font-size:.78rem; }
.jwt-topbar .wp-block-group{ gap:12px; }
.jwt-topbar-note{ margin:0; }
@media (max-width:860px){ .jwt-topbar-note{ display:none; } }

/* Brand lockup */
.jwt-brand{ gap:12px !important; align-items:center; }
.jwt-brand .wp-block-site-logo img{
	border-radius:8px;display:block;height:auto;
	transition:transform .25s ease;
}
.jwt-brand:hover .wp-block-site-logo img{ transform:scale(1.04); }
.jwt-brand-text{ display:flex;flex-direction:column;gap:1px;min-width:0; }
.jwt-brand-text .wp-block-site-title a{ text-decoration:none;display:block; }
.jwt-brand-text .wp-block-site-tagline{ margin:0; }
/* Hide the tagline if the site hasn't set one, so it never leaves a gap */
.jwt-brand-text .wp-block-site-tagline:empty{ display:none; }

/* Navigation */
.jwt-nav-wrap{ gap:22px !important; align-items:center; }
.jwt-header .wp-block-navigation a{ transition:color .16s ease; }
.jwt-header .wp-block-navigation a:hover{ color:var(--wp--preset--color--mint) !important; }
.jwt-header .wp-block-navigation .wp-block-navigation-item__content{ padding:4px 0; }
/* Underline that grows from the centre on hover */
.jwt-header .wp-block-navigation > .wp-block-navigation-item > a{ position:relative; }
.jwt-header .wp-block-navigation > .wp-block-navigation-item > a::after{
	content:"";position:absolute;left:50%;right:50%;bottom:-4px;height:2px;
	background:var(--wp--preset--color--mint);transition:left .2s ease,right .2s ease;
}
.jwt-header .wp-block-navigation > .wp-block-navigation-item > a:hover::after{ left:0;right:0; }

.jwt-header-cta{ gap:8px !important; }
.jwt-btn-ghost .wp-block-button__link{ border-width:1.5px !important;box-shadow:none !important; }
.jwt-btn-ghost .wp-block-button__link:hover{ background:rgba(255,255,255,.12) !important; }
@media (max-width:1100px){ .jwt-header-cta .wp-block-button:first-child{ display:none; } }
@media (max-width:600px){ .jwt-header-cta{ display:none; } }

/* Mobile overlay menu */
.wp-block-navigation__responsive-container.is-menu-open{ padding-top:32px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a{ font-size:1.15rem; }

/* ── Footer ────────────────────────────────────────────────────── */
.jwt-footer a:hover{ color:var(--wp--preset--color--mint) !important; }
.jwt-footer .wp-block-heading{ letter-spacing:.06em;text-transform:uppercase;opacity:.85; }

/* ── Full-width page layouts ───────────────────────────────────── */
.jwt-main--full,
.jwt-main--full > .wp-block-post-content{ max-width:none;padding-left:0;padding-right:0; }
.jwt-main--full > .wp-block-post-content > *{ max-width:none; }

:where(.wp-block-post-content:not(.jwt-main--full > *)) :is(
	.jw-hero-v2,.jw-cta-band,.jw-browse-types,.jw-benefits-v2
){ margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw); }

/* NOTE: no overflow-x on html/body — any value other than `visible`
   silently disables position:sticky on descendants, which would break
   both the header above and the gallery on the vehicle page. */

/* ── Contact info (rendered by [japanwheels_contact_info]) ─────── */
.jwt-contact-info{ list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem; }
.jwt-contact-info li{ display:flex;align-items:center;gap:.5rem;font-size:.86rem;color:#ffffffb3; }
.jwt-contact-info a{ color:inherit;text-decoration:none; }
.jwt-contact-info a:hover{ color:var(--wp--preset--color--mint); }
.jwt-contact-info svg{ opacity:.7;flex-shrink:0; }
/* Compact single-row variant used in the header top strip */
.jwt-contact-info.is-inline{ display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin:0; }
.jwt-contact-info.is-inline li{ font-size:.78rem; }
.jwt-contact-info.is-inline svg{ width:13px;height:13px; }

.jwt-social{ display:flex;gap:.6rem;margin-top:1rem; }
.jwt-social a{
	display:grid;place-items:center;width:36px;height:36px;border-radius:9px;
	background:rgba(255,255,255,.1);color:#fff;transition:background .16s,transform .16s;
}
.jwt-social a:hover{ background:var(--wp--preset--color--emerald);transform:translateY(-2px); }

/* ── Floating WhatsApp ─────────────────────────────────────────── */
.jwt-wa-float{
	position:fixed;right:22px;bottom:22px;z-index:9990;
	display:grid;place-items:center;width:56px;height:56px;border-radius:50%;
	background:#25d366;color:#fff;box-shadow:0 8px 26px rgba(37,211,102,.45);
	transition:transform .18s ease;
}
.jwt-wa-float:hover{ transform:scale(1.08); }
@media (max-width:640px){ .jwt-wa-float{ right:14px;bottom:14px;width:50px;height:50px; } }

/* ── Post content polish ───────────────────────────────────────── */
.wp-block-post-content > h2{ margin-top:2.2em; }
.wp-block-post-content > h3{ margin-top:1.8em; }

/* ── Motion preference ─────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{ animation-duration:.001ms !important;transition-duration:.001ms !important; }
	.jwt-wa-float:hover,.jwt-social a:hover,.jwt-brand:hover .wp-block-site-logo img{ transform:none; }
}
