/*
Theme Name: Seashaw Marine
Theme URI: https://seashawmarine.com
Author: Seashaw Ship Management
Author URI: https://seashawmarine.com
Description: Premium international maritime corporate theme for Seashaw Ship Management. Includes video hero, animated counters, vessel slider, vacancies with CV upload, testimonials, ISO compliance display, WhatsApp button, Google Maps, blog, and full JSON-LD SEO. All sections editable from WP admin.
 Version: 2.1.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: seashaw
Tags: business, corporate, maritime, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --deep:#0a1e3f;
  --deep-2:#0d2a55;
  --ocean:#1059b8;
  --cyan:#22d3ee;
  --cyan-2:#06b6d4;
  --gold:#f5c542;
  --bg:#ffffff;
  --surface:#f5f8fd;
  --surface-2:#eaf1fb;
  --border:#dfe7f3;
  --text:#0f1c33;
  --muted:#5a6a85;
  --white:#fff;
  --shadow-sm:0 2px 8px rgba(10,30,63,.06);
  --shadow:0 12px 32px -8px rgba(10,30,63,.18);
  --shadow-lg:0 30px 60px -20px rgba(10,30,63,.35);
  --shadow-glow:0 0 40px rgba(34,211,238,.35);
  --grad-deep:linear-gradient(135deg,#0a1e3f 0%,#0d2a55 55%,#1059b8 100%);
  --grad-ocean:linear-gradient(135deg,#1059b8 0%,#22d3ee 100%);
  --grad-overlay:linear-gradient(180deg,rgba(8,18,38,.35) 0%,rgba(8,18,38,.55) 50%,rgba(8,18,38,.95) 100%);
  --radius:14px;
  --radius-lg:20px;
  --container:1240px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ocean);text-decoration:none;transition:color .2s}
a:hover{color:var(--deep)}
h1,h2,h3,h4,h5{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;color:var(--deep);line-height:1.15;margin:0 0 .6em}
h1{font-size:clamp(2rem,4.4vw,3.6rem);letter-spacing:-.02em}
h2{font-size:clamp(1.6rem,3.2vw,2.6rem);letter-spacing:-.015em}
h3{font-size:clamp(1.15rem,1.8vw,1.4rem)}
p{margin:0 0 1em}
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
.section{padding:96px 0}
.section-sm{padding:64px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700;color:var(--ocean)}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--cyan-2)}
.muted{color:var(--muted)}
.text-center{text-align:center}
.grad-text{background:var(--grad-ocean);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:10px;font-weight:700;font-size:14px;letter-spacing:.02em;border:0;cursor:pointer;transition:transform .2s, box-shadow .2s, background .2s;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--grad-ocean);color:#fff;box-shadow:var(--shadow-glow)}
.btn-primary:hover{transform:translateY(-2px);color:#fff;box-shadow:0 0 60px rgba(34,211,238,.5)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px)}
.btn-ghost:hover{background:rgba(255,255,255,.18);color:#fff}
.btn-outline{background:transparent;color:var(--deep);border:2px solid var(--deep)}
.btn-outline:hover{background:var(--deep);color:#fff}
.btn-light{background:#fff;color:var(--deep)}
.btn-light:hover{background:var(--cyan);color:var(--deep);transform:translateY(-2px)}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border);transition:background .3s}
.site-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;max-width:var(--container);margin:0 auto;padding-left:24px;padding-right:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:46px;width:auto}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;color:var(--deep);font-size:18px;letter-spacing:-.01em}
.brand-text span{font-size:10px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted)}
.primary-nav{display:flex;align-items:center;gap:6px}
.primary-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
.primary-nav a{display:inline-block;padding:10px 14px;font-weight:600;font-size:14px;color:var(--deep);border-radius:8px;transition:.2s}
.primary-nav a:hover,.primary-nav .current-menu-item>a{background:var(--surface-2);color:var(--ocean)}
.header-cta{display:flex;align-items:center;gap:10px}
.menu-toggle{display:none;background:transparent;border:0;padding:8px;cursor:pointer;color:var(--deep)}
.menu-toggle svg{width:28px;height:28px}
@media (max-width:980px){
  .primary-nav{position:fixed;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:16px 24px;transform:translateY(-120%);transition:transform .3s;box-shadow:var(--shadow)}
  .primary-nav.is-open{transform:translateY(0)}
  .primary-nav ul{flex-direction:column;gap:2px;width:100%}
  .primary-nav a{display:block;padding:14px 16px}
  .menu-toggle{display:inline-flex}
  .header-cta .btn{display:none}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;z-index:-1;background:var(--grad-overlay)}
.hero-overlay::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(34,211,238,.18),transparent 50%),radial-gradient(circle at 80% 70%,rgba(16,89,184,.25),transparent 55%)}
.hero-inner{position:relative;padding:120px 0 100px;width:100%}
.hero .badge{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);font-size:11px;text-transform:uppercase;letter-spacing:.22em;font-weight:700}
.hero .badge .dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 rgba(34,211,238,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,211,238,.7)}70%{box-shadow:0 0 0 14px rgba(34,211,238,0)}100%{box-shadow:0 0 0 0 rgba(34,211,238,0)}}
.hero h1{color:#fff;font-size:clamp(2.4rem,5.8vw,4.6rem);max-width:1000px;margin-top:22px}
.hero h1 .grad-text{background:linear-gradient(135deg,#fff,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{font-size:clamp(1rem,1.4vw,1.18rem);max-width:640px;color:rgba(255,255,255,.78);margin-top:22px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-stats{margin-top:60px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.18);border-radius:18px;overflow:hidden;backdrop-filter:blur(14px);max-width:780px}
.hero-stats .stat{background:rgba(10,30,63,.45);padding:22px 20px}
.hero-stats .stat strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(1.6rem,2.4vw,2.2rem);color:#fff}
.hero-stats .stat span{display:block;margin-top:6px;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.65)}
@media (max-width:680px){.hero-stats{grid-template-columns:repeat(2,1fr)}}
.scroll-cue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.6);animation:float 3s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}

/* Page hero (interior) */
.page-hero{position:relative;color:#fff;padding:140px 0 100px;overflow:hidden;isolation:isolate}
.page-hero-media{position:absolute;inset:0;z-index:-2}
.page-hero-media img{width:100%;height:100%;object-fit:cover;opacity:.45}
.page-hero::before{content:"";position:absolute;inset:0;background:var(--grad-deep);z-index:-3}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,63,.4),rgba(10,30,63,.85));z-index:-1}
.page-hero h1{color:#fff}
.page-hero .lead{max-width:680px;color:rgba(255,255,255,.78)}
.breadcrumbs{margin-top:24px;font-size:13px;color:rgba(255,255,255,.6)}
.breadcrumbs a{color:rgba(255,255,255,.85)}
.breadcrumbs a:hover{color:#fff}

/* ============================================================
   SECTIONS / GENERIC
   ============================================================ */
.section-head{display:flex;flex-direction:column;gap:14px;max-width:780px;margin:0 0 56px}
.section-head.center{margin:0 auto 56px;text-align:center;align-items:center}
.bg-surface{background:var(--surface)}
.bg-deep{background:var(--grad-deep);color:#fff}
.bg-deep h2,.bg-deep h3{color:#fff}
.bg-deep .muted{color:rgba(255,255,255,.7)}

/* Cards / glass */
.glass{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);border-radius:var(--radius-lg)}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .35s, box-shadow .35s, border-color .35s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}

/* Service grid */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:980px){.service-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.service-grid{grid-template-columns:1fr}}
.svc-card{position:relative;padding:32px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:.35s;isolation:isolate}
.svc-card::before{content:"";position:absolute;inset:0;background:var(--grad-deep);opacity:0;transition:.35s;z-index:-1}
.svc-card:hover{transform:translateY(-8px);border-color:transparent;color:#fff;box-shadow:var(--shadow-lg)}
.svc-card:hover::before{opacity:1}
.svc-card:hover h3,.svc-card:hover .svc-num{color:#fff}
.svc-card:hover p{color:rgba(255,255,255,.8)}
.svc-card:hover .svc-icon{background:rgba(255,255,255,.15);color:var(--cyan)}
.svc-card .svc-icon{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:var(--surface-2);color:var(--ocean);margin-bottom:18px;transition:.35s}
.svc-card .svc-icon svg{width:26px;height:26px}
.svc-card .svc-num{position:absolute;top:24px;right:28px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;color:var(--border);font-size:14px;transition:.35s}
.svc-card h3{margin:0 0 10px}
.svc-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}
.svc-card .more{margin-top:18px;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--ocean)}
.svc-card:hover .more{color:var(--cyan)}

/* Vessels */
.vessel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:980px){.vessel-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.vessel-grid{grid-template-columns:1fr}}
.vessel-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:.35s;display:flex;flex-direction:column}
.vessel-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.vessel-thumb{aspect-ratio:16/10;overflow:hidden;position:relative}
.vessel-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.vessel-card:hover .vessel-thumb img{transform:scale(1.08)}
.vessel-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 50%)}
.vessel-tag{position:absolute;top:14px;left:14px;z-index:2;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);padding:6px 11px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--deep);display:inline-flex;align-items:center;gap:6px}
.vessel-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan-2)}
.vessel-body{padding:20px}
.vessel-body h3{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 14px;font-size:17px}
.vessel-body h3 .flag{font-size:12px;color:var(--muted);font-weight:600}
.vessel-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.vessel-specs .spec{background:var(--surface);border-radius:8px;padding:9px 10px}
.vessel-specs .spec span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:700}
.vessel-specs .spec strong{display:block;font-size:13px;color:var(--deep);margin-top:2px}

/* Fleet filter */
.fleet-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px;justify-content:center}
.fleet-filter button{padding:10px 18px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--deep);font-weight:600;font-size:13px;cursor:pointer;transition:.2s}
.fleet-filter button:hover{border-color:var(--ocean);color:var(--ocean)}
.fleet-filter button.is-active{background:var(--grad-ocean);color:#fff;border-color:transparent;box-shadow:var(--shadow-glow)}

/* Stats counters */
.counter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
@media (max-width:680px){.counter-grid{grid-template-columns:repeat(2,1fr)}}
.counter-grid .stat{background:#fff;padding:36px 24px;text-align:center}
.counter-grid .stat .num{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(2rem,3vw,2.8rem);color:var(--deep);line-height:1}
.counter-grid .stat .num small{font-size:.6em;color:var(--cyan-2)}
.counter-grid .stat .lbl{margin-top:10px;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-weight:700}

/* Compliance badges */
.badges-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
@media (max-width:880px){.badges-strip{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.badges-strip{grid-template-columns:repeat(2,1fr)}}
.badges-strip .badge-item{background:#fff;padding:28px 14px;text-align:center;font-weight:800;color:var(--deep);font-size:13px;letter-spacing:.04em}
.badges-strip .badge-item small{display:block;font-weight:600;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.18em;margin-top:4px}

/* Testimonials */
.testimonial{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px;position:relative}
.testimonial .quote{font-size:18px;line-height:1.65;color:var(--text);font-style:italic}
.testimonial .who{display:flex;align-items:center;gap:14px;margin-top:22px;padding-top:22px;border-top:1px solid var(--border)}
.testimonial .who .avatar{width:48px;height:48px;border-radius:50%;background:var(--grad-ocean);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.testimonial .who strong{display:block;color:var(--deep)}
.testimonial .who span{display:block;font-size:13px;color:var(--muted)}
.stars{color:var(--gold);letter-spacing:2px;margin-bottom:10px;font-size:14px}

/* About band */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
@media (max-width:880px){.split{grid-template-columns:1fr;gap:36px}}
.split-img{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.split-img img{width:100%;height:520px;object-fit:cover}
.split-img .badge-card{position:absolute;bottom:18px;left:18px;right:18px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:12px;padding:16px 18px}
.split-img .badge-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.22em;color:var(--ocean);font-weight:700}
.split-img .badge-card strong{display:block;color:var(--deep);font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;margin-top:4px}
.feature-list{list-style:none;padding:0;margin:24px 0 0}
.feature-list li{display:flex;gap:12px;padding:8px 0;color:var(--text)}
.feature-list li::before{content:"";flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--grad-ocean);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'><polyline points='20 6 9 17 4 12'/></svg>");background-size:14px;background-repeat:no-repeat;background-position:center}

/* ISO Certificate display */
.certs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media (max-width:680px){.certs-grid{grid-template-columns:1fr}}
.cert-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;display:flex;gap:20px;align-items:center;transition:.35s}
.cert-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cert-card img{width:120px;height:160px;object-fit:cover;border-radius:8px;background:var(--surface)}
.cert-card h3{margin:0 0 8px;font-size:18px}
.cert-card p{margin:0;color:var(--muted);font-size:14px}

/* Forms */
.form{display:grid;gap:16px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:620px){.form .row{grid-template-columns:1fr}}
.form label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--deep);margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit;color:var(--text);transition:.2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--ocean);box-shadow:0 0 0 4px rgba(16,89,184,.12)}
.form textarea{min-height:140px;resize:vertical}
.form .file-drop{border:2px dashed var(--border);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:.2s;background:var(--surface)}
.form .file-drop:hover{border-color:var(--ocean);background:#fff}
.form .file-drop input{display:none}
.form .file-drop .icon{display:block;margin:0 auto 8px;width:34px;height:34px;color:var(--ocean)}
.form .honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.form-msg{padding:14px 16px;border-radius:10px;font-weight:600;font-size:14px}
.form-msg.success{background:#e6f7ed;color:#0f5132;border:1px solid #b6e2c5}
.form-msg.error{background:#fde8e8;color:#9b1c1c;border:1px solid #f5c2c2}

/* Vacancy list */
.vacancy-list{display:grid;gap:14px}
.vacancy-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;align-items:center;gap:18px;padding:18px 22px;background:#fff;border:1px solid var(--border);border-radius:14px;transition:.2s}
.vacancy-row:hover{border-color:var(--ocean);box-shadow:var(--shadow-sm);transform:translateX(4px)}
.vacancy-row strong{font-family:'Plus Jakarta Sans',sans-serif;color:var(--deep);font-size:15.5px}
.vacancy-row .meta{font-size:13px;color:var(--muted)}
.vacancy-row .pill{display:inline-block;padding:5px 10px;border-radius:999px;background:var(--surface-2);color:var(--ocean);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}
@media (max-width:880px){.vacancy-row{grid-template-columns:1fr;gap:10px}}

/* CTA */
.cta-block{position:relative;overflow:hidden;border-radius:26px;padding:64px;color:#fff;background:var(--grad-deep);box-shadow:var(--shadow-lg)}
.cta-block::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 80% 30%,rgba(34,211,238,.25),transparent 50%);pointer-events:none}
.cta-block .inner{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center}
@media (max-width:880px){.cta-block{padding:40px 30px}.cta-block .inner{grid-template-columns:1fr;text-align:center}}
.cta-block h2{color:#fff}
.cta-block .actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
@media (max-width:880px){.cta-block .actions{justify-content:center}}

/* Footer */
.site-footer{background:var(--deep);color:rgba(255,255,255,.7);padding:80px 0 26px;margin-top:0;position:relative}
.site-footer h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.18em;margin:0 0 18px}
.footer-grid{display:grid;grid-template-columns:1.6fr .9fr .9fr 1.6fr;gap:40px;margin-bottom:40px}
@media (max-width:980px){.footer-grid{grid-template-columns:1fr 1fr;gap:30px}}
@media (max-width:540px){.footer-grid{grid-template-columns:1fr}}
.footer-brand img{height:48px;margin-bottom:18px;filter:brightness(0) invert(1)}
.footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer-grid a{color:rgba(255,255,255,.7)}
.footer-grid a:hover{color:#fff}
.footer-social{display:flex;gap:10px;margin-top:14px}
.footer-social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);display:inline-flex;align-items:center;justify-content:center;transition:.2s}
.footer-social a:hover{background:var(--cyan);color:var(--deep)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;text-align:center;font-size:13px;color:rgba(255,255,255,.5)}
.footer-contact-list li{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;line-height:1.55}
.footer-contact-list svg{width:18px;height:18px;margin-top:2px;flex:none;color:rgba(255,255,255,.8)}
.footer-contact-list span,.footer-contact-list a{min-width:0;overflow-wrap:anywhere}
.footer-map{height:170px;margin-top:18px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06)}
.footer-map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.9)}
.footer-map-link{display:inline-flex;margin-top:10px;font-size:13px;font-weight:700;color:var(--cyan)}
.footer-map-link:hover{color:#fff}

/* WhatsApp float button */
.wa-float{position:fixed;right:22px;bottom:22px;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:inline-flex;align-items:center;justify-content:center;z-index:99;box-shadow:0 10px 30px rgba(37,211,102,.5);transition:transform .25s}
.wa-float:hover{transform:scale(1.08);color:#fff}
.wa-float::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(37,211,102,.45);animation:pulseWa 2.5s infinite}
@keyframes pulseWa{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.4);opacity:0}}

/* Maps */
.map-embed{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);height:420px;background:var(--surface)}
.map-embed iframe{width:100%;height:100%;border:0;display:block}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:880px){.blog-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.blog-grid{grid-template-columns:1fr}}
.post-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:.35s;display:flex;flex-direction:column}
.post-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.post-card .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--surface)}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.post-card:hover .thumb img{transform:scale(1.08)}
.post-card .body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-card .cat{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--ocean);font-weight:700}
.post-card h3{margin:0;font-size:18px;line-height:1.3}
.post-card h3 a{color:var(--deep)}
.post-card h3 a:hover{color:var(--ocean)}
.post-card time{font-size:13px;color:var(--muted);margin-top:auto;padding-top:8px}

/* Single post */
.entry{max-width:780px;margin:0 auto}
.entry .entry-meta{font-size:13px;color:var(--muted);margin-bottom:18px}
.entry h2,.entry h3{margin-top:1.6em}
.entry img{border-radius:12px;margin:1.6em 0}
.entry blockquote{border-left:4px solid var(--ocean);padding:6px 18px;background:var(--surface);border-radius:0 12px 12px 0;color:var(--deep);font-style:italic;margin:1.6em 0}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:880px){.gallery-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.gallery-grid{grid-template-columns:1fr}}
.gallery-grid a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:14px;position:relative;border:1px solid var(--border)}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gallery-grid a:hover img{transform:scale(1.08)}

/* Vessel single page */
.vessel-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:start;padding:60px 0}
@media (max-width:880px){.vessel-hero{grid-template-columns:1fr}}
.vessel-hero .img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.spec-table{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.spec-table td{padding:14px 18px;border-bottom:1px solid var(--border);font-size:14px}
.spec-table tr:last-child td{border-bottom:0}
.spec-table td:first-child{font-weight:700;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.16em;width:40%;background:var(--surface)}
.spec-table td:last-child{color:var(--deep);font-weight:600}

/* Swiper override */
.swiper{padding-bottom:50px}
.swiper-pagination-bullet{background:var(--ocean);opacity:.4}
.swiper-pagination-bullet-active{background:var(--cyan-2);opacity:1;width:24px;border-radius:5px}
.swiper-button-next,.swiper-button-prev{color:var(--deep);background:#fff;width:44px;height:44px;border-radius:50%;box-shadow:var(--shadow)}
.swiper-button-next:after,.swiper-button-prev:after{font-size:16px;font-weight:800}

/* Reveal animation */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-in{opacity:1;transform:none}

/* Admin */
.seashaw-admin{max-width:920px}
.seashaw-admin .field{margin-bottom:18px}
.seashaw-admin label{display:block;font-weight:700;margin-bottom:6px}
.seashaw-admin input[type=text],.seashaw-admin input[type=email],.seashaw-admin input[type=url],.seashaw-admin textarea{width:100%;max-width:640px}

/* Utility */
.flex{display:flex}.flex-wrap{flex-wrap:wrap}.gap{gap:14px}.gap-lg{gap:24px}.aic{align-items:center}.jcb{justify-content:space-between}.mt{margin-top:18px}.mt-lg{margin-top:30px}.mb-lg{margin-bottom:30px}

/* ============================
   v3 additions: top utility bar, Google Translate, vessel lightbox
   ============================ */
.top-utility-bar{background:#0b1f3a;color:rgba(255,255,255,.85);font-size:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.top-utility-inner{max-width:1280px;margin:0 auto;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.top-utility-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.top-utility-left .sep{opacity:.4}
.top-utility-right{display:flex;align-items:center;gap:10px}
.lang-label{opacity:.7;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:600}
@media (max-width:640px){.hide-sm{display:none}}

/* Google Translate dropdown — restyle */
.gt-widget{display:inline-block}
.goog-te-gadget{font-family:inherit !important;font-size:0 !important;color:transparent !important}
.goog-te-gadget .goog-te-combo{
  margin:0 !important;background:#fff;color:#0b1f3a;border:1px solid rgba(255,255,255,.15);
  padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;
  font-family:inherit;outline:none;min-width:130px;
}
.goog-te-gadget img,.goog-te-gadget span{display:none !important}
.goog-te-banner-frame.skiptranslate,.goog-te-balloon-frame{display:none !important;visibility:hidden !important}
body{top:0 !important}
.goog-tooltip,.goog-tooltip:hover{display:none !important}
.goog-text-highlight{background:none !important;box-shadow:none !important}

/* Lightbox */
.ss-lightbox{position:fixed;inset:0;background:rgba(7,15,30,.92);display:none;align-items:center;justify-content:center;z-index:9999;padding:24px}
.ss-lightbox.open{display:flex}
.ss-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.ss-lightbox button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.ss-lightbox button:hover{background:rgba(255,255,255,.25)}
.ss-lb-close{top:20px;right:20px}
.ss-lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.ss-lb-next{right:20px;top:50%;transform:translateY(-50%)}
@media (max-width:600px){.ss-lightbox button{width:40px;height:40px;font-size:18px}}

/* --- v2.1 fixes: constrain SVG icon sizing site-wide --- */
.wa-float svg{width:30px;height:30px;display:block}
.footer-social svg{width:18px;height:18px}
.feature-list svg,.contact-card svg,.muted svg{width:18px;height:18px}
.breadcrumbs svg{width:14px;height:14px}
.btn svg{width:16px;height:16px;vertical-align:middle}
.svc-icon svg{width:26px;height:26px}
.brand svg,.brand img{max-height:48px;width:auto}
/* default safety cap so no inline SVG can balloon */
.site-header svg, .section svg{max-width:100%}
.site-footer svg{width:18px;height:18px;min-width:18px;max-width:18px;max-height:18px;display:inline-block;vertical-align:middle}
.form-msg{padding:14px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:500;border:1px solid transparent}
.form-msg.success{background:#e8f8ee;color:#0a6b2a;border-color:#9be0b6}
.form-msg.error{background:#fdecec;color:#9a1e1e;border-color:#f3b4b4}
