@import url('/assets/theme.php?v=250');
/* Atlantic Pacific Shipping Agency - Sitio corporativo */
:root{
  --navy:#0b1f3a;
  --navy-mid:#122840;
  --emerald:#0e7c5f;
  --emerald-light:#13a87e;
  --emerald-bright:#1dc98f;
  --slate:#1e3a5f;
  --white:#ffffff;
  --off-white:#f4f7fa;
  --gray-light:#e2e8f0;
  --gray-text:#4a5e78;
  --dark-text:#0f1e30;
  --gold:#b8935a;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Open Sans',sans-serif;color:var(--dark-text);overflow-x:hidden;}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:#ffffff;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;height:76px;
  border-bottom:2px solid var(--gray-light);
  box-shadow:0 2px 16px rgba(11,31,58,0.08);
  transition:all 0.3s;
}
nav.scrolled{box-shadow:0 4px 24px rgba(11,31,58,0.14);}
.nav-logo img{height:48px;object-fit:contain;}
.nav-links{display:flex;gap:36px;list-style:none;align-items:center;}
.nav-links a{
  color:var(--navy);text-decoration:none;
  font-family:'Montserrat',sans-serif;font-size:0.78rem;font-weight:700;
  letter-spacing:0.07em;text-transform:uppercase;transition:color 0.2s;
  position:relative;padding-bottom:4px;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:var(--emerald);transform:scaleX(0);transition:transform 0.25s;
}
.nav-links a:hover{color:var(--emerald);}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-cta{
  background:var(--navy)!important;color:white!important;
  padding:10px 24px!important;border-radius:5px;font-weight:700!important;
  transition:background 0.2s!important;
}
.nav-cta:hover{background:var(--emerald)!important;color:white!important;}
.nav-cta::after{display:none!important;}

/* ── HERO ── */
#hero{position:relative;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;background-size:cover;background-position:center;}
.slide.active{opacity:1;}
.slide-1{background:linear-gradient(150deg,rgba(11,31,58,0.93) 0%,rgba(14,124,95,0.55) 100%);}
.slide-2{background:linear-gradient(150deg,rgba(11,31,58,0.95) 0%,rgba(30,58,95,0.7) 100%);}
.slide-3{background:linear-gradient(150deg,rgba(18,40,64,0.96) 0%,rgba(14,124,95,0.45) 100%);}

.route-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}

.hero-content{
  position:relative;z-index:10;text-align:center;color:white;
  padding:0 24px;max-width:920px;
}
.hero-eyebrow{
  font-family:'Montserrat',sans-serif;font-size:0.73rem;font-weight:700;
  letter-spacing:0.28em;color:var(--emerald-bright);text-transform:uppercase;
  margin-bottom:22px;display:flex;align-items:center;justify-content:center;gap:14px;
}
.hero-eyebrow::before,.hero-eyebrow::after{
  content:'';flex:1;max-width:56px;height:1px;background:var(--emerald-bright);opacity:0.55;
}
.hero-title{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(2.5rem,6.5vw,4.6rem);
  font-weight:900;line-height:1.05;margin-bottom:10px;letter-spacing:-0.02em;
}
.hero-title em{color:var(--emerald-bright);font-style:normal;}
.hero-sub{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1rem,2.2vw,1.35rem);font-weight:300;
  color:rgba(255,255,255,0.78);margin-bottom:36px;
  letter-spacing:0.04em;font-style:italic;
}
.hero-anchor{font-size:2rem;margin-bottom:30px;display:block;}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.btn-em{
  background:var(--emerald);color:white;padding:14px 38px;border-radius:5px;
  font-family:'Montserrat',sans-serif;font-size:0.82rem;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;
  transition:all 0.25s;border:2px solid transparent;
}
.btn-em:hover{background:var(--emerald-light);transform:translateY(-2px);box-shadow:0 8px 28px rgba(14,124,95,0.45);}
.btn-ghost{
  background:transparent;color:white;padding:14px 38px;border-radius:5px;
  font-family:'Montserrat',sans-serif;font-size:0.82rem;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;
  transition:all 0.25s;border:2px solid rgba(255,255,255,0.38);
}
.btn-ghost:hover{border-color:white;background:rgba(255,255,255,0.1);}

.slide-dots{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
  display:flex;gap:10px;z-index:20;
}
.dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.3);cursor:pointer;transition:all 0.3s;}
.dot.active{background:var(--emerald-bright);transform:scale(1.4);}

/* ── STATS STRIP ── */
.stats-strip{
  background:var(--navy);color:white;
  display:grid;grid-template-columns:repeat(4,1fr);text-align:center;
  border-top:3px solid var(--emerald);
}
.stat-item{
  padding:30px 20px;border-right:1px solid rgba(255,255,255,0.08);
  position:relative;
}
.stat-item:last-child{border-right:none;}
.stat-num{
  font-family:'Montserrat',sans-serif;font-size:2.1rem;
  font-weight:900;display:block;color:var(--emerald-bright);
}
.stat-label{font-size:0.76rem;opacity:0.7;letter-spacing:0.05em;margin-top:4px;display:block;}

/* ── SECTIONS ── */
section{scroll-margin-top:76px;}
.si{max-width:1200px;margin:0 auto;padding:0 36px;}
.eyebrow{
  font-family:'Montserrat',sans-serif;font-size:0.68rem;font-weight:700;
  letter-spacing:0.25em;text-transform:uppercase;color:var(--emerald);
  margin-bottom:12px;display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:'';width:28px;height:2px;background:var(--emerald);}
.sec-title{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.75rem,3.5vw,2.9rem);
  font-weight:800;color:var(--navy);line-height:1.12;margin-bottom:16px;
}
.sec-desc{color:var(--gray-text);line-height:1.85;max-width:580px;font-size:0.9rem;}

/* ── QUIÉNES SOMOS ── */
#quienes{padding:108px 0;background:var(--off-white);position:relative;overflow:hidden;}
#quienes::before{
  content:'⚓';position:absolute;right:-10px;bottom:-40px;
  font-size:320px;opacity:0.035;color:var(--navy);pointer-events:none;line-height:1;
}
.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.q-card{
  background:var(--navy);color:white;border-radius:10px;padding:42px;
  position:relative;overflow:hidden;margin-bottom:22px;
}
.q-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--emerald),var(--emerald-bright),var(--gold));
}
.q-badge{
  background:var(--emerald);color:white;
  font-family:'Montserrat',sans-serif;font-size:0.67rem;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;padding:6px 16px;
  border-radius:20px;display:inline-block;margin-bottom:22px;
}
.q-card p{font-size:0.875rem;line-height:1.85;color:rgba(255,255,255,0.8);}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.mv-card{
  background:white;border-radius:8px;padding:26px;
  border-left:4px solid var(--emerald);
  box-shadow:0 2px 14px rgba(11,31,58,0.07);
}
.mv-card h4{
  font-family:'Montserrat',sans-serif;font-size:0.78rem;font-weight:700;
  color:var(--navy);text-transform:uppercase;letter-spacing:0.09em;margin-bottom:10px;
}
.mv-card p{font-size:0.83rem;color:var(--gray-text);line-height:1.75;}

.v-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px;}
.v-chip{
  background:white;border:1.5px solid var(--gray-light);border-radius:8px;
  padding:16px 18px;display:flex;align-items:center;gap:12px;
  transition:all 0.25s;box-shadow:0 2px 8px rgba(11,31,58,0.05);
}
.v-chip:hover{border-color:var(--emerald);transform:translateY(-3px);box-shadow:0 8px 22px rgba(14,124,95,0.14);}
.v-ico{font-size:1.5rem;flex-shrink:0;}
.v-chip span:last-child{font-family:'Montserrat',sans-serif;font-size:0.8rem;font-weight:700;color:var(--navy);}

/* ── SERVICIOS ── */
#servicios{padding:108px 0;background:white;}
.s-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px;}
.s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.s-card{
  border:1.5px solid var(--gray-light);border-radius:10px;padding:30px 26px;
  transition:all 0.3s;background:white;position:relative;overflow:hidden;
}
.s-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--emerald),var(--emerald-bright));
  transform:scaleX(0);transition:transform 0.3s;transform-origin:left;
}
.s-card:hover{
  box-shadow:0 14px 44px rgba(11,31,58,0.11);
  transform:translateY(-5px);border-color:rgba(14,124,95,0.25);
}
.s-card:hover::after{transform:scaleX(1);}
.s-ico{font-size:2.1rem;margin-bottom:14px;display:block;}
.s-card h3{
  font-family:'Montserrat',sans-serif;font-size:0.92rem;font-weight:700;
  color:var(--navy);margin-bottom:12px;
}
.s-card ul{list-style:none;}
.s-card ul li{
  font-size:0.795rem;color:var(--gray-text);padding:3px 0;line-height:1.5;
  display:flex;align-items:flex-start;gap:7px;
}
.s-card ul li::before{content:'›';color:var(--emerald);font-weight:700;flex-shrink:0;}

/* ── BAND 24/7 ── */
.band{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 40%,var(--slate) 100%);
  padding:60px 0;position:relative;overflow:hidden;
}
.band::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(14,124,95,0.035) 40px,rgba(14,124,95,0.035) 41px);
}
.band::after{
  content:'';position:absolute;left:0;top:0;bottom:0;width:5px;
  background:linear-gradient(180deg,var(--emerald),var(--emerald-bright));
}
.band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.band-text h2{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.5rem,3vw,2.3rem);font-weight:900;color:white;
}
.band-text h2 em{color:var(--emerald-bright);font-style:normal;}
.band-text p{color:rgba(255,255,255,0.65);margin-top:8px;font-size:0.88rem;}
.band-contacts{display:flex;gap:14px;flex-wrap:wrap;}
.cpill{
  background:rgba(14,124,95,0.12);border:1px solid rgba(14,124,95,0.38);
  border-radius:50px;padding:13px 22px;
  display:flex;align-items:center;gap:10px;text-decoration:none;transition:all 0.25s;
}
.cpill:hover{background:var(--emerald);border-color:var(--emerald);}
.cpill .ico{font-size:1rem;}
.cpill .lbl{font-family:'Montserrat',sans-serif;font-size:0.68rem;font-weight:700;color:rgba(255,255,255,0.55);display:block;}
.cpill .val{font-family:'Montserrat',sans-serif;font-size:0.9rem;font-weight:700;color:white;}

/* ── CONTACTO ── */
#contacto{padding:108px 0;background:var(--off-white);}
.c-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.ci-block{display:flex;flex-direction:column;gap:18px;}
.ci-item{
  display:flex;align-items:flex-start;gap:16px;background:white;
  border-radius:8px;padding:22px;box-shadow:0 2px 14px rgba(11,31,58,0.07);
  border-left:3px solid var(--emerald);
}
.ci-ico{
  width:42px;height:42px;background:var(--emerald);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;flex-shrink:0;
}
.ci-lbl{font-size:0.68rem;font-weight:700;color:var(--emerald);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:4px;}
.ci-val{font-family:'Montserrat',sans-serif;font-size:0.9rem;font-weight:700;color:var(--navy);}
.ci-sub{font-size:0.76rem;color:var(--gray-text);margin-top:2px;}

.form-wrap{background:white;border-radius:12px;padding:44px;box-shadow:0 4px 28px rgba(11,31,58,0.1);}
.form-wrap h3{font-family:'Montserrat',sans-serif;font-size:1.18rem;font-weight:800;color:var(--navy);margin-bottom:26px;}
.fg{margin-bottom:16px;}
.fg label{font-size:0.72rem;font-weight:700;color:var(--navy);display:block;margin-bottom:5px;letter-spacing:0.04em;text-transform:uppercase;}
.fg input,.fg textarea,.fg select{
  width:100%;padding:11px 14px;border:1.5px solid var(--gray-light);
  border-radius:6px;font-family:'Open Sans',sans-serif;font-size:0.875rem;
  color:var(--dark-text);outline:none;transition:border-color 0.2s;background:var(--off-white);
}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--emerald);background:white;}
.fg textarea{min-height:112px;resize:vertical;}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fsub{
  width:100%;background:var(--navy);color:white;border:none;padding:14px;
  border-radius:6px;cursor:pointer;font-family:'Montserrat',sans-serif;
  font-size:0.83rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;transition:all 0.25s;
}
.fsub:hover{background:var(--emerald);transform:translateY(-1px);}

/* ── FOOTER ── */
footer{background:var(--navy);color:rgba(255,255,255,0.65);padding:68px 0 0;}
.f-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:52px;padding-bottom:52px;}
.f-brand img{height:46px;margin-bottom:18px;filter:brightness(0) invert(1);opacity:0.92;}
.f-brand p{font-size:0.83rem;line-height:1.85;color:rgba(255,255,255,0.55);}
.f-tag{color:var(--emerald-bright);font-style:italic;font-size:0.8rem;margin-top:14px;}
.f-col h5{
  font-family:'Montserrat',sans-serif;font-size:0.7rem;font-weight:700;
  letter-spacing:0.16em;text-transform:uppercase;color:white;margin-bottom:18px;
  padding-bottom:10px;border-bottom:1px solid rgba(14,124,95,0.3);
}
.f-col ul{list-style:none;}
.f-col ul li{margin-bottom:10px;}
.f-col ul li a{color:rgba(255,255,255,0.55);text-decoration:none;font-size:0.83rem;transition:color 0.2s;}
.f-col ul li a:hover{color:var(--emerald-bright);}
.f-bot{
  border-top:1px solid rgba(255,255,255,0.08);padding:22px 0;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  font-size:0.75rem;color:rgba(255,255,255,0.35);
}
.f-bot span:first-child{color:rgba(255,255,255,0.5);}

/* ── WHATSAPP ── */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:9999;}
.wa-btn{
  width:62px;height:62px;background:#25d366;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 4px 22px rgba(37,211,102,0.5);transition:all 0.3s;position:relative;
}
.wa-btn:hover{transform:scale(1.1);}
.wa-btn svg{width:34px;height:34px;fill:white;}
.wa-btn::before{
  content:'';position:absolute;inset:-5px;border-radius:50%;
  border:2px solid rgba(37,211,102,0.38);animation:wap 2s infinite;
}
@keyframes wap{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.45)}}
.wa-popup{
  position:absolute;bottom:76px;right:0;background:white;border-radius:14px;
  padding:22px 26px;box-shadow:0 8px 44px rgba(0,0,0,0.16);width:274px;
  display:none;animation:sup 0.22s ease;
}
.wa-popup.show{display:block;}
@keyframes sup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.wph{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #f0f0f0;}
.wph-ico{background:#25d366;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;}
.wph-ico svg{width:22px;height:22px;fill:white;}
.wph-name{font-family:'Montserrat',sans-serif;font-size:0.85rem;font-weight:700;color:#1a1a1a;display:block;}
.wph-st{font-size:0.7rem;color:#25d366;}
.wa-line{
  display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:8px;
  text-decoration:none;margin-bottom:9px;background:#f7f9f7;
  transition:background 0.2s;border:1px solid #e8eee8;
}
.wa-line:hover{background:#e6f4ec;border-color:#25d366;}
.wl-num{font-family:'Montserrat',sans-serif;font-size:0.92rem;font-weight:700;color:#111;display:block;}
.wl-lbl{font-size:0.68rem;color:#888;display:block;}
.wa-arr{margin-left:auto;color:#25d366;font-size:1.1rem;font-weight:700;}

@media(max-width:960px){
  .q-grid,.s-intro,.c-grid{grid-template-columns:1fr;}
  .f-grid{grid-template-columns:1fr 1fr;}
  .s-grid{grid-template-columns:1fr 1fr;}
  .v-grid{grid-template-columns:1fr 1fr;}
  .stats-strip{grid-template-columns:repeat(2,1fr);}
  .nav-links{display:none;}
  .band-inner{flex-direction:column;text-align:center;}
  nav{padding:0 24px;}
}
@media(max-width:600px){
  .s-grid,.f-grid,.v-grid,.mv-grid,.fr{grid-template-columns:1fr;}
  .si{padding:0 20px;}
}

.f-text-logo{
  font-family:'Montserrat',sans-serif;font-weight:900;font-size:1.1rem;
  color:white;line-height:1.3;margin-bottom:18px;letter-spacing:0.04em;
  border-left:4px solid var(--emerald);padding-left:14px;
}
.f-text-logo span{font-size:0.72rem;font-weight:400;letter-spacing:0.18em;color:var(--emerald-bright);text-transform:uppercase;}

/* ── RESERVAS SECTION ── */
#reservas{padding:108px 0;background:var(--navy);position:relative;overflow:hidden;}
#reservas::before{content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(45deg,transparent,transparent 40px,
  rgba(14,124,95,0.04) 40px,rgba(14,124,95,0.04) 41px);}
#reservas::after{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;
  background:linear-gradient(180deg,var(--emerald),var(--emerald-bright));}

.res-intro{text-align:center;margin-bottom:56px;}
.res-intro .eyebrow{justify-content:center;}
.res-intro .eyebrow::before{display:none;}
.res-intro .sec-title{color:white;}
.res-intro .sec-desc{color:rgba(255,255,255,0.65);max-width:640px;margin:0 auto;}

/* LOGIN CARD */
.login-wrap{max-width:460px;margin:0 auto;}
.login-card{
  background:white;border-radius:14px;overflow:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,0.35);
}
.login-header{
  background:var(--navy);padding:32px 40px 28px;
  border-bottom:3px solid var(--emerald);
  text-align:center;position:relative;
}
.login-header::before{content:'';position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);
  width:60px;height:3px;background:var(--emerald-bright);}
.login-logo{height:44px;margin-bottom:14px;filter:brightness(0) invert(1);opacity:0.95;}
.login-header h3{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:700;
  color:white;letter-spacing:0.05em;margin-bottom:4px;}
.login-header p{font-size:0.76rem;color:rgba(255,255,255,0.55);letter-spacing:0.04em;}
.login-body{padding:36px 40px;}
.login-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:28px;
  border-radius:6px;overflow:hidden;border:1.5px solid var(--gray-light);}
.ltab{padding:10px;text-align:center;cursor:pointer;font-family:'Montserrat',sans-serif;
  font-size:0.75rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--gray-text);background:var(--off-white);transition:all 0.2s;}
.ltab.active{background:var(--navy);color:white;}
.lfg{margin-bottom:16px;}
.lfg label{font-size:0.71rem;font-weight:700;color:var(--navy);display:block;
  margin-bottom:5px;letter-spacing:0.06em;text-transform:uppercase;}
.lfg input,.lfg select{width:100%;padding:12px 14px;border:1.5px solid var(--gray-light);
  border-radius:6px;font-size:0.875rem;font-family:'Open Sans',sans-serif;
  color:var(--dark-text);outline:none;transition:border-color 0.2s;background:var(--off-white);}
.lfg input:focus,.lfg select:focus{border-color:var(--emerald);background:white;}
.lfg .input-ico{position:relative;}
.lfg .input-ico input{padding-left:38px;}
.lfg .input-ico .ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);
  font-size:1rem;color:var(--gray-text);}
.login-btn{width:100%;background:var(--emerald);color:white;border:none;
  padding:14px;border-radius:6px;cursor:pointer;font-family:'Montserrat',sans-serif;
  font-size:0.85rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  transition:all 0.25s;margin-top:6px;}
.login-btn:hover{background:var(--emerald-light);transform:translateY(-1px);}
.login-footer-note{text-align:center;margin-top:18px;font-size:0.75rem;color:var(--gray-text);}
.login-footer-note a{color:var(--emerald);text-decoration:none;font-weight:700;}

/* DASHBOARD (hidden by default) */
.dashboard{display:none;}
.dash-header{
  background:white;border-radius:12px;padding:24px 32px;
  margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;
  box-shadow:0 4px 20px rgba(0,0,0,0.12);flex-wrap:wrap;gap:16px;
}
.dash-welcome h3{font-family:'Montserrat',sans-serif;font-size:1.1rem;
  font-weight:800;color:var(--navy);}
.dash-welcome p{font-size:0.8rem;color:var(--gray-text);margin-top:2px;}
.dash-actions{display:flex;gap:10px;flex-wrap:wrap;}
.dash-btn{padding:9px 18px;border-radius:5px;border:none;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-size:0.75rem;font-weight:700;
  letter-spacing:0.06em;text-transform:uppercase;transition:all 0.2s;}
.dash-btn.primary{background:var(--emerald);color:white;}
.dash-btn.primary:hover{background:var(--emerald-light);}
.dash-btn.secondary{background:var(--off-white);color:var(--navy);border:1.5px solid var(--gray-light);}
.dash-btn.secondary:hover{border-color:var(--emerald);color:var(--emerald);}
.dash-btn.danger{background:transparent;color:#e53e3e;border:1.5px solid #e53e3e;}
.dash-btn.danger:hover{background:#e53e3e;color:white;}

.dash-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.dash-stat{background:white;border-radius:10px;padding:20px 24px;
  box-shadow:0 2px 12px rgba(0,0,0,0.1);border-left:4px solid var(--emerald);}
.dash-stat .ds-num{font-family:'Montserrat',sans-serif;font-size:1.7rem;
  font-weight:900;color:var(--navy);display:block;}
.dash-stat .ds-lbl{font-size:0.72rem;color:var(--gray-text);margin-top:2px;display:block;}
.dash-stat .ds-ico{font-size:1.4rem;float:right;margin-top:-4px;}

.dash-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.dash-panel{background:white;border-radius:10px;padding:28px;
  box-shadow:0 2px 12px rgba(0,0,0,0.1);}
.dash-panel h4{font-family:'Montserrat',sans-serif;font-size:0.82rem;font-weight:800;
  color:var(--navy);text-transform:uppercase;letter-spacing:0.09em;
  margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--emerald);}

/* RESERVA FORM */
.res-form-wrap{background:white;border-radius:12px;padding:36px;
  box-shadow:0 4px 20px rgba(0,0,0,0.12);margin-bottom:20px;}
.res-form-wrap h4{font-family:'Montserrat',sans-serif;font-size:0.88rem;font-weight:800;
  color:var(--navy);text-transform:uppercase;letter-spacing:0.09em;
  margin-bottom:24px;display:flex;align-items:center;gap:10px;}
.res-form-wrap h4 span{font-size:1.3rem;}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
.form-section{margin-bottom:20px;}
.form-section-title{font-family:'Montserrat',sans-serif;font-size:0.72rem;font-weight:700;
  color:var(--emerald);text-transform:uppercase;letter-spacing:0.12em;
  margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.form-section-title::after{content:'';flex:1;height:1px;background:var(--gray-light);}

/* RECENT RESERVAS TABLE */
.res-table{width:100%;border-collapse:collapse;font-size:0.8rem;}
.res-table th{background:var(--off-white);color:var(--navy);font-family:'Montserrat',sans-serif;
  font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  padding:10px 12px;text-align:left;border-bottom:2px solid var(--gray-light);}
.res-table td{padding:11px 12px;border-bottom:1px solid var(--gray-light);color:var(--gray-text);}
.res-table tr:last-child td{border-bottom:none;}
.res-table tr:hover td{background:var(--off-white);}
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:0.67rem;
  font-weight:700;letter-spacing:0.06em;text-transform:uppercase;}
.badge.pending{background:#fff3cd;color:#856404;}
.badge.confirmed{background:#d1f0e0;color:#0a5c36;}
.badge.processing{background:#cfe2ff;color:#0a3878;}

/* SERVICES QUICK SELECT */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;}
.svc-chip{border:1.5px solid var(--gray-light);border-radius:8px;padding:14px 12px;
  cursor:pointer;transition:all 0.2s;text-align:center;background:var(--off-white);}
.svc-chip:hover,.svc-chip.selected{border-color:var(--emerald);background:#e8f7f2;}
.svc-chip .sico{font-size:1.5rem;display:block;margin-bottom:6px;}
.svc-chip .slbl{font-family:'Montserrat',sans-serif;font-size:0.68rem;
  font-weight:700;color:var(--navy);letter-spacing:0.04em;}

/* Responsive dashboard */
@media(max-width:960px){
  .dash-grid{grid-template-columns:repeat(2,1fr);}
  .dash-panels{grid-template-columns:1fr;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .form-grid-2,.form-grid-3{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .dash-grid{grid-template-columns:1fr 1fr;}
  .login-body{padding:28px 24px;}
  .login-header{padding:24px 24px 20px;}
  .dash-header{flex-direction:column;align-items:flex-start;}
}

/* ══════════════════════════════════════
   PORTAL DE RESERVAS – estilos
══════════════════════════════════════ */
#reservas{padding:80px 0;background:var(--off-white);}
.res-page-title{text-align:center;margin-bottom:48px;}
.res-page-title .eyebrow{justify-content:center;}
.res-page-title .eyebrow::before{display:none;}
.res-page-title .sec-title{color:var(--navy);}
.res-page-title .sec-desc{color:var(--gray-text);max-width:600px;margin:0 auto;}

/* LOGIN */
.lw{max-width:460px;margin:0 auto;}
.lcard{background:white;border-radius:14px;overflow:hidden;
  box-shadow:0 20px 60px rgba(11,31,58,0.12);}
.lcard-head{background:var(--navy);padding:32px 40px 26px;
  border-bottom:3px solid var(--emerald);text-align:center;}
.lcard-head img{height:44px;margin-bottom:14px;object-fit:contain;}
.lcard-head h3{font-family:'Montserrat',sans-serif;font-size:1rem;
  font-weight:800;color:white;margin-bottom:4px;}
.lcard-head p{font-size:0.76rem;color:rgba(255,255,255,0.5);}
.lcard-body{padding:34px 40px;}
.ltabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:26px;
  border-radius:6px;overflow:hidden;border:1.5px solid var(--gray-light);}
.ltab{padding:11px;text-align:center;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-size:0.72rem;font-weight:700;
  letter-spacing:0.07em;text-transform:uppercase;
  color:var(--gray-text);background:var(--off-white);transition:all 0.2s;}
.ltab.on{background:var(--navy);color:white;}
.rfg{margin-bottom:15px;}
.rfg label{font-size:0.7rem;font-weight:700;color:var(--navy);
  display:block;margin-bottom:5px;letter-spacing:0.06em;text-transform:uppercase;}
.rfg .rw{position:relative;}
.rfg .ri{position:absolute;left:11px;top:50%;transform:translateY(-50%);
  font-size:0.95rem;color:var(--gray-text);pointer-events:none;}
.rfg input,.rfg select,.rfg textarea{width:100%;padding:11px 13px 11px 36px;
  border:1.5px solid var(--gray-light);border-radius:6px;
  font-family:'Open Sans',sans-serif;font-size:0.875rem;
  color:var(--dark-text);outline:none;transition:border-color 0.2s;background:var(--off-white);}
.rfg input:focus,.rfg select:focus,.rfg textarea:focus{border-color:var(--emerald);background:white;}
.rfg textarea{padding:11px 13px;min-height:86px;resize:vertical;}
.rbtn{width:100%;background:var(--emerald);color:white;border:none;
  padding:13px;border-radius:6px;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-size:0.83rem;
  font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  transition:all 0.25s;margin-top:4px;}
.rbtn:hover{background:var(--emerald-light);transform:translateY(-1px);}
.rnote{text-align:center;margin-top:16px;font-size:0.73rem;color:var(--gray-text);}
.rnote a{color:var(--emerald);text-decoration:none;font-weight:700;}

/* DASHBOARD */
.rdash{display:none;max-width:1060px;margin:0 auto;}
.rdash-hd{background:white;border-radius:10px;padding:20px 26px;margin-bottom:18px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
  box-shadow:0 2px 12px rgba(11,31,58,0.07);border-left:4px solid var(--emerald);}
.rdash-hd h3{font-family:'Montserrat',sans-serif;font-size:1rem;
  font-weight:800;color:var(--navy);}
.rdash-hd p{font-size:0.76rem;color:var(--gray-text);margin-top:2px;}
.rdash-acts{display:flex;gap:9px;flex-wrap:wrap;}
.xbtn{padding:9px 16px;border-radius:5px;border:none;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-size:0.72rem;font-weight:700;
  letter-spacing:0.06em;text-transform:uppercase;transition:all 0.2s;}
.xbtn.xp{background:var(--emerald);color:white;}
.xbtn.xp:hover{background:var(--emerald-light);}
.xbtn.xs{background:var(--off-white);color:var(--navy);border:1.5px solid var(--gray-light);}
.xbtn.xs:hover{border-color:var(--emerald);color:var(--emerald);}
.xbtn.xd{background:transparent;color:#e53e3e;border:1.5px solid #e53e3e;}
.xbtn.xd:hover{background:#e53e3e;color:white;}
.rstats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;}
.rstat{background:white;border-radius:8px;padding:16px 20px;
  box-shadow:0 2px 10px rgba(11,31,58,0.06);border-left:3px solid var(--emerald);}
.rstat-n{font-family:'Montserrat',sans-serif;font-size:1.6rem;
  font-weight:900;color:var(--navy);display:block;}
.rstat-i{float:right;font-size:1.3rem;margin-top:-2px;}
.rstat-l{font-size:0.69rem;color:var(--gray-text);margin-top:2px;display:block;}
.rpanel{background:white;border-radius:10px;padding:24px 26px;
  box-shadow:0 2px 12px rgba(11,31,58,0.07);margin-bottom:18px;}
.rpanel-t{font-family:'Montserrat',sans-serif;font-size:0.78rem;font-weight:800;
  color:var(--navy);text-transform:uppercase;letter-spacing:0.09em;
  margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--emerald);
  display:flex;align-items:center;gap:8px;}
.rsvc{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;}
.rchip{border:1.5px solid var(--gray-light);border-radius:8px;padding:12px 10px;
  cursor:pointer;transition:all 0.2s;text-align:center;background:var(--off-white);}
.rchip:hover,.rchip.on{border-color:var(--emerald);background:#edf7f4;}
.rchip .rsi{font-size:1.4rem;display:block;margin-bottom:5px;}
.rchip .rsl{font-family:'Montserrat',sans-serif;font-size:0.66rem;
  font-weight:700;color:var(--navy);}
.rg2{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.rg3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;}
.rsec{font-family:'Montserrat',sans-serif;font-size:0.67rem;font-weight:700;
  color:var(--emerald);text-transform:uppercase;letter-spacing:0.13em;
  margin:16px 0 11px;display:flex;align-items:center;gap:8px;}
.rsec::after{content:'';flex:1;height:1px;background:var(--gray-light);}
.rtbl{width:100%;border-collapse:collapse;font-size:0.79rem;}
.rtbl th{background:var(--off-white);color:var(--navy);
  font-family:'Montserrat',sans-serif;font-size:0.66rem;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;
  padding:9px 11px;text-align:left;border-bottom:2px solid var(--gray-light);}
.rtbl td{padding:10px 11px;border-bottom:1px solid var(--gray-light);color:var(--gray-text);}
.rtbl tr:last-child td{border-bottom:none;}
.rtbl tr:hover td{background:var(--off-white);}
.rbadge{display:inline-block;padding:3px 9px;border-radius:20px;
  font-size:0.65rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;}
.rbadge.ok{background:#d1f0e0;color:#0a5c36;}
.rbadge.pend{background:#fff3cd;color:#856404;}
.rbadge.proc{background:#cfe2ff;color:#0a3878;}
.rlnk{color:var(--emerald);font-size:0.74rem;font-weight:700;text-decoration:none;}
.rlnk:hover{text-decoration:underline;}
.rtbl-w{overflow-x:auto;}
@media(max-width:900px){
  .rstats{grid-template-columns:1fr 1fr;}
  .rg2,.rg3{grid-template-columns:1fr;}
  .rsvc{grid-template-columns:repeat(2,1fr);}
  .rdash-hd{flex-direction:column;align-items:flex-start;}
}
@media(max-width:540px){
  .rstats{grid-template-columns:1fr;}
  .lcard-body{padding:26px 20px;}
  .lcard-head{padding:24px 20px 20px;}
}



/* BOTÓN DESTACADO PORTAL DE RESERVAS */
.nav-booking{
  background:linear-gradient(135deg,#00b67a,#00d48f)!important;
  color:#fff!important;
  padding:12px 24px!important;
  border-radius:30px;
  font-family:'Montserrat',sans-serif;
  font-size:.78rem;
  font-weight:800!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(0,182,122,.35);
  transition:all .25s ease;
  animation:pulseBooking 2s infinite;
  white-space:nowrap;
}
.nav-booking:hover{
  transform:translateY(-3px) scale(1.05);
  background:linear-gradient(135deg,#00d48f,#00b67a)!important;
  box-shadow:0 12px 28px rgba(0,182,122,.55);
}
.nav-booking::after{display:none!important;}
@keyframes pulseBooking{
  0%{box-shadow:0 0 0 0 rgba(0,182,122,.6);}
  70%{box-shadow:0 0 0 12px rgba(0,182,122,0);}
  100%{box-shadow:0 0 0 0 rgba(0,182,122,0);}
}
.mobile-booking{
  background:linear-gradient(135deg,#00b67a,#00d48f)!important;
  color:white!important;
  border-radius:8px;
  margin:10px 18px;
  text-align:center;
  font-weight:800!important;
}
