/* =========================================================
   Aspen Journeys — Unified Stylesheet (v1.1)
   - Tokens / Base
   - Header + Burger + Mobile Drawer
   - Hero Slider
   - Buttons
   - Home: Categories
   - Products Grid
   - Why Choose Us (SVG icons + gradients + divider + spacing v2)
   - Footer (placeholder)
   ====================================================== */

/* -------------------- TOKENS -------------------- */
:root{
  /* Brand */
  --primary:#0B2239;      /* Deep Navy */
  --accent:#0FB5B3;       /* Teal */
  --highlight:#FF7A00;    /* Amber */

  /* Text & surfaces */
  --ink:#0F172A;          /* Body text */
  --surface:#FFFCF7;      /* Warm base for sections */

  /* Layout */
  --container:1600px;
  --radius:16px;
  --header-h:76px;

  /* Shadows */
  --shadow-1: 0 8px 20px rgba(15,181,179,.12), 0 2px 8px rgba(11,34,57,.06);
  --shadow-2: 0 16px 40px rgba(15,181,179,.18), 0 6px 18px rgba(11,34,57,.10);
}

/* -------------------- BASE -------------------- */
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; color:var(--ink); }
body{
  background: linear-gradient(180deg, #FAFBFC 0%, #F7F4EF 100%);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
[hidden]{ display:none !important; }
::selection{ background:rgba(15,181,179,.25); }

/* Container utility */
.container-1600{ max-width:var(--container); margin:0 auto; padding:0 20px; }

/* -------------------- HEADER -------------------- */
.site-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,.90);
  backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid rgba(11,34,57,.06);
}
.header-wrap{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  min-height:var(--header-h);
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand__logo{ width:170px; height:auto; }

/* Desktop nav */
.nav{ display:flex; align-items:center; gap:8px; }
.nav__list{ list-style:none; margin:0; padding:0; display:flex; gap:18px; }
.nav__link{
  position:relative; display:inline-flex; align-items:center;
  font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-weight:600; letter-spacing:.2px; font-size:15.5px;
  color:var(--primary); padding:10px 6px; transition:color .25s ease;
}
.nav__link::after{
  content:""; position:absolute; left:50%; bottom:6px; width:0; height:2px;
  background:linear-gradient(90deg, var(--accent), var(--highlight));
  transform:translateX(-50%); transition:width .28s ease; border-radius:2px;
}
.nav__link:hover{ color:#0EA5A4; }
.nav__link:hover::after{ width:80%; }
.nav__link.is-active{ color:#0EA5A4; }
.nav__link.is-active::after{ width:80%; }

/* Burger (single span -> 3 lines) */
.burger{
  display:none; cursor:pointer; border:none; background:transparent;
  width:42px; height:42px; border-radius:10px; align-items:center; justify-content:center;
}
.burger:focus{ outline:2px solid rgba(15,181,179,.35); outline-offset:2px; }
.burger__lines{
  position:relative; display:block; width:26px; height:2px;
  background:var(--primary); border-radius:2px;
  transition:background .25s ease, transform .25s ease;
}
.burger__lines::before,
.burger__lines::after{
  content:""; position:absolute; left:0; width:26px; height:2px;
  background:var(--primary); border-radius:2px;
  transition:transform .25s ease, opacity .25s ease, background .25s ease;
}
.burger__lines::before{ top:-7px; }
.burger__lines::after { top: 7px; }
.burger[aria-expanded="true"] .burger__lines{ background:transparent; }
.burger[aria-expanded="true"] .burger__lines::before{ transform:translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] .burger__lines::after { transform:translateY(-7px) rotate(-45deg); }

/* Mobile Drawer */
.nav-mobile{
  position:fixed; left:0; right:0; top:var(--header-h); bottom:0;
  background: linear-gradient(180deg, #0B2239, #092033);
  color:#fff; border-top:1px solid rgba(255,255,255,.08);
  padding:14px 20px 24px;
  display:none; opacity:0; transform:translateY(-8px);
  transition:opacity .18s ease, transform .18s ease; z-index:1100;
  box-shadow: 0 18px 42px rgba(2,16,24,.45);
}
.nav-mobile.is-open{ display:block; opacity:1; transform:translateY(0); }
.nav-mobile__list{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.nav-mobile__link{
  display:block; padding:14px 10px; color:#fff; font-weight:700; border-radius:12px;
  transition:background .2s ease, color .2s ease;
}
.nav-mobile__link:hover,
.nav-mobile__link.is-active{
  background: linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,.08));
}
.header--shadow{ box-shadow:0 8px 24px rgba(11,34,57,.08); }
.no-scroll{ overflow:hidden; }

/* Header breakpoints */
@media (max-width:1024px){ .nav__list{ gap:12px; } }
@media (max-width:900px){ .nav{ display:none; } .burger{ display:inline-flex; } }

/* -------------------- HERO (3-image slider) -------------------- */
.hero{ position:relative; isolation:isolate; overflow:hidden; min-height:520px; background:#000; }
.hero__slides{ position:relative; width:100%; height:100%; }
.hero__slide{
  position:absolute; inset:0; opacity:0; transform:scale(1.02);
  transition:opacity .5s ease, transform .7s ease;
}
.hero__slide.is-active{ opacity:1; transform:scale(1); z-index:1; }
.hero__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(110%) contrast(105%); }

/* Richer overlay */
.hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(600px 240px at 20% 20%, rgba(15,181,179,.22), transparent 60%),
    linear-gradient(180deg, rgba(11,34,57,.55), rgba(11,34,57,.72));
}
.hero__content{ position:relative; z-index:3; padding:110px 20px 120px; color:#fff; }
.hero__title{
  font-family:"Playfair Display",serif;
  font-size:clamp(28px,4.4vw,56px); line-height:1.08; margin:0 0 12px 0;
  text-shadow:0 4px 24px rgba(0,0,0,.35);
}
.hero__subtitle{
  font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:clamp(15px,1.6vw,20px); margin:0 0 24px 0; opacity:.95;
}
.hero__cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 22px; border-radius:999px;
  background:linear-gradient(90deg, var(--accent), var(--highlight));
  color:#04151c; font-weight:800;
  box-shadow:0 10px 24px rgba(15,181,179,.28);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.hero__cta:hover{ transform:translateY(-1px); box-shadow:0 12px 28px rgba(255,122,0,.24); filter:saturate(110%); }

/* Controls & Dots */
.hero__ctrl{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border:none; border-radius:12px; cursor:pointer;
  background:rgba(255,255,255,.9); color:var(--primary);
  font-size:28px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transition:transform .15s ease, background .2s ease; z-index:4;
}
.hero__prev{ left:20px; } .hero__next{ right:20px; }
.hero__ctrl:hover{ transform:translateY(-50%) scale(1.03); }
.hero__dots{ position:absolute; left:50%; bottom:18px; transform:translateX(-50%); display:flex; gap:8px; z-index:4; }
.hero__dot{
  width:10px; height:10px; border-radius:999px; border:none; cursor:pointer;
  background:rgba(255,255,255,.65);
  transition:transform .15s ease, background .2s ease;
}
.hero__dot.is-active{ background:linear-gradient(90deg, var(--accent), var(--highlight)); transform:scale(1.25); }

/* Hero breakpoints */
@media (max-width:900px){ .hero{ min-height:470px; } .hero__content{ padding:90px 20px 110px; } }
@media (max-width:560px){ .hero{ min-height:440px; } .hero__content{ padding:78px 16px 102px; } .hero__prev{ left:10px; } .hero__next{ right:10px; } }

/* -------------------- BUTTONS -------------------- */
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:10px 16px;
  border-radius:999px; background: linear-gradient(90deg, var(--accent), var(--highlight));
  color:#04151c; font-weight:800;
  transition:transform .2s ease, box-shadow .2s ease; box-shadow:0 10px 22px rgba(15,181,179,.22);
}
.btn:hover{ transform:translateY(-1px); box-shadow:0 16px 34px rgba(15,181,179,.30); }
.btn--outline{
  background:transparent; color:var(--primary); border:2px solid var(--accent); font-weight:800;
}
.btn--outline:hover{ background:linear-gradient(90deg, var(--accent), var(--highlight)); color:#04151c; border-color:transparent; }

/* -------------------- HOME: CATEGORIES (3 only) -------------------- */
.categories{
  background: radial-gradient(900px 360px at -10% 0%, #EAFBF9, transparent 60%), #fff;
  padding:50px 0 56px;
}
.categories__head{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:16px; }
.categories__title{
  font-family:"Playfair Display",serif; color:#0A1E33; font-size:clamp(22px,3vw,34px); margin:0;
}
.categories__grid{ display:grid; gap:18px; grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:980px){ .categories__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:620px){ .categories__grid{ grid-template-columns:1fr; } }

.category{
  position:relative;
  background: linear-gradient(180deg, #FFFFFF, #FFF4E8);
  border:1px solid rgba(11,34,57,.08);
  border-radius:18px; overflow:hidden;
  box-shadow: var(--shadow-1);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.category::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background: linear-gradient(90deg, var(--accent), var(--highlight)); opacity:.9;
}
.category:hover{ transform:translateY(-3px); box-shadow:var(--shadow-2); border-color:rgba(11,34,57,.16); }
.category__link{ display:block; height:100%; }

.category__media{ position:relative; aspect-ratio:21/9; background:#e6edf3; box-shadow: inset 0 0 0 1px rgba(11,34,57,.06); }
.category__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(110%) contrast(103%); }
.category__badge{ position:absolute; left:12px; top:12px; background:linear-gradient(90deg, var(--accent), var(--highlight)); color:#08242B; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:800; box-shadow:0 6px 18px rgba(15,181,179,.25); }

.category__body{ padding:14px 16px 18px; }
.category__title{ margin:0 0 6px 0; color:var(--primary); font-size:18px; font-weight:900; }
.category__desc{ margin:0 0 10px 0; color:#334155; font-size:14px; line-height:1.5; }
.category__cta{ display:inline-block; font-weight:800; color:var(--accent); }

/* -------------------- PRODUCTS (Grid) -------------------- */
.products{
  background: radial-gradient(900px 360px at 110% 0%, #FFF3E6, transparent 60%), var(--surface);
  padding:56px 0;
}
.products__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:20px; }
.products__title{
  font-family:"Playfair Display",serif; color:#0A1E33; font-size:clamp(22px,3vw,34px); margin:0;
}
.products__grid{ display:grid; gap:18px; grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:1100px){ .products__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .products__grid{ grid-template-columns:1fr; } }

.products__card{
  position:relative; background: linear-gradient(180deg, #FFFFFF, #FFF4E8);
  border:1px solid rgba(11,34,57,.08); border-radius:18px; overflow:hidden;
  box-shadow: var(--shadow-1);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex; flex-direction:column;
}
.products__card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background: linear-gradient(90deg, var(--accent), var(--highlight)); opacity:.9;
}
.products__card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-2); border-color:rgba(11,34,57,.16); }

.products__media{ position:relative; display:block; aspect-ratio:16/9; background:#eef2f4; box-shadow: inset 0 0 0 1px rgba(11,34,57,.06); }
.products__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.products__badge{ position:absolute; left:12px; top:12px; background:linear-gradient(90deg, var(--accent), var(--highlight)); color:#08242B; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:800; box-shadow:0 6px 18px rgba(15,181,179,.25); }

.products__body{ padding:14px 16px 18px; display:flex; flex-direction:column; gap:8px; flex:1; }
.products__cardtitle{ margin:0; font-size:18px; line-height:1.35; color:var(--primary); font-weight:900; }
.products__cardtitle a{ color:inherit; }
.products__desc{ margin:0; color:#3b4452; font-size:14px; line-height:1.5; }
.products__meta{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; }
.products__dur{ font-size:13px; font-weight:700; color:#334155; }
.products__price{ font-size:18px; font-weight:900; color:var(--accent); }

@media (min-width:1100px){
  .products__grid > .products__card:nth-child(-n+3) .products__media{ aspect-ratio:21/9; }
  .products__grid > .products__card:nth-child(-n+3) .products__cardtitle{ font-size:19px; }
}

/* -------------------- WHY CHOOSE US (SVG + Gradients + Divider + Spacing v2) -------------------- */
.why{
  position:relative; padding:60px 0 70px;
  background:
    radial-gradient(1200px 500px at 12% -12%, rgba(15,181,179,.12), transparent 60%),
    radial-gradient(1200px 500px at 110% -5%, rgba(255,122,0,.10), transparent 60%),
    #FFFEFC;
}
.why::before{
  content:""; position:absolute; inset:auto -10% 0 -10%; height:1px;
  background:linear-gradient(90deg, transparent, rgba(11,34,57,.1), transparent);
}
.why__head{ text-align:center; margin-bottom:26px; }
.why__title{
  font-family:"Playfair Display",serif; color:#0A1E33;
  font-size:clamp(22px,3vw,34px); margin:0 0 8px 0;
}
.why__subtitle{ margin:0 auto; max-width:720px; color:#3b4452; line-height:1.65; }
.why__divider{
  width:160px; height:4px; margin:14px auto 4px;
  background: linear-gradient(90deg, var(--accent), var(--highlight));
  border-radius:999px; box-shadow:0 6px 18px rgba(15,181,179,.28);
}

/* Feature grid — more breathable gaps */
.why__grid{ margin-top:28px; display:grid; gap:26px 26px; grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:980px){ .why__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:620px){ .why__grid{ grid-template-columns:1fr; } }

/* Variants */
.why__card{ --g1:#EAFBF9; --g2:#D6FBF3; --ring:rgba(15,181,179,.45); --ico:#0B2239; }
.why__card.v-teal   { --g1:#EAFBF9; --g2:#D6FBF3; --ring:rgba(15,181,179,.55); --ico:#075E5C; }
.why__card.v-amber  { --g1:#FFF5E8; --g2:#FFE8CE; --ring:rgba(255,122,0,.45); --ico:#8A4B00; }
.why__card.v-sunset { --g1:#FFE7F0; --g2:#FFEFD6; --ring:rgba(255,110,144,.45); --ico:#8A183A; }
.why__card.v-ocean  { --g1:#E7F3FF; --g2:#DEF6FF; --ring:rgba(41,123,255,.42); --ico:#0A3A7A; }
.why__card.v-purple { --g1:#F2E8FF; --g2:#EBDDFF; --ring:rgba(140,79,255,.42); --ico:#4A2C86; }

/* Card (bigger padding, thicker ribbon, stronger shadow) */
.why__card{
  position:relative;
  background: linear-gradient(180deg, var(--g1), var(--g2));
  border:1px solid rgba(11,34,57,.12);
  border-radius:20px; padding:22px 20px;
  box-shadow: 0 14px 32px rgba(11,34,57,.14), 0 6px 16px rgba(11,34,57,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.why__card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:4px;
  background: linear-gradient(90deg, var(--accent), var(--highlight)); opacity:.95;
  border-top-left-radius:20px; border-top-right-radius:20px;
}
.why__card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(11,34,57,.18), 0 10px 22px rgba(11,34,57,.10);
  border-color: rgba(11,34,57,.18);
}

/* Icon puck (slightly larger + glow) */
.why__icon{
  position:relative; width:60px; height:60px; border-radius:18px;
  display:grid; place-items:center; color: var(--ico);
  background:
    radial-gradient(60% 60% at 30% 30%, #fff8, transparent 60%),
    linear-gradient(135deg, var(--g2), var(--g1));
  box-shadow: 0 12px 26px var(--ring), inset 0 1px 0 rgba(255,255,255,.65);
  margin-bottom:12px;
}
.why__icon::after{
  content:""; position:absolute; inset:-8px; border-radius:24px;
  background: conic-gradient(from 120deg, var(--accent), var(--highlight), var(--accent));
  filter: blur(14px); opacity:.35; z-index:-1;
}
.why__iconsvg svg{ width:30px; height:30px; display:block; }

/* Titles & desc */
.why__cardtitle{ margin:2px 0 8px; color:#0A1E33; font-weight:900; font-size:18px; }
.why__desc{ margin:0; color:#2f4056; font-size:14px; line-height:1.7; }

/* Metrics (more gap before) */
.why__metrics{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px; margin:32px 0 10px;
}
@media (max-width:740px){ .why__metrics{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
.why__metric{
  background: linear-gradient(135deg, #0b2239, #123353);
  color:#fff; border-radius:16px; padding:14px 16px; text-align:center;
  box-shadow: 0 14px 32px rgba(11,34,57,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
.why__metricval{ font-weight:900; font-size:22px; letter-spacing:.3px; }
.why__metriclab{ opacity:.9; font-size:13px; }
.why__cta{ display:flex; gap:10px; justify-content:center; margin-top:16px; }

/* -------------------- FOOTER (basic placeholder) -------------------- */
.site-footer{
  background:#081B2C; color:#c9d4df; padding:28px 0; margin-top:30px;
  border-top:1px solid rgba(255,255,255,.06);
}
.site-footer a:hover{ color:#fff; }


/* ===================== BLOG (Home + List + Detail) ===================== */
.blog__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:16px; }
.blog__title{ font-family:"Playfair Display",serif; color:#0A1E33; font-size:clamp(22px,3vw,34px); margin:0; }

/* Home section background */
.blog-home{
  padding:50px 0 58px;
  background: radial-gradient(900px 360px at 50% -10%, #EAFBF9, transparent 60%), #fff;
}

/* Grid */
.blog__grid{ display:grid; gap:18px; grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:1100px){ .blog__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .blog__grid{ grid-template-columns:1fr; } }

/* Card */
.blog__card{
  position:relative; background: linear-gradient(180deg,#FFFFFF,#F6F9FF);
  border:1px solid rgba(11,34,57,.08); border-radius:18px; overflow:hidden;
  box-shadow: 0 10px 26px rgba(11,34,57,.10), 0 3px 8px rgba(11,34,57,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex; flex-direction:column;
}
.blog__card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background: linear-gradient(90deg, var(--accent), var(--highlight)); opacity:.9;
}
.blog__card:hover{ transform:translateY(-3px); box-shadow:0 18px 38px rgba(11,34,57,.16); border-color:rgba(11,34,57,.16); }

/* Media */
.blog__media{ position:relative; display:block; aspect-ratio:16/9; background:#eef2f4; }
.blog__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.blog__badge{
  position:absolute; left:12px; top:12px; background:linear-gradient(90deg,var(--accent),var(--highlight));
  color:#08242B; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:800; box-shadow:0 6px 18px rgba(15,181,179,.25);
}

/* Body */
.blog__body{ padding:14px 16px 18px; display:flex; flex-direction:column; gap:8px; flex:1; }
.blog__cardtitle{ margin:0; font-size:18px; line-height:1.35; color:var(--primary); font-weight:900; }
.blog__cardtitle a{ color:inherit; }
.blog__excerpt{
  margin:0; color:#3b4452; font-size:14px; line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.blog__meta{ display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12.5px; color:#4b5563; }

/* Listing page container */
.blog-list{ padding:40px 0 60px; background:var(--surface); }

/* Pagination */
.pager{ margin-top:22px; display:flex; justify-content:center; }
.pager__list{ list-style:none; padding:0; margin:0; display:flex; gap:8px; align-items:center; }
.pager__link{
  display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px;
  border-radius:999px; border:1px solid rgba(11,34,57,.12); background:#fff; color:#0B2239; font-weight:700;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.pager__link:hover{ transform:translateY(-1px); box-shadow:0 10px 18px rgba(11,34,57,.12); }
.pager__link.is-active{ background:linear-gradient(90deg,var(--accent),var(--highlight)); color:#04151c; border-color:transparent; }
.pager__gap{ color:#64748b; }

/* Blog detail content typographic tweaks */
.post__content{ color:#1e293b; line-height:1.85; }
.post__content h2,.post__content h3{ color:#0B2239; margin:20px 0 10px; }
.post__content ul{ padding-left:18px; }
.blogdetail__meta{ color:#475569; font-size:14px; }



/* ===================== FOOTER v2 (Newsletter + Dark Gradient) ===================== */

/* Pre-footer subscribe card */
.prefoot{
  padding: 34px 0 18px;
  background:
    radial-gradient(900px 360px at 5% -10%, rgba(15,181,179,.15), transparent 60%),
    radial-gradient(900px 360px at 100% -20%, rgba(255,122,0,.15), transparent 60%),
    #fff;
}
.prefoot__card{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  background:#fff; border:1px solid rgba(11,34,57,.10); border-radius:22px;
  padding:20px; box-shadow: 0 16px 40px rgba(11,34,57,.12);
}
.prefoot__brand{ display:flex; align-items:center; gap:14px; }
.prefoot__logo{ width:150px; height:auto; }
.prefoot__text h3{ margin:0 0 6px; font-size:20px; color:#0B2239; font-weight:900; }
.prefoot__text p{ margin:0; color:#415166; font-size:14px; }

.prefoot__form{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; min-width:360px; }
.prefoot__field{ display:flex; align-items:stretch; gap:8px; width:100%; }
.prefoot__field input{
  flex:1; height:44px; border-radius:999px; border:1px solid rgba(11,34,57,.16); padding:0 14px;
  font-size:14.5px; color:#0B2239; background:#fff;
}
.prefoot__btn{ height:44px; padding:0 18px; font-weight:900; }
.prefoot__note{ color:#6b7a8f; font-size:12px; }
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

@media (max-width:840px){
  .prefoot__card{ flex-direction:column; align-items:stretch; }
  .prefoot__form{ min-width:0; }
}

/* Main footer */
.site-footer{
  padding: 28px 0 18px;
  background:
    radial-gradient(800px 350px at -15% 0%, #0E2E45, transparent 60%),
    radial-gradient(1000px 380px at 115% -10%, #143B63, transparent 60%),
    linear-gradient(180deg, #0B2239, #091B2E);
  color:#c9d4df;
  border-top: 3px solid transparent;
  border-image: linear-gradient(90deg, var(--accent), var(--highlight)) 1;
}
.foot{
  display:grid; gap:22px;
  grid-template-columns: 2fr 1fr 1fr 1fr;
}
@media (max-width:980px){ .foot{ grid-template-columns: 1fr 1fr; } }
@media (max-width:560px){ .foot{ grid-template-columns: 1fr; } }

.foot__col{ min-width:0; }
.foot__brand{ padding-right:18px; }
.foot__logo img{ width:180px; height:auto; display:block; }
.foot__tag{ margin:10px 0 12px; color:#d7e2ec; }

.foot__contact{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.foot__contact li{ display:flex; align-items:flex-start; gap:10px; }
.foot__contact .ico{ width:18px; height:18px; color:#9fdde0; margin-top:3px; }
.foot__contact a{ color:#e6f6f7; }
.foot__contact a:hover{ color:#fff; }

.foot__title{ margin:8px 0 10px; color:#ffffff; font-weight:900; font-size:16px; }
.foot__links{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.foot__links a{ color:#c9d4df; }
.foot__links a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }

/* Social icons */
.foot__social{ display:flex; gap:10px; margin-top:12px; }
.soc{
  width:38px; height:38px; display:grid; place-items:center; border-radius:12px;
  background: radial-gradient(70% 60% at 30% 30%, rgba(255,255,255,.12), transparent 60%),
              linear-gradient(135deg, rgba(15,181,179,.25), rgba(255,122,0,.25));
  color:#ffffff; box-shadow: 0 8px 18px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.10);
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.soc svg{ width:20px; height:20px; }
.soc:hover{ transform: translateY(-2px); filter: saturate(120%); box-shadow: 0 12px 26px rgba(0,0,0,.32); }

/* Bottom bar */
.foot__bar{
  margin-top:18px; padding-top:14px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-size:13px; color:#aab7c4;
}
.foot__mini{ list-style:none; margin:0; padding:0; display:flex; gap:12px; }
.foot__mini a{ color:#c9d4df; }
.foot__mini a:hover{ color:#fff; }
@media (max-width:600px){
  .foot__bar{ flex-direction:column; align-items:flex-start; }
}


/* -------------------- END -------------------- */
