/* ============================================================
   TRIO TOUR — Main Stylesheet
   assets/css/main.css
   ============================================================ */

:root {
  --p:        #1a56db;
  --p-dk:     #1448c0;
  --p-lt:     #4b7ef5;
  --p-bg:     #eef3ff;
  --accent:   #e84d1c;
  --acc-lt:   #ff6b45;
  --dark:     #0a1628;
  --dark2:    #152038;
  --text:     #1a2333;
  --text2:    #4a5568;
  --text3:    #8e9ab0;
  --bg:       #f2f5fa;
  --bg2:      #e8ecf4;
  --white:    #fff;
  --border:   #dce2ef;
  --border2:  #c8d0e4;
  --r-xs:  6px;
  --r-sm:  10px;
  --r:     14px;
  --r-lg:  20px;
  --r-xl:  28px;
  --sh-xs: 0 1px 3px rgba(0,0,0,.06);
  --sh-sm: 0 2px 8px rgba(0,0,0,.07);
  --sh:    0 4px 16px rgba(0,0,0,.09);
  --sh-md: 0 8px 28px rgba(0,0,0,.11);
  --sh-lg: 0 16px 48px rgba(0,0,0,.13);
  --sh-p:  0 6px 24px rgba(26,86,219,.3);
  --ease:  cubic-bezier(.4,0,.2,1);
  --t:     .22s;
  --font:  'DM Sans', system-ui, sans-serif;
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:15px; overflow-x:hidden; }
body { font-family:var(--font); color:var(--text); background:var(--bg); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font); font-weight:700; line-height:1.2; color:var(--dark); }
a { text-decoration:none; }
img { display:block; max-width:100%; }
button { font-family:var(--font); cursor:pointer; border:none; background:none; }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--p); border-radius:3px; }

/* ── CONTAINER XXL override (Bootstrap default max-width için) ── */
.container-xxl {
  max-width: 1500px;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (min-width:1500px) {
  .container-xxl { padding-left:3rem; padding-right:3rem; }
}

/* ── TOPBAR ── */
.topbar { background:var(--dark); color:rgba(255,255,255,.55); font-size:.775rem; padding:.5rem 0; letter-spacing:.1px; }
.topbar a { color:rgba(255,255,255,.45); transition:color var(--t); }
.topbar a:hover { color:rgba(255,255,255,.85); }
.tb-sep { color:rgba(255,255,255,.15); margin:0 .2rem; }

/* ── NAVBAR ── */
.nav-wrap { background:rgba(255,255,255,.96); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:1030; transition:box-shadow var(--t); }
.nav-wrap.scrolled { box-shadow:var(--sh); }
.nav-inner { height:84px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }

.brand { font-size:1.35rem; font-weight:800; color:var(--dark); display:flex; align-items:center; gap:.45rem; letter-spacing:-.4px; flex-shrink:0; }
.brand-mark { display:flex; gap:3px; align-items:center; }
.brand-dot { width:7px; height:7px; border-radius:50%; }
.brand-dot:nth-child(1) { background:var(--p); }
.brand-dot:nth-child(2) { background:var(--p-lt); opacity:.7; }
.brand-dot:nth-child(3) { background:var(--accent); opacity:.5; }

.nav-links { display:flex; align-items:center; list-style:none; margin:0; padding:0; }
.nav-links > li { position:relative; }
.nav-links > li > a { color:var(--text2); font-size:.875rem; font-weight:600; padding:0 1rem; height:64px; display:flex; align-items:center; gap:.3rem; transition:color var(--t); position:relative; letter-spacing:-.1px; }
.nav-links > li > a::after { content:''; position:absolute; bottom:0; left:1rem; right:1rem; height:2px; background:var(--p); border-radius:2px 2px 0 0; transform:scaleX(0); transform-origin:left; transition:transform var(--t) var(--ease); }
.nav-links > li > a:hover { color:var(--p); }
.nav-links > li > a:hover::after,
.nav-links > li > a.is-active::after { transform:scaleX(1); }
.nav-links > li > a.is-active { color:var(--p); }
.chev { font-size:.6rem; opacity:.5; transition:transform var(--t); }
.nav-links > li:hover .chev { transform:rotate(180deg); }

.nav-drop { position:absolute; top:100%; left:0; background:var(--white); border-radius:0 var(--r-lg) var(--r-lg) var(--r-lg); box-shadow:var(--sh-lg); min-width:230px; padding:.7rem 0; border:1px solid var(--border); opacity:0; visibility:hidden; transform:translateY(6px); transition:all .2s var(--ease); z-index:200; list-style:none; }
.nav-links > li:hover .nav-drop { opacity:1; visibility:visible; transform:translateY(0); }
.nd-head { padding:.25rem 1.1rem .15rem; font-size:.67rem; font-weight:700; text-transform:uppercase; letter-spacing:.9px; color:var(--text3); }
.nd-item { display:flex; align-items:center; padding:.55rem 1.1rem; color:var(--text2); font-size:.875rem; font-weight:500; transition:all .15s; }
.nd-item:hover { background:var(--p-bg); color:var(--p); padding-left:1.35rem; }
.nd-sep { height:1px; background:var(--border); margin:.35rem 1.1rem; }

.nav-right { display:flex; align-items:center; gap:.4rem; flex-shrink:0; }
.btn-ghost-nav { display:flex; align-items:center; gap:.4rem; padding:.55rem 1rem; border-radius:var(--r-sm); font-size:.855rem; font-weight:600; color:var(--text); transition:all var(--t); }
.btn-ghost-nav:hover { background:var(--p-bg); color:var(--p); }
.btn-primary-nav { display:flex; align-items:center; gap:.4rem; padding:.6rem 1.25rem; border-radius:var(--r-sm); font-size:.855rem; font-weight:700; color:#fff; background:var(--p); box-shadow:var(--sh-p); transition:all var(--t); }
.btn-primary-nav:hover { background:var(--p-dk); transform:translateY(-1px); box-shadow:0 8px 28px rgba(26,86,219,.4); }
/* ══ HEADER — Yeni Elementler ══ */

/* Telefon butonu (7/24) */
.hdr-call {
  display: flex; align-items: center; gap: .65rem;
  padding: .45rem .85rem; border-radius: var(--r-sm);
  background: var(--bg); border: 1.5px solid var(--border);
  text-decoration: none; transition: all var(--t);
  position: relative;
}
.hdr-call:hover { border-color: var(--p); background: var(--p-bg); }
.hc-pulse {
  width: 8px; height: 8px; border-radius: 50%;
  background: #16a34a; flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(22,163,74,.4);
  animation: hcPulse 2s infinite;
}
@keyframes hcPulse {
  0%   { box-shadow: 0 0 0 0 rgba(22,163,74,.4); }
  70%  { box-shadow: 0 0 0 7px rgba(22,163,74,0); }
  100% { box-shadow: 0 0 0 0 rgba(22,163,74,0); }
}
.hc-text { display: flex; flex-direction: column; line-height: 1.2; }
.hc-text small { font-size: .58rem; font-weight: 700; letter-spacing: .8px; color: var(--text3); text-transform: uppercase; }
.hc-text strong { font-size: .82rem; font-weight: 800; color: var(--dark); }

/* WhatsApp butonu */
.hdr-wa {
  display: flex; align-items: center; gap: .35rem;
  padding: .55rem .85rem; border-radius: var(--r-sm);
  background: #25d366; color: #fff; font-size: .82rem; font-weight: 700;
  text-decoration: none; transition: all var(--t);
}
.hdr-wa:hover { background: #1fba5a; color: #fff; transform: translateY(-1px); }
.hdr-wa i { font-size: 1rem; }

/* Hesap wrapper */
.hdr-account { position: relative; }

/* Giriş butonu (giriş yapılmamış) */
.hdr-login-btn {
  display: flex; align-items: center; gap: .5rem;
  padding: .48rem .9rem; border-radius: var(--r-sm);
  border: 1.5px solid var(--border); background: var(--white);
  text-decoration: none; transition: all var(--t); cursor: pointer;
}
.hdr-login-btn:hover { border-color: var(--p); background: var(--p-bg); }
.hdr-login-icon {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--p); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem; flex-shrink: 0;
}
.hdr-login-text { display: flex; flex-direction: column; line-height: 1.2; }
.hdr-login-text small { font-size: .58rem; color: var(--text3); font-weight: 600; letter-spacing: .3px; }
.hdr-login-text strong { font-size: .82rem; color: var(--dark); font-weight: 700; }

/* Hesap butonu (giriş yapılmış) */
.hdr-acc-btn {
  display: flex; align-items: center; gap: .5rem;
  padding: .4rem .75rem .4rem .4rem;
  border-radius: var(--r-sm);
  border: 1.5px solid var(--border); background: var(--white);
  cursor: pointer; transition: all var(--t); font-family: var(--font);
}
.hdr-acc-btn:hover { border-color: var(--p); background: var(--p-bg); }
.hdr-acc-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: linear-gradient(135deg, var(--p) 0%, var(--p-lt) 100%);
  color: #fff; font-size: .85rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; text-transform: uppercase;
}
.hdr-acc-info { display: flex; flex-direction: column; line-height: 1.2; text-align: left; }
.hdr-acc-info small { font-size: .58rem; color: var(--text3); font-weight: 600; }
.hdr-acc-info strong { font-size: .82rem; color: var(--dark); font-weight: 700; max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hdr-acc-chev { font-size: .62rem; color: var(--text3); transition: transform .2s; }
.hdr-acc-btn[aria-expanded="true"] .hdr-acc-chev { transform: rotate(180deg); }

/* Hesap dropdown menüsü */
.hdr-acc-menu {
  position: absolute; top: calc(100% + .5rem); right: 0;
  min-width: 240px; background: var(--white);
  border: 1.5px solid var(--border); border-radius: var(--r-lg);
  box-shadow: var(--sh-lg);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: all .2s var(--ease); z-index: 500;
}
.hdr-acc-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }

.ham-head {
  display: flex; align-items: center; gap: .75rem;
  padding: 1rem 1.1rem .85rem;
  border-bottom: 1px solid var(--border);
}
.ham-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, var(--p) 0%, var(--p-lt) 100%);
  color: #fff; font-size: 1rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  text-transform: uppercase; flex-shrink: 0;
}
.ham-head > div { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.ham-head strong { font-size: .875rem; font-weight: 700; color: var(--dark); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ham-head small { font-size: .75rem; color: var(--text3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ham-link {
  display: flex; align-items: center; gap: .6rem;
  padding: .65rem 1.1rem; color: var(--text2); font-size: .855rem;
  font-weight: 500; transition: all .15s; text-decoration: none;
}
.ham-link i { font-size: .9rem; color: var(--text3); }
.ham-link:hover { background: var(--bg); color: var(--p); }
.ham-link:hover i { color: var(--p); }
.ham-link-danger { color: var(--accent); }
.ham-link-danger i { color: var(--accent); }
.ham-link-danger:hover { background: #fff5f5; color: var(--accent); }
.ham-divider { height: 1px; background: var(--border); margin: .3rem 0; }

/* ══ MOBİL PANEL — Yeni yapı ══ */
.mob-panel-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.25rem; padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}
.mob-acc-area { margin-bottom: 1rem; }
.mob-acc-btn {
  display: flex; align-items: center; gap: .75rem;
  padding: .75rem .9rem; border-radius: var(--r-sm);
  background: var(--bg); text-decoration: none; transition: background var(--t);
}
.mob-acc-btn:hover { background: var(--p-bg); }
.mob-acc-btn > span:nth-child(2) { display: flex; flex-direction: column; gap: .1rem; flex: 1; min-width: 0; }
.mob-acc-btn strong { font-size: .875rem; font-weight: 700; color: var(--dark); display: block; }
.mob-acc-btn small  { font-size: .75rem; color: var(--text3); display: block; }
.mob-acc-btn .ms-auto { color: var(--text3); font-size: .7rem; }

.mob-menu-list { display: flex; flex-direction: column; gap: .15rem; margin-bottom: 1.25rem; }

.mob-contact {
  margin-top: auto; padding-top: 1rem;
  border-top: 1px solid var(--border);
  display: flex; flex-direction: column; gap: .5rem;
}
.mob-contact-btn {
  display: flex; align-items: center; gap: .55rem;
  padding: .7rem .9rem; border-radius: var(--r-sm);
  border: 1.5px solid var(--border); background: var(--white);
  font-size: .875rem; font-weight: 600; color: var(--dark);
  text-decoration: none; transition: all var(--t);
}
.mob-contact-btn:hover { border-color: var(--p); color: var(--p); }
.mob-contact-wa { background: #25d366 !important; border-color: #25d366 !important; color: #fff !important; }
.mob-contact-wa:hover { background: #1fba5a !important; }

.mob-btn { display:none; font-size:1.35rem; color:var(--dark); padding:.3rem; }
@media (max-width:991px) { .nav-links { display:none !important; } .mob-btn { display:block; } }
@media (max-width:767px) { .btn-ghost-nav { display:none; } }

/* ── HERO ── */
.hero { position:relative; min-height:720px; display:flex; align-items:center; }
.hero-bg-wrap { position:absolute; inset:0; }
.hero-bg-wrap img { width:100%; height:100%; object-fit:cover; transition:opacity .65s; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,18,42,.82) 0%, rgba(8,18,42,.72) 50%, rgba(8,18,42,.85) 100%); }
.hero-content { position:relative; z-index:2; width:100%; padding:4.5rem 0 3.5rem; }

/* Hero centered text */
.hero-center { text-align:center; max-width:680px; margin:0 auto 2.5rem; }
.hero-kicker { display:inline-flex; align-items:center; gap:.55rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.8); padding:.38rem .9rem; border-radius:100px; font-size:.7rem; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; margin-bottom:1.4rem; }
.hero-kicker-dot { width:5px; height:5px; background:#4b7ef5; border-radius:50%; }
.hero-title { font-size:clamp(2.2rem, 4.5vw, 3.8rem); color:#fff; font-weight:800; line-height:1.08; margin-bottom:1rem; letter-spacing:-.6px; }
.hero-title em { font-style:italic; color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.9); }
.hero-desc { color:rgba(255,255,255,.55); font-size:1.05rem; line-height:1.7; max-width:520px; margin:0 auto; }

/* Trust pills — centered below search */
.hero-pills { display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; margin-top:1.75rem; }
.hero-pill { display:flex; align-items:center; gap:.4rem; color:rgba(255,255,255,.6); font-size:.78rem; font-weight:500; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); padding:.35rem .85rem; border-radius:100px; }
.hero-pill i { font-size:.78rem; color:rgba(255,255,255,.35); }
.hero-dots { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); z-index:5; display:flex; gap:.45rem; }
.hdot { width:24px; height:3px; border-radius:2px; background:rgba(255,255,255,.2); border:none; transition:all var(--t); padding:0; }
.hdot.on { background:#fff; width:36px; }

/* ══════════════════════════════════════════════
   SEARCH BOX — Big Premium Layout
══════════════════════════════════════════════ */

.search-box {
  max-width: 1080px;
  margin: 0 auto;
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(32px) saturate(180%);
  -webkit-backdrop-filter: blur(32px) saturate(180%);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 28px;
  box-shadow: 0 24px 80px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.15);
  position: relative;
  overflow: visible;
}

/* Tabs */
.stabs {
  display: flex;
  padding: 8px;
  gap: 6px;
  background: rgba(0,0,0,.2);
  border-radius: 24px 24px 0 0;
}
.stab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .85rem 1.2rem;
  border-radius: 16px;
  font-size: .88rem;
  font-weight: 700;
  color: rgba(255,255,255,.4);
  background: transparent;
  border: none;
  transition: all .25s var(--ease);
  font-family: var(--font);
  letter-spacing: .2px;
}
.stab i { font-size: 1rem; }
.stab.on {
  background: var(--white);
  color: var(--p);
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
}
.stab:hover:not(.on) {
  color: rgba(255,255,255,.75);
  background: rgba(255,255,255,.07);
}

/* Panel body */
.spanel-wrap {
  padding: 10px;
  position: relative;
}
.spanel { display:none; }
.spanel.on { display:block; }

/* ── Single horizontal row ── */
.sf-row {
  display: flex;
  align-items: stretch;
  background: var(--white);
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  position: relative;
}

/* Field block */
.sf-field {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .85rem 1.15rem;
  position: relative;
  min-width: 0;
}
.sf-field-query { flex: 1; }
.sf-field-month { flex: 0 0 210px; }

/* Vertical divider */
.sf-sep {
  width: 1.5px;
  align-self: center;
  height: 36px;
  background: var(--border);
  flex-shrink: 0;
}

/* Icon squares */
.sf-icon {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
  transition: all var(--t);
}
.sf-icon-blue  { background: var(--p-bg); color: var(--p); }
.sf-icon-orange { background: #fef3ec; color: var(--accent); }
.sf-field:focus-within .sf-icon-blue  { background: var(--p); color: #fff; }
.sf-field:focus-within .sf-icon-orange { background: var(--accent); color: #fff; }

/* Focus ring on entire row */
.sf-row:focus-within {
  box-shadow: 0 2px 12px rgba(0,0,0,.06), 0 0 0 3px rgba(26,86,219,.12);
}

/* Label + input body */
.sf-body { flex:1; min-width:0; }
.sf-body label {
  display: block;
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text3);
  margin-bottom: .12rem;
}
.sf-body input,
.sf-body select {
  border: none;
  outline: none;
  background: transparent;
  width: 100%;
  font-size: 1rem;
  font-family: var(--font);
  color: var(--text);
  font-weight: 600;
  padding: 0;
  line-height: 1.3;
  -webkit-appearance: none;
  appearance: none;
}
.sf-body input::placeholder { color: var(--text3); font-weight: 400; }
.sf-body select { cursor:pointer; }
.sf-body select option { font-weight:500; }

/* Search button */
.btn-srch {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  background: var(--p);
  color: #fff;
  border: none;
  padding: 0 2.2rem;
  margin: 6px;
  border-radius: 14px;
  font-weight: 800;
  font-size: .92rem;
  font-family: var(--font);
  letter-spacing: .15px;
  cursor: pointer;
  box-shadow: var(--sh-p);
  transition: all var(--t);
  white-space: nowrap;
}
.btn-srch i { font-size: 1.05rem; }
.btn-srch:hover {
  background: var(--p-dk);
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 10px 32px rgba(26,86,219,.5);
}
.btn-srch:active { transform: scale(.97); }

/* ── Search responsive ── */
@media (max-width: 767px) {
  .hero { min-height: 620px; }
  .hero-content { padding: 3rem 0 2.5rem; }
  .search-box { border-radius: 20px; }
  .stabs { border-radius: 16px 16px 0 0; padding: 6px; }
  .spanel-wrap { padding: 8px; }
  .sf-row { flex-direction: column; border-radius: 14px; }
  .sf-field-month { flex: auto; }
  .sf-sep { width: auto; height: 1.5px; align-self: stretch; }
  .sf-icon { width: 40px; height: 40px; font-size: 1rem; border-radius: 10px; }
  .sf-body input, .sf-body select { font-size: .92rem; }
  .btn-srch { margin: 6px; padding: .85rem 1.5rem; border-radius: 12px; }
}

/* ── Autocomplete dropdown ── */
.ac-wrap {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  z-index: 500;
  background: var(--white);
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(0,0,0,.18), 0 0 0 1px var(--border);
  max-height: 420px;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all .22s var(--ease);
  pointer-events: none;
}
.ac-wrap.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.ac-wrap::-webkit-scrollbar { width:4px; }
.ac-wrap::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px; }

.ac-section-head {
  padding: .8rem 1.25rem .4rem;
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text3);
}
.ac-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .8rem 1.25rem;
  cursor: pointer;
  transition: background .15s;
}
.ac-item:hover, .ac-item.focused {
  background: var(--p-bg);
}
.ac-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  flex-shrink: 0;
}
.ac-icon-dest { background: #fff0eb; color: var(--accent); }
.ac-icon-tour { background: var(--p-bg); color: var(--p); }
.ac-icon-cat  { background: #f0fdf4; color: #16a34a; }
.ac-info { flex:1; min-width:0; }
.ac-text-main { font-size: .92rem; font-weight: 600; color: var(--dark); }
.ac-text-sub  { font-size: .78rem; color: var(--text3); margin-top: .1rem; }
.ac-badge {
  margin-left: auto;
  background: var(--bg);
  color: var(--text3);
  font-size: .65rem;
  font-weight: 700;
  padding: .22rem .65rem;
  border-radius: 100px;
  letter-spacing: .4px;
  flex-shrink: 0;
  white-space: nowrap;
}
.ac-badge-blue  { background: var(--p-bg); color: var(--p); }
.ac-badge-green { background: #f0fdf4; color: #16a34a; }
.ac-divider { height: 1px; background: var(--border); margin: .4rem 1.25rem; }

/* ── SECTIONS ── */
.sec { padding:5rem 0; }
.sec-sm { padding:3rem 0; }
.sec-white { background:var(--white); }
.sec-dark { background:var(--dark); }
.sec-blue { background:linear-gradient(135deg, var(--p) 0%, #1342b8 100%); }

.sh { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:2.5rem; flex-wrap:wrap; gap:1rem; }
.sh-l h2 { font-size:clamp(1.55rem, 2.3vw, 2rem); letter-spacing:-.4px; font-weight:800; }
.sh-l h2 span { color:var(--p); }
.sh-l h2.on-dark { color:#fff; }
.sh-l h2.on-dark span { color:var(--p-lt); }
.sh-l p { color:var(--text2); font-size:.875rem; margin-top:.3rem; }
.sh-l p.on-dark { color:rgba(255,255,255,.4); }
.sh-link { color:var(--p); font-weight:600; font-size:.82rem; display:flex; align-items:center; gap:.3rem; transition:gap var(--t); }
.sh-link:hover { gap:.55rem; }
.sh-link.on-dark { color:rgba(255,255,255,.55); }
.sh-link.on-dark:hover { color:#fff; }

/* ── DESTINATION CARDS ── */
.dest-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
@media (max-width:991px) { .dest-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:575px) { .dest-grid { gap:.7rem; } }
.dcard { border-radius:var(--r-lg); overflow:hidden; position:relative; aspect-ratio:3/4; cursor:pointer; transition:transform var(--t), box-shadow var(--t); }
.dcard:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); }
.dcard img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.dcard:hover img { transform:scale(1.06); }
.dcard-ov { position:absolute; inset:0; background:linear-gradient(to top, rgba(8,18,42,.88) 0%, rgba(8,18,42,.18) 55%, transparent 100%); }
.dcard-body { position:absolute; bottom:0; left:0; right:0; padding:1.2rem; }
.dcard-region { font-size:.67rem; font-weight:700; text-transform:uppercase; letter-spacing:1.1px; color:rgba(255,255,255,.5); margin-bottom:.2rem; }
.dcard-name { font-size:1.15rem; font-weight:800; color:#fff; line-height:1.15; margin-bottom:.55rem; letter-spacing:-.2px; }
.dcard-meta { display:flex; justify-content:space-between; align-items:center; }
.dcard-count { font-size:.73rem; color:rgba(255,255,255,.45); font-weight:500; }
.dcard-price { background:rgba(255,255,255,.11); backdrop-filter:blur(8px); color:rgba(255,255,255,.9); font-size:.73rem; font-weight:700; padding:.25rem .65rem; border-radius:var(--r-xs); border:1px solid rgba(255,255,255,.16); }

/* ── DESTINATION CARD — swiper içinde aspect-ratio sabitle ── */
.swiper-dest-cruise .dcard,
.swiper-dest-land .dcard {
  aspect-ratio: 3 / 4;
  height: auto;
  display: block;
  cursor: pointer;
}

/* ── CATEGORY CARD — swiper içinde tam yükseklik ── */
.swiper-cat-cruise .swiper-slide,
.swiper-cat-land .swiper-slide {
  height: auto;
}
.swiper-cat-cruise .ccat,
.swiper-cat-land .ccat {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.ccat { background:var(--white); border-radius:var(--r); border:1.5px solid var(--border); padding:1.6rem 1.4rem; cursor:pointer; transition:all var(--t); text-align:center; }
.ccat:hover { border-color:var(--p); box-shadow:var(--sh-md); transform:translateY(-3px); }
.ccat-name { font-size:.975rem; font-weight:700; color:var(--dark); margin-bottom:.25rem; letter-spacing:-.1px; }
.ccat-count { font-size:.8rem; color:var(--text3); font-weight:500; }
.ccat:hover .ccat-name { color:var(--p); }

/* ── SWIPER SHELL ── */
.sw-shell { padding:.4rem .2rem 3rem !important; margin:-.4rem -.2rem; }
.sw-shell .swiper-slide { height:auto; }
.sw-nav { position:absolute; top:37%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; background:var(--white); border:1.5px solid var(--border); color:var(--text2); display:flex; align-items:center; justify-content:center; font-size:.9rem; z-index:10; cursor:pointer; transition:all var(--t); box-shadow:var(--sh-sm); }
.sw-nav:hover { background:var(--p); color:#fff; border-color:var(--p); box-shadow:var(--sh-p); }
.sw-nav.sw-prev { left:-14px; }
.sw-nav.sw-next { right:-14px; }
.sw-pg .swiper-pagination-bullet { width:7px; height:7px; background:var(--border); opacity:1; }
.sw-pg .swiper-pagination-bullet-active { background:var(--p); width:22px; border-radius:4px; }

/* ── TOUR CARD ── */
.tcard { background:var(--white); border-radius:var(--r-lg); border:1.5px solid var(--border); overflow:hidden; transition:transform var(--t) var(--ease), box-shadow var(--t), border-color var(--t); height:100%; display:flex; flex-direction:column; }
.tcard:hover { transform:translateY(-4px); box-shadow:var(--sh-md); border-color:rgba(26,86,219,.15); }
.tcard-img { position:relative; height:200px; overflow:hidden; flex-shrink:0; }
.tcard-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.tcard:hover .tcard-img img { transform:scale(1.07); }
.tcard-badges { position:absolute; top:.8rem; left:.8rem; display:flex; flex-direction:column; gap:.3rem; }
.tb { padding:.25rem .6rem; border-radius:var(--r-xs); font-size:.67rem; font-weight:700; letter-spacing:.5px; width:fit-content; text-transform:uppercase; }
.tb-red    { background:var(--accent); color:#fff; }
.tb-green  { background:#16a34a; color:#fff; }
.tb-blue   { background:var(--p); color:#fff; }
.tb-purple { background:#6d28d9; color:#fff; }
.tcard-wish { position:absolute; top:.8rem; right:.8rem; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; font-size:.85rem; color:var(--text3); transition:all var(--t); box-shadow:var(--sh-xs); }
.tcard-wish:hover, .tcard-wish.on { background:#ef4444; color:#fff; transform:scale(1.08); }
.tcard-body { padding:1.1rem 1.15rem; flex:1; display:flex; flex-direction:column; gap:.45rem; }
.tcard-dest { font-size:.67rem; font-weight:700; text-transform:uppercase; letter-spacing:.9px; color:var(--p); }
.tcard-title { font-size:.935rem; font-weight:700; color:var(--dark); line-height:1.38; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; letter-spacing:-.1px; }
.tcard-meta { display:flex; gap:.65rem; flex-wrap:wrap; }
.tm { display:flex; align-items:center; gap:.25rem; font-size:.75rem; color:var(--text2); font-weight:500; }
.tm i { font-size:.75rem; color:var(--text3); }
.tcard-rating { display:flex; align-items:center; gap:.3rem; }
.tr-stars { display:flex; gap:1px; }
.tr-stars i { color:#f59e0b; font-size:.68rem; }
.tr-score { font-size:.8rem; font-weight:700; color:var(--dark); }
.tr-count { font-size:.72rem; color:var(--text3); }
.tcard-dates-lbl { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.9px; color:var(--text3); margin-bottom:.35rem; }
.tcard-dates-row { display:flex; gap:.3rem; flex-wrap:wrap; }
.tdpill { padding:.28rem .6rem; border-radius:var(--r-xs); border:1.5px solid var(--border); background:var(--bg); font-size:.72rem; font-weight:600; color:var(--text2); transition:all var(--t); }
.tdpill:hover { border-color:var(--p); color:var(--p); background:var(--p-bg); }
.tdpill.on { background:var(--p); border-color:var(--p); color:#fff; }
.tdmore { padding:.28rem .6rem; border-radius:var(--r-xs); border:1.5px dashed var(--border2); background:transparent; font-size:.72rem; font-weight:600; color:var(--text3); transition:all var(--t); }
.tdmore:hover { border-color:var(--p); color:var(--p); border-style:solid; background:var(--p-bg); }
.tcard-foot { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:.9rem; border-top:1px solid var(--border); }
.tcard-price-old { font-size:.75rem; color:var(--text3); text-decoration:line-through; line-height:1; }
.tcard-price { font-size:1.25rem; font-weight:800; color:var(--dark); letter-spacing:-.5px; font-variant-numeric:tabular-nums; }
.tcard-price sub { font-size:.7rem; font-weight:500; color:var(--text3); font-variant-numeric:normal; vertical-align:baseline; }
.btn-tcard { background:var(--p); color:#fff; padding:.55rem 1.1rem; border-radius:var(--r-sm); font-weight:700; font-size:.775rem; transition:all var(--t); }
.btn-tcard:hover { background:var(--p-dk); transform:scale(1.03); box-shadow:var(--sh-p); }

/* ── OFFCANVAS DATES ── */
.oc-dates .offcanvas-header { border-bottom:1px solid var(--border); padding:1.2rem 1.4rem; }
.oc-dates .offcanvas-title { font-size:1.05rem; font-weight:700; }
.oc-dates .offcanvas-body { padding:1.2rem 1.4rem; }
.drow { display:flex; align-items:center; justify-content:space-between; gap:.7rem; padding:.9rem 1rem; border:1.5px solid var(--border); border-radius:var(--r-sm); margin-bottom:.5rem; transition:all var(--t); cursor:pointer; }
.drow:hover, .drow.on { border-color:var(--p); background:var(--p-bg); }
.drow-info { flex:1; }
.drow-range { font-weight:700; font-size:.875rem; color:var(--dark); }
.drow-sub { font-size:.73rem; color:var(--text3); margin-top:.08rem; }
.drow-price { font-weight:800; color:var(--p); font-size:.95rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.drow-btn { background:var(--p); color:#fff; padding:.42rem .9rem; border-radius:var(--r-xs); font-weight:700; font-size:.75rem; transition:background var(--t); white-space:nowrap; font-family:var(--font); }
.drow-btn:hover { background:var(--p-dk); }

/* ── STATS BAND ── */
.stat-item { text-align:center; color:#fff; }
.stat-num { font-size:clamp(1.9rem, 3.2vw, 2.6rem); font-weight:900; letter-spacing:-.8px; line-height:1; font-variant-numeric:tabular-nums; }
.stat-lbl { font-size:.82rem; color:rgba(255,255,255,.45); margin-top:.3rem; font-weight:500; }

/* ── FEATURES ── */
.feat-card { background:var(--white); border-radius:var(--r); border:1.5px solid var(--border); padding:1.85rem 1.6rem; transition:all var(--t); height:100%; }
.feat-card:hover { border-color:var(--p); box-shadow:var(--sh-md); transform:translateY(-3px); }
.feat-num { font-size:1.75rem; font-weight:900; color:var(--bg2); line-height:1; margin-bottom:.9rem; letter-spacing:-1px; font-variant-numeric:tabular-nums; transition:color var(--t); }
.feat-card:hover .feat-num { color:rgba(26,86,219,.12); }
.feat-title { font-size:.95rem; font-weight:700; color:var(--dark); margin-bottom:.45rem; letter-spacing:-.1px; }
.feat-desc { font-size:.83rem; color:var(--text2); line-height:1.65; }

/* ── TESTIMONIALS ── */
.testi { background:var(--white); border:1.5px solid var(--border); border-radius:var(--r-lg); padding:1.4rem; height:100%; transition:all var(--t); }
.testi:hover { border-color:var(--p); box-shadow:var(--sh-md); }
.testi-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:1rem; }
.testi-user { display:flex; align-items:center; gap:.7rem; }
.testi-av { width:44px; height:44px; border-radius:50%; object-fit:cover; border:2px solid var(--border); transition:border-color var(--t); }
.testi:hover .testi-av { border-color:var(--p); }
.testi-name { font-weight:700; font-size:.875rem; color:var(--dark); letter-spacing:-.1px; }
.testi-trip { font-size:.72rem; color:var(--text3); margin-top:.08rem; }
.testi-stars { display:flex; gap:1px; }
.testi-stars i { color:#f59e0b; font-size:.72rem; }
.testi-q { font-size:2.2rem; color:var(--bg2); font-weight:900; line-height:.4; margin-bottom:.7rem; font-family:Georgia,serif; transition:color var(--t); }
.testi:hover .testi-q { color:rgba(26,86,219,.1); }
.testi-text { font-size:.85rem; color:var(--text2); line-height:1.7; }

/* ── PARTNERS ── */
.partners { display:flex; flex-wrap:wrap; justify-content:center; gap:.65rem; }
.ppill { background:var(--white); border:1.5px solid var(--border); color:var(--text3); padding:.55rem 1.25rem; border-radius:var(--r-sm); font-size:.78rem; font-weight:700; letter-spacing:.3px; transition:all var(--t); }
.ppill:hover { border-color:var(--p); color:var(--p); background:var(--p-bg); }

/* ── CTA B2B ── */
.cta-box { background:linear-gradient(135deg, #102044 0%, var(--dark) 100%); border-radius:var(--r-xl); padding:3.75rem; position:relative; overflow:hidden; }
.cta-box::before { content:''; position:absolute; top:-40%; right:-8%; width:550px; height:550px; border-radius:50%; background:radial-gradient(circle, rgba(26,86,219,.1) 0%, transparent 65%); pointer-events:none; }
.cta-tag { display:inline-flex; align-items:center; gap:.45rem; background:rgba(26,86,219,.14); border:1px solid rgba(75,126,245,.28); color:rgba(255,255,255,.75); padding:.32rem .8rem; border-radius:100px; font-size:.67rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:1.1rem; }
.cta-h { font-size:clamp(1.6rem, 2.8vw, 2.3rem); color:#fff; font-weight:800; margin-bottom:.8rem; letter-spacing:-.4px; position:relative; }
.cta-h span { color:var(--p-lt); }
.cta-p { color:rgba(255,255,255,.45); font-size:.9rem; line-height:1.75; margin-bottom:1.8rem; position:relative; max-width:460px; }
.cta-checks { display:flex; flex-direction:column; gap:.45rem; margin-bottom:1.8rem; position:relative; }
.cta-check { display:flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.65); font-size:.85rem; font-weight:500; }
.cta-check i { color:var(--p-lt); font-size:.78rem; }
.cta-acts { display:flex; gap:.7rem; flex-wrap:wrap; position:relative; }
.btn-cta { display:inline-flex; align-items:center; gap:.45rem; background:var(--p); color:#fff; padding:.85rem 1.85rem; border-radius:var(--r-sm); font-weight:700; font-size:.875rem; transition:all var(--t); }
.btn-cta:hover { background:var(--p-dk); transform:translateY(-1px); box-shadow:var(--sh-p); }
.btn-cta-out { display:inline-flex; align-items:center; gap:.45rem; border:1.5px solid rgba(255,255,255,.18); color:rgba(255,255,255,.65); padding:.85rem 1.65rem; border-radius:var(--r-sm); font-weight:600; font-size:.875rem; transition:all var(--t); }
.btn-cta-out:hover { background:rgba(255,255,255,.07); color:#fff; border-color:rgba(255,255,255,.35); }
.b2b-grid { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:var(--r); padding:1.6rem; display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.b2b-stat { background:rgba(255,255,255,.04); border-radius:var(--r-sm); padding:1.15rem; text-align:center; }
.b2b-n { font-size:1.6rem; font-weight:900; color:#fff; letter-spacing:-.4px; font-variant-numeric:tabular-nums; }
.b2b-l { font-size:.7rem; color:rgba(255,255,255,.35); margin-top:.15rem; }

/* ── NEWSLETTER ── */
.nl-box { background:linear-gradient(135deg, var(--p) 0%, #1342b8 100%); border-radius:var(--r-xl); padding:3.25rem; position:relative; overflow:hidden; }
.nl-box::after { content:''; position:absolute; top:-55%; right:-10%; width:460px; height:460px; border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,.07) 0%, transparent 65%); pointer-events:none; }
.nl-tag { display:inline-flex; align-items:center; background:rgba(255,255,255,.13); color:rgba(255,255,255,.85); padding:.3rem .8rem; border-radius:100px; font-size:.67rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:.9rem; position:relative; }
.nl-h { font-size:clamp(1.4rem, 2.3vw, 1.85rem); color:#fff; font-weight:800; margin-bottom:.7rem; letter-spacing:-.3px; position:relative; }
.nl-p { color:rgba(255,255,255,.55); font-size:.875rem; line-height:1.7; position:relative; }
.nl-form { display:flex; gap:.6rem; flex-wrap:wrap; position:relative; }
.nl-form input { flex:1; min-width:200px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); color:#fff; padding:.85rem 1rem; border-radius:var(--r-sm); font-size:.85rem; font-family:var(--font); transition:all var(--t); }
.nl-form input::placeholder { color:rgba(255,255,255,.4); }
.nl-form input:focus { outline:none; border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.15); }
.btn-nl { background:#fff; color:var(--p); padding:.85rem 1.65rem; border-radius:var(--r-sm); font-weight:800; font-size:.875rem; transition:all var(--t); white-space:nowrap; font-family:var(--font); }
.btn-nl:hover { background:var(--bg); transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,.18); }
.nl-note { color:rgba(255,255,255,.35); font-size:.72rem; margin-top:.8rem; position:relative; }

/* ── FOOTER ── */
.footer { background:var(--dark); color:rgba(255,255,255,.45); padding:4.5rem 0 0; }

/* ── Footer Grid ── */
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
@media (max-width:1199px) { .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap:2rem; } }
@media (max-width:767px)  { .footer-grid { grid-template-columns: 1fr 1fr; gap:2rem; } }
@media (max-width:479px)  { .footer-grid { grid-template-columns: 1fr; } }

.footer-col { display:flex; flex-direction:column; gap:0; }
.footer-col-brand { gap:0; }

/* Marka */
.footer-brand { font-size:1.35rem; font-weight:800; color:#fff; display:flex; align-items:center; gap:.45rem; margin-bottom:1rem; letter-spacing:-.4px; }
.footer-desc { color:rgba(255,255,255,.3); font-size:.84rem; line-height:1.75; margin-bottom:1.25rem; max-width:290px; }
.footer-ci { display:flex; align-items:center; gap:.55rem; color:rgba(255,255,255,.38); font-size:.82rem; margin-bottom:.42rem; }
.footer-ci i { color:var(--p-lt); font-size:.78rem; width:14px; flex-shrink:0; }
.footer-ci a { color:rgba(255,255,255,.38); transition:color var(--t); }
.footer-ci a:hover { color:rgba(255,255,255,.8); }

/* Kolon başlıkları */
.footer-col-h { color:rgba(255,255,255,.75); font-size:.7rem; font-weight:700; letter-spacing:.8px; margin-bottom:1.1rem; text-transform:uppercase; }

/* Kolon linkleri (doğrudan <a>) */
.footer-col a:not(.footer-brand) {
  color:rgba(255,255,255,.35); font-size:.84rem; font-weight:500;
  transition: all var(--t); padding:.24rem 0; display:block; text-decoration:none;
}
.footer-col a:not(.footer-brand):hover { color:rgba(255,255,255,.82); padding-left:.25rem; }

/* Eski flinks (geriye dönük uyumluluk) */
.flinks { list-style:none; display:flex; flex-direction:column; gap:.42rem; }
.flinks a { color:rgba(255,255,255,.38); font-size:.85rem; font-weight:500; transition:all var(--t); }
.flinks a:hover { color:rgba(255,255,255,.85); padding-left:.15rem; }

/* Sosyal ikonlar */
.footer-socials { display:flex; gap:.45rem; margin-top:1.35rem; }
.soc-wa { background:#25d366 !important; color:#fff !important; }
.soc-wa:hover { background:#1fba5a !important; }

.soc { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09); color:rgba(255,255,255,.45); display:flex; align-items:center; justify-content:center; font-size:.85rem; transition:all var(--t); }
.soc:hover { background:var(--p); border-color:var(--p); color:#fff; transform:translateY(-2px); }
/* ── Sertifika Satırı ── */
.footer-mid {
  padding: 1.75rem 0 1.5rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.cert-row {
  display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
}
.cert-box {
  display: flex; align-items: center; gap: .6rem;
  padding: .55rem 1rem; border-radius: var(--r-sm);
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07);
}
.cert-box > div { display:flex; flex-direction:column; line-height:1.2; }
.cert-box strong { font-size:.78rem; font-weight:700; color:rgba(255,255,255,.75); }
.cert-box small  { font-size:.65rem; color:rgba(255,255,255,.3); }
.cert-pay {
  display: flex; align-items: center; gap: .75rem; margin-left: auto;
}
.cert-pay small { font-size:.62rem; font-weight:700; letter-spacing:.6px; color:rgba(255,255,255,.3); text-transform:uppercase; }
.pay-row { display:flex; gap:.35rem; }
.pay-tag { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); color:rgba(255,255,255,.32); padding:.22rem .55rem; border-radius:var(--r-xs); font-size:.65rem; font-weight:700; letter-spacing:.4px; display:flex; align-items:center; gap:.25rem; }

/* ── Footer Bottom ── */
.footer-bottom { padding:1.35rem 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem; }
.footer-copy { font-size:.76rem; color:rgba(255,255,255,.22); }
.footer-copy strong { color:rgba(255,255,255,.42); }
.footer-legal { display:flex; align-items:center; gap:.5rem; }
.footer-legal a { font-size:.75rem; color:rgba(255,255,255,.22); transition:color var(--t); }
.footer-legal a:hover { color:rgba(255,255,255,.6); }
.pay-row { display:flex; gap:.45rem; }
.pay-tag { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.3); padding:.24rem .65rem; border-radius:var(--r-xs); font-size:.66rem; font-weight:700; letter-spacing:.4px; }

/* ── BACK TO TOP ── */
.btt { position:fixed; bottom:1.6rem; right:1.6rem; width:44px; height:44px; background:var(--p); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.95rem; cursor:pointer; opacity:0; visibility:hidden; transition:all var(--t); z-index:900; box-shadow:var(--sh-p); }
.btt.on { opacity:1; visibility:visible; }
.btt:hover { background:var(--p-dk); transform:translateY(-2px); }

/* ── FADE UP ANIMATION ── */
.fu { opacity:0; transform:translateY(20px); transition:opacity .5s var(--ease), transform .5s var(--ease); }
.fu.vis { opacity:1; transform:none; }

/* ── MOBILE MENU ── */
.mob-ov { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:2000; opacity:0; visibility:hidden; transition:all var(--t); }
.mob-ov.on { opacity:1; visibility:visible; }
.mob-panel { position:fixed; top:0; right:0; bottom:0; width:300px; background:var(--white); z-index:2001; transform:translateX(100%); transition:transform .32s var(--ease); overflow-y:auto; padding:1.4rem; display:flex; flex-direction:column; }
.mob-panel.on { transform:none; }
.mob-close { font-size:1.3rem; color:var(--dark); margin-bottom:1.4rem; }

/* Mob nav item — plain link row */
.mob-lnk { display:flex; justify-content:space-between; align-items:center; padding:.85rem 0; color:var(--dark); font-weight:600; font-size:.975rem; border-bottom:1px solid var(--border); }
.mob-lnk i { color:var(--text3); font-size:.68rem; transition:transform var(--t); }

/* Mob nav item — has dropdown */
.mob-item { border-bottom:1px solid var(--border); }
.mob-item-btn {
  width:100%; display:flex; justify-content:space-between; align-items:center;
  padding:.85rem 0; color:var(--dark); font-weight:600; font-size:.975rem;
  background:none; border:none; font-family:var(--font); cursor:pointer;
  text-align:left;
}
.mob-item-btn .mob-chev { color:var(--text3); font-size:.68rem; transition:transform .22s var(--ease); }
.mob-item.open .mob-item-btn .mob-chev { transform:rotate(90deg); }

/* Mob dropdown panel */
.mob-drop {
  max-height:0; overflow:hidden;
  transition:max-height .3s var(--ease);
  background:var(--bg);
  border-radius:var(--r-sm);
  margin-bottom:.5rem;
}
.mob-item.open .mob-drop { max-height:500px; }
.mob-drop-head {
  padding:.5rem .9rem .2rem;
  font-size:.63rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.9px; color:var(--text3);
}
.mob-drop-link {
  display:block; padding:.5rem .9rem;
  color:var(--text2); font-size:.875rem; font-weight:500;
  transition:color var(--t);
}
.mob-drop-link:hover { color:var(--p); }
.mob-drop-sep { height:1px; background:var(--border); margin:.3rem .9rem; }

.mob-acts { margin-top:auto; padding-top:1.4rem; display:flex; flex-direction:column; gap:.55rem; }
.mob-acts .btn-ghost-nav { width:100%; justify-content:center; border:1.5px solid var(--border); border-radius:var(--r-sm); }
.mob-acts .btn-primary-nav { width:100%; justify-content:center; border-radius:var(--r-sm); }

/* ── RESPONSIVE ── */
@media (max-width:767px) {
  .sec { padding:3.5rem 0; }
  .cta-box { padding:2.25rem 1.4rem; }
  .nl-box { padding:2rem 1.4rem; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .cert-pay { margin-left:0; }
  .cert-row { gap:1rem; }
}

.offcanvas-custom-size.offcanvas {
  width: 960px
}

.offcanvas-custom-size.offcanvas .offcanvas-header,.offcanvas-custom-size.offcanvas .offcanvas-body {
  padding: 50px
}

.offcanvas-custom-size.offcanvas .offcanvas-header {
  padding-bottom: 0
}