/*
Theme Name: The Website Landlord
Theme URI: https://thewebsitelandlord.ie
Author: The Website Landlord
Description: Block theme for The Website Landlord: ranked local websites, ready to rent. Navy and Sky brand, Space Grotesk and Inter fonts (hosted locally), editable landing page sections and a built-in enquiry form.
Version: 1.2.1
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twl
*/

:root { --twl-navy:#0A1F44; --twl-sky:#3FA7FF; --twl-cloud:#F3F7FC; --twl-slate:#4A5568; --twl-line:#DCE3EE; --twl-soft:#C9D6EA; }
body { margin:0; }
.twl-wrap { max-width:1200px; margin-left:auto !important; margin-right:auto !important; padding-left:24px; padding-right:24px; box-sizing:border-box; }
.twl-section { padding-top:96px; padding-bottom:96px; margin-top:0 !important; margin-bottom:0 !important; }
main.wp-block-group > * { margin-top:0; margin-bottom:0; }
.twl-tint { background:var(--twl-cloud); }
.twl-dark { background:var(--twl-navy); color:#fff; }
.twl-dark h1, .twl-dark h2, .twl-dark h3 { color:#fff; }
.twl-section h2 { font-size:clamp(2rem,4vw,2.75rem); margin:0; }
.twl-section h3 { font-size:22px; margin:0; }
.twl-section-head { display:flex; flex-direction:column; gap:14px; max-width:40rem; margin-bottom:48px; }
.twl-section-head > * { margin:0 !important; }
.twl-eyebrow { font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#1F6FBF; margin:0; }
.twl-dark .twl-eyebrow, .twl-cta-box .twl-eyebrow { color:var(--twl-sky); }
.twl-lead { font-size:19px; line-height:1.6; color:var(--twl-soft); max-width:34rem; }

/* Buttons */
.wp-block-button.twl-btn-ghost .wp-block-button__link { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.4); }
.wp-block-button.twl-btn-ghost .wp-block-button__link:hover { border-color:#fff; }
.wp-block-button.twl-btn-navy .wp-block-button__link { background:var(--twl-navy); color:#fff; }
.wp-block-button.twl-btn-navy .wp-block-button__link:hover { background:#16325F; }
.wp-block-button.twl-btn-outline .wp-block-button__link { background:transparent; color:var(--twl-navy); border:1.5px solid #C5CEDB; }
.wp-block-button.twl-btn-small .wp-block-button__link { padding:10px 18px; font-size:15px; }
.wp-block-button__link { min-height:48px; display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; }

/* Header */
.twl-header { background:var(--twl-navy); border-bottom:1px solid rgba(255,255,255,.08); }
.twl-header-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; padding-bottom:16px; }
.twl-header-inner > * { margin:0 !important; }
.twl-logo img { display:block; width:220px; height:auto; }
.twl-header-right { display:flex; align-items:center; gap:28px; }
.twl-header-right > * { margin:0 !important; }
.twl-nav a, .twl-nav .wp-block-navigation-item__content { color:#DCE6F5; text-decoration:none; font-size:15px; }
.twl-nav a:hover { color:#fff; }
.twl-nav .wp-block-navigation__responsive-container-open, .twl-nav .wp-block-navigation__responsive-container-close { color:#fff; }
.twl-nav .wp-block-navigation__responsive-container.is-menu-open { background:var(--twl-navy); color:#fff; padding:24px; }
.twl-nav .wp-block-navigation__responsive-container.is-menu-open a { font-size:20px; }

/* Hero */
.twl-hero { padding-top:72px; }
.twl-hero-cols { gap:56px; align-items:center; }
.twl-hero-copy > * { margin-top:0; margin-bottom:24px; }
.twl-hero-title { font-size:clamp(2.5rem,5.5vw,4rem) !important; line-height:1.04; letter-spacing:-.03em; }
.twl-ticks { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.twl-ticks li { position:relative; padding-left:28px; }
.twl-ticks li::before { content:""; position:absolute; left:2px; top:.45em; width:12px; height:7px; border-left:2.5px solid #1F6FBF; border-bottom:2.5px solid #1F6FBF; transform:rotate(-45deg); }
.twl-dark .twl-ticks li::before, .twl-plan-featured .twl-ticks li::before { border-color:var(--twl-sky); }
.twl-ticks-inline { flex-direction:row; flex-wrap:wrap; gap:10px 24px; font-size:15px; color:#DCE6F5; }
.twl-mock { position:relative; padding-bottom:36px; }
.twl-browser { background:#fff; border-radius:18px; box-shadow:0 30px 60px rgba(0,0,0,.35); overflow:hidden; color:var(--twl-navy); }
.twl-browser-bar { display:flex; gap:8px; padding:12px 16px; background:#EEF2F7; }
.twl-browser-bar span { width:10px; height:10px; border-radius:50%; background:#C5CEDB; }
.twl-browser-body { padding:20px; display:flex; flex-direction:column; gap:12px; }
.twl-search { display:flex; align-items:center; gap:10px; border:1px solid var(--twl-line); border-radius:999px; padding:12px 18px; font-size:15px; color:#333; }
.twl-search .twl-icon { width:18px; height:18px; color:#5A6B85; }
.twl-result { padding:14px 16px; border-radius:12px; border:1px solid #E6EBF2; display:flex; flex-direction:column; gap:6px; }
.twl-result.is-yours { background:#EAF4FF; border:1.5px solid var(--twl-sky); }
.twl-result-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.twl-result-url { font-size:12px; color:#3D6B3D; }
.twl-result-badge { font-size:11px; font-weight:700; letter-spacing:.08em; color:#fff; background:var(--twl-navy); padding:4px 8px; border-radius:999px; }
.twl-result-title { font-size:17px; color:#1A47A8; font-weight:600; }
.twl-skel { display:block; height:8px; border-radius:4px; background:#E1E7EF; }
.twl-callcard { position:absolute; right:-8px; bottom:0; background:#fff; color:var(--twl-navy); border-radius:14px; box-shadow:0 16px 36px rgba(0,0,0,.3); padding:14px 18px; display:flex; align-items:center; gap:12px; font-size:15px; line-height:1.35; }
.twl-callcard small { color:var(--twl-slate); font-size:13px; }
.twl-callicon { width:44px; height:44px; border-radius:12px; background:var(--twl-sky); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

/* Cards */
.twl-card { border:1px solid var(--twl-line); border-radius:18px; padding:32px; }
.twl-card > * { margin-top:0 !important; margin-bottom:16px !important; }
.twl-card > *:last-child { margin-bottom:0 !important; }
.twl-card p { color:var(--twl-slate); font-size:16px; }
.twl-card-white { background:#fff; border:none; padding:28px; }
.twl-card-top { display:flex; align-items:center; justify-content:space-between; }
.twl-iconbox { width:52px; height:52px; border-radius:14px; background:var(--twl-cloud); display:flex; align-items:center; justify-content:center; color:var(--twl-navy); }
.twl-icon { width:26px; height:26px; }
.twl-icon-accent { color:#1F6FBF; display:block; }
.twl-icon-accent .twl-icon { width:28px; height:28px; }
.twl-step-no { font-family:var(--wp--preset--font-family--space-grotesk); font-weight:700; font-size:40px; color:#D6E2F2; }
.twl-section .wp-block-columns { gap:24px; margin-bottom:24px; }

/* Available sites */
.twl-head-row { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:40px; }
.twl-head-row > * { margin:0 !important; }
.twl-head-row .twl-section-head { margin-bottom:0; }
.twl-head-link a { font-weight:600; }
.twl-site { border:1px solid var(--twl-line); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; }
.twl-site > * { margin:0 22px 12px !important; }
.twl-site > .wp-block-buttons { margin-top:auto !important; margin-bottom:22px !important; }
.twl-site .wp-block-button, .twl-site .wp-block-button__link { width:100%; }
.twl-site-preview { background:var(--twl-navy); padding:20px 22px; display:flex; flex-direction:column; gap:10px; margin:0 0 20px !important; }
.twl-site-preview div { display:flex; gap:6px; }
.twl-site-preview div span { width:8px; height:8px; border-radius:50%; background:#3B5078; }
.twl-bar1 { height:10px; width:70%; border-radius:5px; background:var(--twl-sky); }
.twl-bar2 { height:8px; width:45%; border-radius:4px; background:#2C426B; }
.twl-site-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.twl-site-head > * { margin:0 !important; }
.twl-pill { font-size:12px !important; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:6px 10px; border-radius:999px; white-space:nowrap; }
.twl-available { background:#DDF5E6; color:#145C32; }
.twl-rented { background:#ECEFF3; color:#4A5568; }
.twl-stat { font-size:14px; color:var(--twl-slate); }
.twl-stat strong { color:var(--twl-navy); }

/* Pricing */
.twl-plans { max-width:900px; }
.twl-plan { background:#fff; border:1px solid var(--twl-line); border-radius:20px; padding:36px; display:flex; flex-direction:column; }
.twl-plan > * { margin-top:0 !important; margin-bottom:20px !important; }
.twl-plan > .wp-block-buttons { margin-top:auto !important; margin-bottom:0 !important; }
.twl-plan-featured { background:var(--twl-navy); color:#fff; border:none; }
.twl-plan-featured h3 { color:#fff; }
.twl-plan-head { display:flex; align-items:center; justify-content:space-between; }
.twl-plan-head > * { margin:0 !important; }
.twl-badge { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; background:var(--twl-sky); color:var(--twl-navy); padding:6px 10px; border-radius:999px; }
.twl-plan-desc { color:var(--twl-slate); }
.twl-plan-featured .twl-plan-desc, .twl-plan-featured .twl-price-line { color:var(--twl-soft); }
.twl-price-line { color:var(--twl-slate); }
.twl-price { font-family:var(--wp--preset--font-family--space-grotesk); font-weight:700; font-size:48px; color:var(--twl-navy); }
.twl-plan-featured .twl-price { color:#fff; }
.twl-plan .twl-ticks { font-size:15px; }

/* FAQ */
.twl-faq-list > * { margin-top:0 !important; margin-bottom:12px !important; }
.twl-section .wp-block-details { border:1px solid var(--twl-line); border-radius:14px; padding:20px 22px; }
.twl-section .wp-block-details summary { cursor:pointer; font-family:var(--wp--preset--font-family--space-grotesk); font-weight:700; font-size:18px; }
.twl-section .wp-block-details p { color:var(--twl-slate); margin:12px 0 0; }

/* CTA + form */
.twl-cta { padding-top:0; }
.twl-cta-box { background:var(--twl-navy); color:#fff; border-radius:28px; padding:clamp(32px,5vw,64px); }
.twl-cta-box > * { margin-top:0 !important; margin-bottom:16px !important; }
.twl-cta-box h2 { color:#fff; max-width:40rem; }
.twl-form { display:flex; flex-wrap:wrap; gap:16px; align-items:flex-end; margin-top:12px; }
.twl-field { display:flex; flex-direction:column; gap:8px; flex:1 1 200px; }
.twl-field label { font-size:14px; font-weight:600; color:#DCE6F5; }
.twl-field input { min-height:52px; border-radius:12px; border:1.5px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; padding:0 16px; font-size:16px; font-family:inherit; }
.twl-field input::placeholder { color:#9FB2CF; }
.twl-field input:focus { outline:2px solid var(--twl-sky); outline-offset:1px; }
.twl-form button { min-height:52px; border:none; cursor:pointer; font-family:inherit; }
.twl-hp { position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.twl-form-msg { padding:14px 18px; border-radius:12px; font-weight:600; }
.twl-form-ok { background:#DDF5E6; color:#145C32; }
.twl-form-err { background:#FDE2E1; color:#8A1C17; }

/* Footer */
.twl-footer { background:var(--twl-navy); color:var(--twl-soft); padding:56px 0 40px; font-size:15px; }
.twl-footer a { color:var(--twl-soft); text-decoration:none; }
.twl-footer a:hover { color:#fff; }
.twl-footer strong { color:#fff; }
.twl-footer p { margin:0 0 10px; }
.twl-footer-top { display:flex; flex-wrap:wrap; justify-content:space-between; gap:32px; }
.twl-footer-top > * { margin:0 !important; }
.twl-footer-links { display:flex; flex-wrap:wrap; gap:48px; }
.twl-footer-links > * { margin:0 !important; }
.twl-footer-tag { margin-top:14px !important; }
.twl-footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:32px !important; padding-top:24px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:14px; }
.twl-footer-bottom > * { margin:0 !important; }

/* Blog / pages */
.twl-content { padding:64px 24px 96px; }

/* Mobile */
@media (max-width: 781px) {
  .twl-section { padding-top:64px; padding-bottom:64px; }
  .twl-hero { padding-top:48px; }
  .twl-header-right { gap:12px; }
  .twl-header-right .wp-block-buttons { display:none; }
  .twl-callcard { right:8px; }
  .twl-logo img { width:180px; }
}

/* ==========================================================================
   Soft UI effects (shared look with O'Neill Technology Group)
   ========================================================================== */
:root {
  --twl-ground:#E4EBF3;
  --twl-accent:#1A5FA8;
  --twl-ext-s: 5px 5px 10px rgba(163,177,198,.6), -5px -5px 10px rgba(255,255,255,.55);
  --twl-ext:   9px 9px 16px rgba(163,177,198,.6), -9px -9px 16px rgba(255,255,255,.55);
  --twl-ext-h: 12px 12px 20px rgba(163,177,198,.7), -12px -12px 20px rgba(255,255,255,.65);
  --twl-ins-s: inset 3px 3px 6px rgba(163,177,198,.6), inset -3px -3px 6px rgba(255,255,255,.55);
  --twl-ins-d: inset 8px 8px 16px rgba(163,177,198,.7), inset -8px -8px 16px rgba(255,255,255,.6);
  /* the same idea on navy */
  --twl-dk-ext: 10px 10px 22px rgba(2,9,24,.6), -10px -10px 22px rgba(28,58,108,.45);
  --twl-dk-ins: inset 10px 10px 20px rgba(2,9,24,.6), inset -10px -10px 20px rgba(28,58,108,.45);
  --twl-dk-ins-s: inset 3px 3px 7px rgba(2,9,24,.6), inset -3px -3px 7px rgba(28,58,108,.45);
}
body { background:var(--twl-ground); }
.twl-section, .twl-tint { background:var(--twl-ground); }
.twl-dark { background:var(--twl-navy); }
.twl-eyebrow, .twl-icon-accent { color:var(--twl-accent); }

/* Sticky header with a soft glass edge */
header.wp-block-template-part { position:sticky; top:0; z-index:50; }
body.admin-bar header.wp-block-template-part { top:32px; }
@media (max-width:782px){ body.admin-bar header.wp-block-template-part { top:46px; } }
.twl-header { background:rgba(10,31,68,.92); backdrop-filter:saturate(140%) blur(10px); -webkit-backdrop-filter:saturate(140%) blur(10px); }

/* Raised cards that lift on hover */
.twl-card, .twl-card-white, .twl-site, .twl-plan {
  background:var(--twl-ground); border:none; box-shadow:var(--twl-ext); border-radius:28px;
  transition:transform .3s ease-out, box-shadow .3s ease-out;
}
.twl-card:hover, .twl-site:hover, .twl-plan:hover { transform:translateY(-4px); box-shadow:var(--twl-ext-h); }
.twl-plan-featured { background:var(--twl-navy); }
.twl-site-preview { border-radius:0; }

/* Inset icon wells */
.twl-iconbox { width:64px; height:64px; border-radius:50%; background:var(--twl-ground); box-shadow:var(--twl-ins-d); }
.twl-icon-accent { width:64px; height:64px; border-radius:50%; box-shadow:var(--twl-ins-d); display:flex !important; align-items:center; justify-content:center; }
.twl-step-no { color:#C3CFDF; text-shadow:1px 1px 0 rgba(255,255,255,.7); }

/* Buttons: raise on hover, press in on click */
.wp-block-button__link, .twl-form button {
  transition:transform .3s ease-out, box-shadow .3s ease-out, background-color .2s;
  box-shadow:var(--twl-ext-s);
}
.twl-dark .wp-block-button__link, .twl-plan-featured .wp-block-button__link, .twl-form button { box-shadow:0 8px 20px rgba(2,9,24,.45); }
.wp-block-button__link:hover, .twl-form button:hover { transform:translateY(-1px); box-shadow:var(--twl-ext-h); }
.twl-dark .wp-block-button__link:hover, .twl-form button:hover { box-shadow:0 12px 26px rgba(2,9,24,.55); }
.wp-block-button__link:active, .twl-form button:active { transform:translateY(.5px); box-shadow:var(--twl-ins-s); }
.wp-block-button.twl-btn-outline .wp-block-button__link { background:var(--twl-ground); border:none; }
.wp-block-button.twl-btn-ghost .wp-block-button__link { box-shadow:var(--twl-dk-ext); border-color:rgba(255,255,255,.18); }

/* Links: underline that grows from the left */
.twl-head-link a, .twl-footer a, .twl-content a {
  text-decoration:none; background:linear-gradient(currentColor,currentColor) no-repeat 0 100% / 0 2px;
  transition:background-size .25s;
}
.twl-head-link a:hover, .twl-footer a:hover, .twl-content a:hover { background-size:100% 2px; }

/* FAQ: raised, pressed in when open */
.twl-section .wp-block-details { border:none; background:var(--twl-ground); box-shadow:var(--twl-ext-s); border-radius:18px; transition:box-shadow .3s; }
.twl-section .wp-block-details[open] { box-shadow:var(--twl-ins-s); }

/* Enquiry form fields sit inset in the navy box */
.twl-cta-box { box-shadow:var(--twl-ext); }
.twl-field input { border:none; background:var(--twl-navy); box-shadow:var(--twl-dk-ins-s); }

/* Hero: lines rise in one after another */
@keyframes twl-rise { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
.twl-hero-copy > * { animation:twl-rise .7s cubic-bezier(.2,.7,.2,1) both; }
.twl-hero-copy > *:nth-child(2) { animation-delay:.08s; }
.twl-hero-copy > *:nth-child(3) { animation-delay:.16s; }
.twl-hero-copy > *:nth-child(4) { animation-delay:.24s; }
.twl-hero-copy > *:nth-child(n+5) { animation-delay:.32s; }

/* Hero art: soft concentric rings, an orbiting sky dot, and a floating browser */
.twl-hero { overflow:hidden; }
.twl-hero-visual { position:relative; }
.twl-rings { position:absolute; left:50%; top:50%; width:min(640px,120%); aspect-ratio:1/1; transform:translate(-50%,-50%); pointer-events:none; z-index:0; }
.twl-ring { position:absolute; border-radius:50%; }
.twl-ring.r1 { inset:0; box-shadow:var(--twl-dk-ext); }
.twl-ring.r2 { inset:12%; box-shadow:var(--twl-dk-ins); }
.twl-ring.r3 { inset:26%; box-shadow:var(--twl-dk-ext); }
.twl-ring.r4 { inset:40%; box-shadow:var(--twl-dk-ins); }
@keyframes twl-spin { to { transform:rotate(360deg); } }
.twl-orbit { position:absolute; inset:-3%; animation:twl-spin 40s linear infinite; }
.twl-orbit i { position:absolute; left:50%; top:0; width:20px; height:20px; margin:-10px; border-radius:50%; background:var(--twl-sky); box-shadow:0 0 18px rgba(63,167,255,.7); }
@keyframes twl-float { from { transform:translateY(-10px); } to { transform:translateY(10px); } }
.twl-mock { z-index:1; animation:twl-float 3s ease-in-out infinite alternate; }

/* Scroll cue with a bobbing arrow */
@keyframes twl-bob { to { transform:translateY(6px); } }
.twl-cue { display:inline-flex; align-items:center; gap:14px; color:#DCE6F5; text-decoration:none; font-weight:600; font-size:15px; }
.twl-cue:hover { color:#fff; }
.twl-cue b { width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:var(--twl-dk-ext); color:var(--twl-sky); }
.twl-cue b svg { animation:twl-bob 1.2s ease-in-out infinite alternate; }

/* Trades ticker */
.twl-marquee { overflow:hidden; background:var(--twl-ground); padding:30px 0; box-shadow:inset 0 10px 16px -12px rgba(163,177,198,.8), inset 0 -10px 16px -12px rgba(163,177,198,.8); }
@keyframes twl-marquee { to { transform:translateX(-50%); } }
.twl-marq { display:flex; width:max-content; animation:twl-marquee 32s linear infinite; }
.twl-marquee:hover .twl-marq { animation-play-state:paused; }
.twl-marq span { font-family:var(--wp--preset--font-family--space-grotesk); font-weight:700; font-size:clamp(22px,2.6vw,30px); color:var(--twl-navy); padding:0 26px; white-space:nowrap; }
.twl-marq span:nth-child(even) { color:var(--twl-accent); }

/* Headings and cards reveal as they scroll into view (browsers that support it) */
@keyframes twl-reveal { from { opacity:0; transform:translateY(48px); } to { opacity:1; transform:none; } }
@supports (animation-timeline: view()) {
  .twl-section:not(.twl-hero) h2,
  .twl-section:not(.twl-hero) .wp-block-columns {
    animation:twl-reveal linear both; animation-timeline:view(); animation-range:entry 0% entry 45%;
  }
}

/* Respect people who turn motion off */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* ==========================================================================
   Header: O'Neill Technology Group style (light, soft, raised links)
   ========================================================================== */
.twl-header {
  background:rgba(228,235,243,.88);
  backdrop-filter:saturate(160%) blur(12px); -webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:none;
  box-shadow:0 10px 18px -14px rgba(163,177,198,.95);
}
.twl-header-inner { padding-top:14px; padding-bottom:14px; min-height:84px; }
.twl-logo { display:block; border-radius:14px; }
.twl-logo img { width:200px; }
.twl-header-right { gap:14px; }

/* Menu links: flat until hovered, then they rise out of the surface */
.twl-nav .wp-block-navigation__container { gap:6px; }
.twl-nav .wp-block-navigation-item__content,
.twl-nav a {
  color:#3D4852; font-weight:600; font-size:15px; text-decoration:none;
  padding:10px 16px; border-radius:12px;
  transition:transform .25s ease-out, box-shadow .25s ease-out, color .2s;
}
.twl-nav .wp-block-navigation-item__content:hover,
.twl-nav a:hover,
.twl-nav a:focus-visible {
  color:var(--twl-navy); box-shadow:var(--twl-ext-s); transform:translateY(-1px);
}
.twl-nav a:active { box-shadow:var(--twl-ins-s); transform:none; }
.twl-nav .current-menu-item > a, .twl-nav a[aria-current] { box-shadow:var(--twl-ins-s); color:var(--twl-navy); }

/* Navy pill button */
.wp-block-button.twl-btn-pill .wp-block-button__link {
  background:var(--twl-navy); color:#fff; padding:12px 20px; min-height:46px; font-size:15px;
  border-radius:12px; box-shadow:var(--twl-ext-s);
}
.wp-block-button.twl-btn-pill .wp-block-button__link:hover { background:#13305F; box-shadow:var(--twl-ext-h); transform:translateY(-1px); }
.wp-block-button.twl-btn-pill .wp-block-button__link:active { box-shadow:var(--twl-ins-s); transform:none; }

/* Mobile menu: soft raised hamburger, light overlay */
.twl-nav { flex-wrap:nowrap; align-items:center; }
.twl-nav .wp-block-navigation__responsive-container-open {
  color:var(--twl-navy); width:46px; height:46px; border-radius:12px; align-items:center; justify-content:center;
  box-shadow:var(--twl-ext-s); background:var(--twl-ground);
}
@media (max-width:599px) { .twl-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display:flex; } }
@media (min-width:600px) { .twl-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display:none !important; } }

/* No gap between header, main and footer (WordPress adds block spacing here by default) */
.wp-site-blocks > * { margin-block-start:0 !important; margin-block-end:0 !important; }
.twl-header-right { align-items:center; flex-wrap:nowrap; }
.twl-nav .wp-block-navigation__responsive-container-open:active { box-shadow:var(--twl-ins-s); }
.twl-nav .wp-block-navigation__responsive-container.is-menu-open { background:var(--twl-ground); color:var(--twl-navy); padding:28px 24px; }
.twl-nav .wp-block-navigation__responsive-container-close { color:var(--twl-navy); }
.twl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap:10px; }
.twl-nav .wp-block-navigation__responsive-container.is-menu-open a { font-size:22px; padding:12px 18px; color:var(--twl-navy); }
@media (max-width:781px) {
  .twl-header-inner { min-height:70px; padding-top:10px; padding-bottom:10px; }
  .twl-logo img { width:160px; }
  .twl-header-right .wp-block-buttons { display:none; }
}
