/* ============================================================
   assets/css/mobile.css — AlanyaTur Mobile & Navigation Styles
   ============================================================ */

/* ===== Skip Link ===== */
.skip-link { position:absolute; top:-40px; left:0; background:var(--color-primary); color:#fff; padding:.5rem 1rem; z-index:9999; border-radius:0 0 8px 0; transition:top .2s; }
.skip-link:focus { top:0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/* ===== NAV ===== */
.site-nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(10,22,40,.95);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(30,58,95,.6);
  height:var(--nav-height, 68px);
  transition:background .3s, box-shadow .3s;
}
.site-nav.scrolled { box-shadow:0 2px 20px rgba(0,0,0,.4); }
.nav-inner {
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center; gap:1.5rem;
  height:100%; padding:0 1.5rem;
}
.nav-logo {
  font-size:1.35rem; font-weight:800;
  color:#fff; text-decoration:none;
  display:flex; align-items:center; gap:.4rem;
  flex-shrink:0; letter-spacing:-.02em;
}
.logo-icon { font-size:1.5rem; }
.logo-accent { color:var(--color-secondary, #fe9800); }
.nav-links { list-style:none; display:flex; align-items:center; gap:.25rem; flex:1; }
.nav-link {
  display:flex; align-items:center; gap:.25rem;
  color:rgba(255,255,255,.75); text-decoration:none;
  font-size:.875rem; font-weight:500;
  padding:.5rem .75rem; border-radius:8px;
  transition:all .2s; white-space:nowrap;
}
.nav-link:hover, .nav-link.active { color:#fff; background:rgba(255,255,255,.1); }
.nav-link.active { color:var(--color-secondary,#fe9800); }

/* Dropdown */
.has-dropdown { position:relative; }
.nav-dropdown {
  position:absolute; top:calc(100% + 8px); left:0;
  background:#0d1f3c; border:1px solid rgba(30,58,95,.8);
  border-radius:12px; padding:.5rem;
  min-width:200px; box-shadow:0 12px 40px rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:all .2s; z-index:100;
}
.has-dropdown:hover .nav-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.nav-dropdown a {
  display:block; padding:.6rem .85rem; border-radius:8px;
  color:rgba(255,255,255,.75); text-decoration:none;
  font-size:.85rem; transition:all .15s;
}
.nav-dropdown a:hover { background:rgba(254,152,0,.1); color:#fff; }

/* Lang Switcher */
.lang-switcher { position:relative; }
.lang-btn {
  display:flex; align-items:center; gap:.35rem;
  padding:.4rem .75rem; border-radius:8px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  color:#fff; cursor:pointer; font-size:.85rem; font-weight:500;
  transition:all .2s;
}
.lang-btn:hover { background:rgba(255,255,255,.14); }
.lang-dropdown {
  position:absolute; top:calc(100% + 8px); right:0;
  background:#0d1f3c; border:1px solid rgba(30,58,95,.8);
  border-radius:12px; padding:.5rem;
  min-width:160px; box-shadow:0 12px 40px rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:all .2s; z-index:200;
}
.lang-switcher.open .lang-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.lang-option {
  display:flex; align-items:center; gap:.6rem;
  padding:.6rem .85rem; border-radius:8px;
  color:rgba(255,255,255,.75); text-decoration:none;
  font-size:.85rem; transition:all .15s;
}
.lang-option:hover, .lang-option.active { background:rgba(254,152,0,.1); color:#fff; }
.lang-option.active { color:var(--color-secondary,#fe9800); font-weight:600; }

/* Nav Actions */
.nav-actions { display:flex; align-items:center; gap:.5rem; flex-shrink:0; }
.user-menu-wrap .nav-dropdown { right:0; left:auto; }

/* ===== Hamburger ===== */
.nav-hamburger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:.5rem;
}
.nav-hamburger span {
  display:block; width:22px; height:2px;
  background:#fff; border-radius:2px;
  transition:all .3s;
}
.nav-hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ===== Mobile Menu Overlay ===== */
.mobile-menu-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.6);
  z-index:900; opacity:0; visibility:hidden; transition:all .3s;
}
.mobile-menu-overlay.open { opacity:1; visibility:visible; }

/* ===== Mobile Menu ===== */
.mobile-menu {
  position:fixed; top:0; right:-320px; width:300px; height:100%;
  background:#0d1f3c; border-left:1px solid rgba(30,58,95,.8);
  z-index:950; overflow-y:auto; transition:right .35s cubic-bezier(.25,.46,.45,.94);
  display:flex; flex-direction:column;
}
.mobile-menu.open { right:0; }
.mobile-menu-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 1.25rem; border-bottom:1px solid rgba(30,58,95,.6);
}
.mobile-menu-close {
  background:none; border:none; color:rgba(255,255,255,.5); font-size:1.25rem;
  cursor:pointer; padding:.25rem; transition:color .2s;
}
.mobile-menu-close:hover { color:#fff; }
.mobile-menu-lang { display:flex; gap:.5rem; padding:1rem 1.25rem; flex-wrap:wrap; border-bottom:1px solid rgba(30,58,95,.4); }
.mobile-lang-btn {
  display:flex; align-items:center; gap:.35rem;
  padding:.35rem .65rem; border-radius:6px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.65); text-decoration:none; font-size:.8rem;
  transition:all .15s;
}
.mobile-lang-btn.active { background:rgba(254,152,0,.15); color:var(--color-secondary,#fe9800); border-color:rgba(254,152,0,.3); }
.mobile-menu-nav { flex:1; padding:.75rem 0; }
.mobile-nav-link {
  display:flex; align-items:center; gap:.75rem;
  padding:.8rem 1.25rem; color:rgba(255,255,255,.7);
  text-decoration:none; font-size:.9rem;
  transition:all .15s; border-left:3px solid transparent;
}
.mobile-nav-link:hover, .mobile-nav-link.active { color:#fff; background:rgba(254,152,0,.08); border-left-color:var(--color-secondary,#fe9800); }
.mobile-nav-divider { height:1px; background:rgba(30,58,95,.6); margin:.5rem 1.25rem; }

/* ===== WhatsApp Float ===== */
.whatsapp-float {
  position:fixed; bottom:5.5rem; right:1.25rem; z-index:500;
  width:56px; height:56px; border-radius:50%;
  background:#25d366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  text-decoration:none; transition:all .3s;
}
.whatsapp-float:hover { transform:scale(1.1); box-shadow:0 6px 30px rgba(37,211,102,.6); }
.whatsapp-float-tooltip {
  position:absolute; right:100%; top:50%; transform:translateY(-50%);
  margin-right:.75rem; background:#0d1f3c; color:#fff;
  padding:.4rem .75rem; border-radius:8px; font-size:.8rem;
  white-space:nowrap; opacity:0; pointer-events:none;
  transition:opacity .2s; border:1px solid rgba(30,58,95,.8);
}
.whatsapp-float:hover .whatsapp-float-tooltip { opacity:1; }
.whatsapp-footer-btn {
  display:flex; align-items:center; gap:.5rem;
  background:#25d366; color:#fff; border-radius:8px;
  padding:.6rem 1rem; font-size:.85rem; font-weight:600;
  text-decoration:none; transition:all .2s; margin-top:1rem;
}
.whatsapp-footer-btn:hover { background:#1aad52; }
.social-link { color:rgba(255,255,255,.5); transition:color .2s; }
.social-link:hover { color:var(--color-secondary,#fe9800); }

/* ===== Auth Pages ===== */
.auth-section { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:1rem; background:var(--color-bg,#0a1628); }
.auth-container { display:flex; width:100%; max-width:900px; border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.5); min-height:540px; }
.auth-card {
  flex:1; padding:2.5rem;
  background:#132044; border:1px solid rgba(30,58,95,.6);
  display:flex; flex-direction:column; justify-content:center;
}
.auth-logo { margin-bottom:2rem; }
.auth-title { font-size:1.75rem; font-weight:700; margin-bottom:1.5rem; }
.auth-form { display:flex; flex-direction:column; gap:1rem; }
.form-group { display:flex; flex-direction:column; gap:.4rem; }
.form-group label { font-size:.8rem; font-weight:500; color:rgba(255,255,255,.6); }
.form-group input, .form-group select, .form-group textarea {
  padding:.75rem 1rem; background:rgba(10,22,40,.6);
  border:1px solid rgba(30,58,95,.8); border-radius:8px;
  color:#fff; font-size:.9rem; font-family:inherit;
  transition:border-color .2s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--color-secondary,#fe9800); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.btn-full { width:100%; justify-content:center; }
.auth-switch { text-align:center; margin-top:1.25rem; font-size:.85rem; color:rgba(255,255,255,.5); }
.auth-switch a { color:var(--color-secondary,#fe9800); text-decoration:none; }
.auth-visual { width:340px; position:relative; overflow:hidden; display:flex; }
.auth-visual img { width:100%; height:100%; object-fit:cover; }
.auth-visual-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(10,22,40,.9) 0%, rgba(10,22,40,.3) 100%); display:flex; flex-direction:column; justify-content:flex-end; padding:2rem; }
.auth-visual-overlay h2 { font-size:1.5rem; color:#fff; margin-bottom:.5rem; }
.auth-visual-overlay p { color:rgba(255,255,255,.7); font-size:.9rem; }

/* Alerts */
.alert { padding:.85rem 1rem; border-radius:8px; font-size:.875rem; margin-bottom:1rem; }
.alert-error   { background:rgba(239,68,68,.1); border:1px solid rgba(239,68,68,.3); color:#fca5a5; }
.alert-success { background:rgba(34,197,94,.1);  border:1px solid rgba(34,197,94,.3);  color:#86efac; }

/* ===== Reservation ===== */
.reservation-item-preview { background:rgba(254,152,0,.08); border:1px solid rgba(254,152,0,.2); border-radius:10px; padding:1rem; margin-bottom:1.5rem; display:flex; align-items:center; gap:.75rem; }
.reservation-form { background:rgba(19,32,68,.6); border:1px solid rgba(30,58,95,.6); border-radius:12px; padding:2rem; }
.whatsapp-submit-btn { background:#25d366 !important; border-color:#25d366 !important; }
.whatsapp-submit-btn:hover { background:#1aad52 !important; }

/* ===== Profile ===== */
.profile-header { display:flex; align-items:center; gap:1.5rem; margin-bottom:2rem; }
.profile-avatar { width:72px; height:72px; border-radius:50%; background:rgba(254,152,0,.15); display:flex; align-items:center; justify-content:center; font-size:2rem; }
.profile-grid { display:grid; grid-template-columns:320px 1fr; gap:1.5rem; }
.profile-card { background:rgba(19,32,68,.6); border:1px solid rgba(30,58,95,.6); border-radius:12px; padding:1.5rem; }
.profile-info-row { display:flex; justify-content:space-between; padding:.75rem 0; border-bottom:1px solid rgba(30,58,95,.4); font-size:.875rem; }
.profile-info-row:last-child { border-bottom:none; }
.profile-info-row span { color:rgba(255,255,255,.5); }
.reservations-list { display:flex; flex-direction:column; gap:.75rem; }
.reservation-item { display:flex; align-items:center; gap:1rem; background:rgba(19,32,68,.6); border:1px solid rgba(30,58,95,.6); border-radius:10px; padding:1rem; }
.res-details { flex:1; font-size:.875rem; display:flex; flex-direction:column; gap:.2rem; }
.res-status { font-size:.8rem; font-weight:600; }
.res-status-pending   { color:#facc15; }
.res-status-confirmed { color:#4ade80; }
.res-status-cancelled { color:#f87171; }
.res-type-badge { display:inline-block; padding:.2rem .6rem; border-radius:4px; font-size:.72rem; font-weight:600; background:rgba(254,152,0,.15); color:#fe9800; }
.empty-state { text-align:center; padding:3rem; color:rgba(255,255,255,.4); }
.type-badge { display:inline-block; padding:.15rem .5rem; border-radius:4px; font-size:.72rem; font-weight:600; }
.type-hotel    { background:rgba(59,130,246,.15); color:#60a5fa; }
.type-tour     { background:rgba(34,197,94,.15);  color:#4ade80; }
.type-car      { background:rgba(168,85,247,.15); color:#c084fc; }
.type-house    { background:rgba(251,146,60,.15); color:#fb923c; }
.type-activity { background:rgba(236,72,153,.15); color:#f472b6; }

/* ===== Mobile Bottom Nav ===== */
.mobile-bottom-nav {
  display:none;
  position:fixed; bottom:0; left:0; right:0; z-index:500;
  background:rgba(10,22,40,.97);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-top:1px solid rgba(30,58,95,.6);
  padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom));
  grid-template-columns:repeat(5,1fr);
}
.mobile-nav-item {
  display:flex; flex-direction:column; align-items:center; gap:.25rem;
  color:rgba(255,255,255,.45); text-decoration:none;
  font-size:.6rem; font-weight:500; padding:.25rem;
  transition:all .2s;
}
.mobile-nav-item svg { width:22px; height:22px; }
.mobile-nav-item.active, .mobile-nav-item:hover { color:var(--color-secondary,#fe9800); }

/* ===== Footer ===== */
.footer-brand { display:flex; flex-direction:column; }
.footer-tagline { font-size:.8rem; color:rgba(255,255,255,.5); line-height:1.6; max-width:26ch; margin-top:.5rem; }
.footer-socials { display:flex; gap:.75rem; margin-top:1rem; }

/* ===== Responsive Breakpoints ===== */
@media (max-width:1024px) {
  .nav-links { gap:0; }
  .nav-link { font-size:.8rem; padding:.45rem .6rem; }
}

@media (max-width:768px) {
  .nav-links { display:none; }
  .nav-actions .btn { display:none; }
  .nav-actions .lang-switcher { display:flex; }
  .nav-hamburger { display:flex; }
  .mobile-bottom-nav { display:grid; }
  .whatsapp-float { bottom:4.5rem; }

  /* Auth */
  .auth-container { flex-direction:column; max-width:460px; }
  .auth-visual { display:none; }
  .form-row { grid-template-columns:1fr; }

  /* Profile */
  .profile-grid { grid-template-columns:1fr; }
  .profile-header { flex-direction:column; text-align:center; }

  /* Section grids */
  [style*="grid-template-columns:repeat(4"] { grid-template-columns:repeat(2,1fr) !important; }
  [style*="grid-template-columns:repeat(3"] { grid-template-columns:repeat(2,1fr) !important; }
  [style*="grid-column: span 2"] { grid-column:span 1 !important; }
}

@media (max-width:480px) {
  .nav-inner { padding:0 1rem; }
  [style*="grid-template-columns:repeat(4"] { grid-template-columns:1fr 1fr !important; }
  [style*="grid-template-columns:repeat(3"] { grid-template-columns:1fr !important; }
  [style*="grid-template-columns:repeat(2"] { grid-template-columns:1fr !important; }
  .auth-card { padding:1.75rem 1.25rem; }
  .section-heading { font-size:1.5rem !important; }
}

/* ===== Touch improvements ===== */
@media (hover:none) {
  .btn, .nav-link, .admin-nav-item, .mobile-nav-item { min-height:44px; }
  .has-dropdown:hover .nav-dropdown { opacity:0; visibility:hidden; }
}
