@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

*{box-sizing:border-box;margin:0;padding:0;}

:root{
  --navy:#1A2238;--gold:#C1A461;--gold-light:#D4BC82;--gold-pale:#F5EED8;
  --smoke:#F0F2F7;--white:#FFFFFF;--garnet:#B03A2E;--garnet-pale:#FDECEA;
  --navy-mid:#2A3550;--navy-light:#3D4F6E;--text-muted:#6B7280;
  --text-mid:#374151;--border:#E5E7EB;--green:#2E7D32;--green-pale:#E8F5E9;
  --shadow-sm:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.05);
  --shadow-md:0 4px 16px rgba(26,34,56,0.10),0 2px 6px rgba(26,34,56,0.06);
  --shadow-lg:0 12px 40px rgba(26,34,56,0.14),0 4px 12px rgba(26,34,56,0.08);
  --shadow-gold:0 4px 20px rgba(193,164,97,0.25);
  --radius:14px;--radius-sm:8px;--radius-xs:6px;
}

body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--smoke);color:var(--text-mid);}
a{text-decoration:none;transition:color .2s;}

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--smoke);}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--gold);}

/* ─── NAVBAR ─── */
.navbar{
  background:var(--navy);
  padding:0 32px;
  display:flex;align-items:center;justify-content:space-between;
  height:64px;
  position:sticky;top:0;z-index:100;position:relative;
  border-bottom:1px solid rgba(193,164,97,0.2);
  box-shadow:0 2px 20px rgba(0,0,0,0.15);
}
.nav-logo{
  font-family:'Sora',sans-serif;font-size:22px;font-weight:800;
  color:var(--white);display:flex;align-items:center;gap:8px;letter-spacing:-0.5px;
}
.nav-logo-dot{
  width:8px;height:8px;background:var(--gold);border-radius:50%;
  box-shadow:0 0 8px rgba(193,164,97,0.8);
}
.nav-links{display:flex;gap:4px;position:absolute;left:50%;transform:translateX(-50%);}
.nav-link{
  color:rgba(255,255,255,0.55);font-size:13px;font-weight:500;
  padding:6px 14px;border-radius:var(--radius-xs);
  transition:all .2s;position:relative;
}
.nav-link.active,.nav-link:hover{color:var(--white);background:rgba(255,255,255,0.08);}
.nav-link.active::after{
  content:'';position:absolute;bottom:-1px;left:14px;right:14px;
  height:2px;background:var(--gold);border-radius:1px;
}
.nav-actions{display:flex;gap:8px;align-items:center;}

/* ─── BUTTONS ─── */
.btn-ghost{
  background:transparent;border:1.5px solid rgba(255,255,255,0.25);
  color:var(--white);padding:8px 18px;border-radius:var(--radius-sm);
  font-size:12px;font-weight:600;font-family:'Plus Jakarta Sans',sans-serif;
  cursor:pointer;display:inline-block;transition:all .2s;
}
.btn-ghost:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.4);}

.btn-gold{
  background:var(--gold);border:none;color:var(--navy);
  padding:8px 18px;border-radius:var(--radius-sm);
  font-size:12px;font-weight:700;font-family:'Plus Jakarta Sans',sans-serif;
  cursor:pointer;display:inline-block;transition:all .2s;
  box-shadow:var(--shadow-gold);
}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-1px);box-shadow:0 6px 24px rgba(193,164,97,0.4);}

.btn-navy{
  background:var(--navy);border:none;color:var(--white);
  padding:9px 20px;border-radius:var(--radius-sm);
  font-size:13px;font-weight:600;font-family:'Plus Jakarta Sans',sans-serif;
  cursor:pointer;display:inline-block;transition:all .2s;
  box-shadow:var(--shadow-sm);
}
.btn-navy:hover{background:var(--navy-mid);transform:translateY(-1px);box-shadow:var(--shadow-md);}

.btn-navy-outline{
  background:transparent;border:1.5px solid var(--navy);color:var(--navy);
  padding:9px 20px;border-radius:var(--radius-sm);
  font-size:13px;font-weight:600;font-family:'Plus Jakarta Sans',sans-serif;
  cursor:pointer;display:inline-block;transition:all .2s;
}
.btn-navy-outline:hover{background:var(--navy);color:var(--white);}

.btn-garnet{
  background:var(--garnet);border:none;color:var(--white);
  padding:8px 18px;border-radius:var(--radius-sm);
  font-size:12px;font-weight:600;font-family:'Plus Jakarta Sans',sans-serif;
  cursor:pointer;display:inline-block;transition:all .2s;
}
.btn-garnet:hover{opacity:.88;transform:translateY(-1px);}

.btn-sm{padding:5px 12px !important;font-size:11px !important;border-radius:var(--radius-xs) !important;}

/* ─── HERO ─── */
.hero{
  background:var(--navy);
  padding:72px 40px 64px;text-align:center;
  position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 20% 50%, rgba(193,164,97,0.08) 0%, transparent 70%),
    radial-gradient(ellipse 60% 50% at 80% 50%, rgba(61,79,110,0.4) 0%, transparent 70%);
}
.hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(193,164,97,0.4),transparent);
}
.hero>*{position:relative;z-index:1;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(193,164,97,0.12);
  border:1px solid rgba(193,164,97,0.35);
  color:var(--gold);font-size:11px;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;
  padding:6px 16px;border-radius:20px;margin-bottom:24px;
}
.hero h1{
  font-family:'Sora',sans-serif;font-size:44px;font-weight:800;
  color:var(--white);line-height:1.15;margin-bottom:16px;letter-spacing:-1px;
}
.hero h1 span{
  color:var(--gold);
  text-shadow:0 0 30px rgba(193,164,97,0.3);
}
.hero p{
  color:rgba(255,255,255,0.6);font-size:15px;line-height:1.8;
  max-width:520px;margin:0 auto 36px;
}
.search-bar{
  background:rgba(255,255,255,0.97);
  border-radius:var(--radius);display:flex;align-items:center;
  max-width:620px;margin:0 auto;
  box-shadow:var(--shadow-lg),0 0 0 1px rgba(193,164,97,0.15);
  overflow:hidden;
}
.search-field{
  flex:1;padding:16px 20px;border:none;outline:none;
  font-size:14px;font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--text-mid);background:transparent;
  border-right:1px solid var(--border);
}
.search-btn{
  background:var(--gold);border:none;color:var(--navy);
  padding:16px 24px;font-size:14px;font-weight:700;
  font-family:'Plus Jakarta Sans',sans-serif;cursor:pointer;
  transition:background .2s;white-space:nowrap;
}
.search-btn:hover{background:var(--gold-light);}
.hero-stats{display:flex;justify-content:center;gap:48px;margin-top:48px;}
.hero-stat-num{
  font-family:'Sora',sans-serif;font-size:28px;font-weight:800;color:var(--gold);
  text-shadow:0 0 20px rgba(193,164,97,0.4);
}
.hero-stat-label{font-size:11px;color:rgba(255,255,255,0.45);margin-top:4px;letter-spacing:0.05em;}

/* ─── SECTION ─── */
.section{padding:36px;}
.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;}
.section-title{
  font-family:'Sora',sans-serif;font-size:20px;font-weight:700;color:var(--navy);
  position:relative;padding-left:12px;
}
.section-title::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:18px;background:var(--gold);border-radius:2px;
}
.section-link{font-size:12px;color:var(--gold);font-weight:600;cursor:pointer;transition:opacity .2s;}
.section-link:hover{opacity:.75;}

/* ─── RESTAURANT CARDS (grid) ─── */
.restaurant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.rest-card{
  background:var(--white);border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  transition:transform .25s,box-shadow .25s;
}
.rest-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.rest-card-img{
  height:100px;display:flex;align-items:center;justify-content:center;
  font-size:32px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);
}
.rest-card-body{padding:14px 16px;}
.rest-card-name{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:3px;}
.rest-card-meta{font-size:11px;color:var(--text-muted);}
.rest-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;}
.stars{color:var(--gold);font-size:11px;}
.rest-book-btn{
  background:var(--navy);color:var(--white);border:none;border-radius:var(--radius-xs);
  padding:6px 14px;font-size:10px;font-weight:700;
  font-family:'Plus Jakarta Sans',sans-serif;cursor:pointer;transition:all .2s;
}
.rest-book-btn:hover{background:var(--gold);color:var(--navy);}

/* ─── RESULT CARDS ─── */
.results-list{display:flex;flex-direction:column;gap:14px;}
.result-card{
  background:var(--white);border-radius:var(--radius);border:1px solid var(--border);
  display:flex;overflow:hidden;
  box-shadow:var(--shadow-sm);transition:all .25s;
}
.result-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(193,164,97,0.3);}
.result-card-img{
  width:120px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:36px;
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-mid) 100%);
}
.result-card-body{flex:1;padding:16px 20px;}
.result-card-name{
  font-family:'Sora',sans-serif;font-size:16px;font-weight:700;
  color:var(--navy);margin-bottom:4px;
}
.result-card-meta{
  font-size:12px;color:var(--text-muted);
  display:flex;gap:12px;align-items:center;margin-bottom:10px;flex-wrap:wrap;
}
.result-card-foot{display:flex;justify-content:space-between;align-items:center;}
.result-avail{font-size:11px;color:var(--green);font-weight:600;display:flex;align-items:center;gap:4px;}
.result-avail-dot{width:6px;height:6px;background:var(--green);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.unavail{font-size:11px;color:var(--garnet);font-weight:600;}

/* ─── BADGE ─── */
.badge{
  display:inline-block;padding:3px 10px;border-radius:20px;
  font-size:10px;font-weight:700;letter-spacing:0.04em;
}
.badge-ok{background:var(--green-pale);color:var(--green);}
.badge-pend{background:var(--gold-pale);color:#7A5F10;}
.badge-cancel{background:var(--garnet-pale);color:var(--garnet);}

/* ─── AUTH ─── */
.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:520px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);}
.auth-panel{
  background:var(--navy);padding:48px 40px;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden;
}
.auth-panel::before{
  content:'';position:absolute;top:-60px;right:-60px;
  width:220px;height:220px;
  border-radius:50%;background:rgba(193,164,97,0.07);
}
.auth-panel::after{
  content:'';position:absolute;bottom:-40px;left:-40px;
  width:160px;height:160px;
  border-radius:50%;background:rgba(193,164,97,0.05);
}
.auth-panel-title{font-family:'Sora',sans-serif;font-size:28px;font-weight:800;color:var(--white);margin-bottom:12px;line-height:1.2;}
.auth-panel-sub{font-size:13px;color:rgba(255,255,255,0.55);line-height:1.8;margin-bottom:32px;}
.auth-feature{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.auth-feature-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 8px rgba(193,164,97,0.7);flex-shrink:0;}
.auth-feature-text{font-size:13px;color:rgba(255,255,255,0.75);}
.auth-form{background:var(--white);padding:48px 40px;display:flex;flex-direction:column;justify-content:center;}
.auth-logo{font-family:'Sora',sans-serif;font-size:20px;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:8px;margin-bottom:4px;}
.auth-logo-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 6px rgba(193,164,97,0.6);}
.auth-subtitle{font-size:13px;color:var(--text-muted);margin-bottom:28px;}
.form-field{margin-bottom:16px;}
.form-label{font-size:11px;font-weight:700;color:var(--text-mid);display:block;margin-bottom:6px;letter-spacing:0.06em;text-transform:uppercase;}
.form-input{
  width:100%;background:var(--smoke);border:1.5px solid var(--border);
  border-radius:var(--radius-sm);padding:11px 16px;
  font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--text-mid);
  transition:border-color .2s,box-shadow .2s;
}
.form-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(193,164,97,0.12);background:var(--white);}
.form-input.error{border-color:var(--garnet);}
.form-hint{font-size:10px;color:var(--text-muted);margin-top:5px;}
.form-submit{
  width:100%;background:var(--navy);color:var(--white);border:none;
  border-radius:var(--radius-sm);padding:13px;font-size:14px;font-weight:700;
  font-family:'Plus Jakarta Sans',sans-serif;cursor:pointer;margin-top:6px;
  transition:all .2s;box-shadow:var(--shadow-sm);
}
.form-submit:hover{background:var(--navy-mid);transform:translateY(-1px);box-shadow:var(--shadow-md);}
.auth-switch{text-align:center;font-size:11px;color:var(--text-muted);margin-top:16px;}
.auth-switch span,.auth-switch a{color:var(--gold);font-weight:700;}

/* ─── SIDEBAR / DASHBOARD LAYOUT ─── */
.dash-layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh;}
.sidebar{
  background:var(--navy);
  padding:0;display:flex;flex-direction:column;
  border-right:1px solid rgba(255,255,255,0.06);
  box-shadow:2px 0 20px rgba(0,0,0,0.12);
}
.sidebar-logo{
  font-family:'Sora',sans-serif;font-size:18px;font-weight:800;
  color:var(--white);padding:22px 24px;
  border-bottom:1px solid rgba(255,255,255,0.07);
  display:flex;align-items:center;gap:8px;letter-spacing:-0.3px;
}
.sidebar-logo > div{box-shadow:0 0 8px rgba(193,164,97,0.8);}
.sidebar-section{
  padding:20px 24px 6px;
  font-size:9px;font-weight:700;
  color:rgba(255,255,255,0.28);
  letter-spacing:0.12em;text-transform:uppercase;
}
.sidebar-item{
  display:flex;align-items:center;gap:12px;
  padding:11px 24px;cursor:pointer;
  border-left:3px solid transparent;
  transition:all .2s;margin:1px 0;
}
.sidebar-item.active{
  background:linear-gradient(90deg,rgba(193,164,97,0.15),rgba(193,164,97,0.04));
  border-left-color:var(--gold);
}
.sidebar-item:hover:not(.active){background:rgba(255,255,255,0.05);}
.sidebar-item svg{
  width:17px;height:17px;stroke:rgba(255,255,255,0.35);fill:none;
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;
  transition:stroke .2s;
}
.sidebar-item.active svg{stroke:var(--gold);}
.sidebar-item:hover svg{stroke:rgba(255,255,255,0.7);}
.sidebar-item span{font-size:13px;color:rgba(255,255,255,0.45);font-weight:500;transition:color .2s;}
.sidebar-item.active span{color:var(--white);font-weight:700;}
.sidebar-item:hover:not(.active) span{color:rgba(255,255,255,0.8);}
.sidebar-bottom{margin-top:auto;padding:20px 24px;border-top:1px solid rgba(255,255,255,0.07);}
.sidebar-user{display:flex;align-items:center;gap:12px;}
.sidebar-avatar{
  width:36px;height:36px;background:linear-gradient(135deg,var(--gold),var(--gold-light));
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;color:var(--navy);flex-shrink:0;
  box-shadow:0 2px 8px rgba(193,164,97,0.4);
}
.sidebar-user-name{font-size:13px;color:var(--white);font-weight:600;}
.sidebar-user-role{font-size:10px;color:rgba(255,255,255,0.35);}

.dash-content{padding:28px;background:var(--smoke);overflow:auto;}
.dash-header{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:24px;
}
.dash-title{
  font-family:'Sora',sans-serif;font-size:22px;font-weight:800;color:var(--navy);
  position:relative;padding-left:14px;
}
.dash-title::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px;height:20px;background:var(--gold);border-radius:2px;
  box-shadow:0 0 8px rgba(193,164,97,0.4);
}
.dash-date{font-size:12px;color:var(--text-muted);margin-top:3px;padding-left:14px;}

/* ─── STAT CARDS ─── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.stat-card{
  background:var(--white);border-radius:var(--radius);
  border:1px solid var(--border);padding:20px;
  box-shadow:var(--shadow-sm);
  transition:transform .2s,box-shadow .2s;
  position:relative;overflow:hidden;
}
.stat-card::after{
  content:'';position:absolute;top:0;right:0;
  width:60px;height:60px;border-radius:0 var(--radius) 0 60px;
  background:rgba(193,164,97,0.06);
}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.stat-label{font-size:11px;color:var(--text-muted);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:8px;}
.stat-val{font-family:'Sora',sans-serif;font-size:28px;font-weight:800;color:var(--navy);}
.stat-val.gold{color:var(--gold);}
.stat-trend{font-size:11px;color:var(--green);margin-top:4px;font-weight:600;}
.stat-trend.down{color:var(--garnet);}

.dash-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;}

/* ─── CARD ─── */
.card{
  background:var(--white);border-radius:var(--radius);
  border:1px solid var(--border);padding:20px;
  box-shadow:var(--shadow-sm);
}
.card-title{
  font-size:14px;font-weight:700;color:var(--navy);
  margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;
  padding-bottom:12px;border-bottom:1px solid var(--border);
}

/* ─── TABLE ─── */
.table{width:100%;border-collapse:collapse;table-layout:fixed;}
.table th{
  font-size:10px;font-weight:700;color:var(--text-muted);
  letter-spacing:0.08em;text-transform:uppercase;
  padding:10px 12px;background:var(--smoke);text-align:left;
  border-bottom:2px solid var(--border);
}
.table th:first-child{border-radius:var(--radius-xs) 0 0 0;}
.table th:last-child{border-radius:0 var(--radius-xs) 0 0;}
.table td{
  font-size:12px;color:var(--text-mid);
  padding:12px 12px;border-bottom:1px solid rgba(229,231,235,0.6);
  transition:background .15s;
}
.table tr:hover td{background:rgba(193,164,97,0.04);}
.table tr:last-child td{border-bottom:none;}
.action-btns{display:flex;gap:5px;flex-wrap:wrap;}
.act-edit{
  background:var(--gold-pale);color:#7A6020;border:none;
  border-radius:var(--radius-xs);padding:5px 10px;font-size:10px;font-weight:700;
  cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;
  display:inline-block;transition:all .2s;
}
.act-edit:hover{background:var(--gold);color:var(--navy);}
.act-del{
  background:var(--garnet-pale);color:var(--garnet);border:none;
  border-radius:var(--radius-xs);padding:5px 10px;font-size:10px;font-weight:700;
  cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all .2s;
}
.act-del:hover{background:var(--garnet);color:var(--white);}
.act-confirm{
  background:var(--green-pale);color:var(--green);border:none;
  border-radius:var(--radius-xs);padding:5px 10px;font-size:10px;font-weight:700;
  cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all .2s;
}
.act-confirm:hover{background:var(--green);color:var(--white);}

/* ─── TOOLBAR ─── */
.list-toolbar{display:flex;gap:10px;margin-bottom:18px;align-items:center;}
.search-input-bar{
  flex:1;background:var(--white);border:1.5px solid var(--border);
  border-radius:var(--radius-sm);padding:10px 16px;font-size:13px;
  font-family:'Plus Jakarta Sans',sans-serif;color:var(--text-mid);
  transition:border-color .2s,box-shadow .2s;
}
.search-input-bar:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(193,164,97,0.1);}
.filter-select{
  background:var(--white);border:1.5px solid var(--border);
  border-radius:var(--radius-sm);padding:10px 14px;font-size:12px;
  font-family:'Plus Jakarta Sans',sans-serif;color:var(--text-muted);
  min-width:140px;cursor:pointer;transition:border-color .2s;
}
.filter-select:focus{outline:none;border-color:var(--gold);}
.btn-add{
  background:var(--navy);color:var(--white);border:none;
  border-radius:var(--radius-sm);padding:10px 18px;font-size:12px;font-weight:700;
  font-family:'Plus Jakarta Sans',sans-serif;cursor:pointer;
  white-space:nowrap;display:inline-flex;align-items:center;gap:6px;
  transition:all .2s;box-shadow:var(--shadow-sm);
}
.btn-add:hover{background:var(--navy-mid);transform:translateY(-1px);box-shadow:var(--shadow-md);}

/* ─── PAGINATION ─── */
.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;}
.page-info{font-size:11px;color:var(--text-muted);}
.page-btns{display:flex;gap:4px;}
.page-btn{
  background:var(--white);border:1.5px solid var(--border);
  border-radius:var(--radius-xs);padding:6px 12px;font-size:11px;
  cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--text-mid);display:inline-block;transition:all .2s;
}
.page-btn:hover{border-color:var(--gold);color:var(--navy);}
.page-btn.current{background:var(--navy);color:var(--white);border-color:var(--navy);}

/* ─── FORM CARD ─── */
.form-card{
  background:var(--white);border-radius:var(--radius);
  border:1px solid var(--border);padding:32px;
  max-width:700px;margin:0 auto;
  box-shadow:var(--shadow-md);
}
.form-card-title{font-family:'Sora',sans-serif;font-size:20px;font-weight:800;color:var(--navy);margin-bottom:4px;}
.form-card-sub{font-size:13px;color:var(--text-muted);margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border);}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-full{grid-column:span 2;}
.form-section-label{
  font-size:10px;font-weight:700;color:var(--navy);letter-spacing:0.08em;
  text-transform:uppercase;padding:16px 0 8px;
  border-top:1px solid var(--border);margin-top:8px;grid-column:span 2;
}
.form-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);}

/* ─── RESTAURANT DETAIL ─── */
.rest-detail-hero{
  background:var(--navy);
  position:relative;overflow:hidden;
}
.rest-detail-cover{
  height:180px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);
  display:flex;align-items:center;justify-content:center;font-size:64px;position:relative;
}
.rest-detail-cover-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 30%,rgba(26,34,56,0.95));
}
.rest-detail-info{padding:24px 32px 28px;display:flex;justify-content:space-between;align-items:flex-end;}
.rest-detail-name{font-family:'Sora',sans-serif;font-size:28px;font-weight:800;color:var(--white);letter-spacing:-0.5px;}
.rest-detail-sub{font-size:13px;color:rgba(255,255,255,0.55);margin-top:6px;}
.rest-detail-body{padding:28px 32px;display:grid;grid-template-columns:1fr 320px;gap:24px;}
.info-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);}
.info-row:last-child{border:none;}
.info-row svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;flex-shrink:0;margin-top:1px;}
.info-row-text{font-size:13px;color:var(--text-mid);line-height:1.6;}
.info-row-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.07em;display:block;margin-bottom:3px;}
.reserve-box{
  background:var(--white);border-radius:var(--radius);
  border:1px solid var(--border);padding:24px;height:fit-content;
  box-shadow:var(--shadow-md);
}
.reserve-box-title{font-family:'Sora',sans-serif;font-size:18px;font-weight:700;color:var(--navy);margin-bottom:18px;}

/* ─── CONFIRM PAGE ─── */
.confirm-page{
  background:var(--navy);min-height:420px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:56px 32px;text-align:center;
  position:relative;overflow:hidden;
}
.confirm-page::before{
  content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(193,164,97,0.1) 0%,transparent 70%);
}
.confirm-page>*{position:relative;z-index:1;}
.confirm-icon{
  width:80px;height:80px;
  background:rgba(193,164,97,0.15);border:2px solid rgba(193,164,97,0.3);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin:0 auto 24px;
  box-shadow:0 0 30px rgba(193,164,97,0.2);
}
.confirm-icon svg{width:36px;height:36px;stroke:var(--gold);fill:none;stroke-width:2;stroke-linecap:round;}
.confirm-title{font-family:'Sora',sans-serif;font-size:32px;font-weight:800;color:var(--white);margin-bottom:10px;letter-spacing:-0.5px;}
.confirm-sub{font-size:15px;color:rgba(255,255,255,0.6);line-height:1.8;margin-bottom:32px;}
.confirm-card{
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius);padding:24px 28px;
  max-width:380px;margin:0 auto 32px;text-align:left;
  backdrop-filter:blur(4px);
}
.confirm-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.07);}
.confirm-row:last-child{border:none;}
.confirm-row-label{font-size:11px;color:rgba(255,255,255,0.45);font-weight:500;}
.confirm-row-val{font-size:13px;font-weight:700;color:var(--white);}
.confirm-code{
  background:rgba(193,164,97,0.15);border:1px solid rgba(193,164,97,0.35);
  border-radius:var(--radius-sm);padding:12px 24px;
  font-family:'Sora',sans-serif;font-size:22px;font-weight:800;color:var(--gold);
  margin-bottom:24px;display:inline-block;
  box-shadow:0 0 20px rgba(193,164,97,0.2);letter-spacing:2px;
}
.confirm-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ─── HISTORIAL ─── */
.hist-card{
  background:var(--white);border-radius:var(--radius);
  border:1px solid var(--border);padding:18px;margin-bottom:12px;
  display:flex;gap:16px;align-items:flex-start;
  box-shadow:var(--shadow-sm);transition:all .2s;
}
.hist-card:hover{transform:translateX(4px);border-color:rgba(193,164,97,0.3);box-shadow:var(--shadow-md);}
.hist-date-box{
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-mid) 100%);
  border-radius:var(--radius-sm);padding:10px 14px;text-align:center;
  flex-shrink:0;min-width:52px;
  box-shadow:var(--shadow-sm);
}
.hist-date-day{font-family:'Sora',sans-serif;font-size:20px;font-weight:800;color:var(--white);line-height:1;}
.hist-date-month{font-size:9px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.1em;margin-top:3px;}
.hist-info{flex:1;}
.hist-rest-name{font-size:15px;font-weight:700;color:var(--navy);}
.hist-meta{font-size:12px;color:var(--text-muted);margin-top:4px;}
.hist-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;}

/* ─── DETAIL ADMIN ─── */
.detail-hero{background:var(--navy);padding:28px 32px;}
.detail-back{color:rgba(255,255,255,0.5);font-size:12px;display:inline-flex;align-items:center;gap:4px;margin-bottom:14px;transition:color .2s;}
.detail-back:hover{color:var(--gold);}
.detail-name{font-family:'Sora',sans-serif;font-size:24px;font-weight:800;color:var(--white);letter-spacing:-0.3px;}
.detail-meta{font-size:12px;color:rgba(255,255,255,0.45);margin-top:6px;}
.detail-actions-hero{display:flex;gap:8px;align-items:flex-start;}
.detail-body{padding:28px 32px;display:grid;grid-template-columns:1fr 340px;gap:24px;}
.detail-section-title{
  font-size:11px;font-weight:700;color:var(--text-muted);
  letter-spacing:0.1em;text-transform:uppercase;margin-bottom:14px;
}
.detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;}
.detail-field{
  background:var(--smoke);border-radius:var(--radius-sm);padding:14px 16px;
  border:1px solid var(--border);transition:border-color .2s;
}
.detail-field:hover{border-color:rgba(193,164,97,0.3);}
.detail-field-label{font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:0.07em;text-transform:uppercase;}
.detail-field-val{font-size:14px;font-weight:700;color:var(--navy);margin-top:4px;}
.timeline-item{display:flex;gap:12px;margin-bottom:14px;}
.timeline-dot{width:8px;height:8px;background:var(--gold);border-radius:50%;margin-top:5px;flex-shrink:0;box-shadow:0 0 6px rgba(193,164,97,0.5);}
.timeline-text{font-size:12px;color:var(--text-mid);line-height:1.5;}
.timeline-time{font-size:10px;color:var(--text-muted);margin-top:2px;}

/* ─── QUICK ACTIONS ─── */
.quick-actions .qa-item{
  display:flex;align-items:center;gap:12px;padding:12px 0;
  border-bottom:1px solid var(--border);cursor:pointer;transition:all .2s;
}
.quick-actions .qa-item:last-child{border:none;}
.quick-actions .qa-item:hover{padding-left:6px;}
.qa-icon{
  width:36px;height:36px;background:var(--smoke);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background .2s;border:1px solid var(--border);
}
.qa-item:hover .qa-icon{background:var(--gold-pale);border-color:rgba(193,164,97,0.3);}
.qa-icon svg{width:16px;height:16px;stroke:var(--navy);fill:none;stroke-width:1.5;}
.qa-label{font-size:13px;font-weight:600;color:var(--navy);}
.qa-sub{font-size:11px;color:var(--text-muted);margin-top:1px;}

/* ─── ALERTS ─── */
.alert{
  padding:14px 18px;border-radius:var(--radius-sm);
  font-size:13px;margin-bottom:20px;
  display:flex;align-items:center;gap:10px;font-weight:500;
}
.alert-success{
  background:var(--green-pale);border:1px solid rgba(46,125,50,0.25);
  color:var(--green);border-left:4px solid var(--green);
}
.alert-error{
  background:var(--garnet-pale);border:1px solid rgba(176,58,46,0.25);
  color:var(--garnet);border-left:4px solid var(--garnet);
}

/* ─── EMPTY STATE ─── */
.empty-state{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;padding:72px 32px;text-align:center;
}
.empty-icon{
  width:88px;height:88px;background:linear-gradient(135deg,var(--smoke),var(--white));
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin-bottom:24px;border:2px solid var(--border);
  box-shadow:var(--shadow-sm);
}
.empty-icon svg{width:36px;height:36px;stroke:var(--text-muted);fill:none;stroke-width:1.5;stroke-linecap:round;}
.empty-title{font-family:'Sora',sans-serif;font-size:20px;font-weight:700;color:var(--navy);margin-bottom:10px;}
.empty-sub{font-size:13px;color:var(--text-muted);line-height:1.8;max-width:340px;margin-bottom:28px;}

/* ─── CONFIG ─── */
.config-section{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;margin-bottom:16px;box-shadow:var(--shadow-sm);}
.config-section-header{background:var(--smoke);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);}
.config-section-title{font-size:14px;font-weight:700;color:var(--navy);}
.config-section-body{padding:20px;}
.config-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);}
.config-row:last-child{border:none;}
.config-row-label{font-size:13px;color:var(--text-mid);font-weight:500;}
.config-row-val{font-size:12px;color:var(--text-muted);}

/* ─── FOOTER ─── */
footer{
  background:var(--navy);padding:24px 32px;
  text-align:center;color:rgba(255,255,255,0.3);font-size:12px;
  border-top:1px solid rgba(255,255,255,0.06);
}

/* Animación tarjetas cómo funciona */
.how-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}
.how-card:hover {
  transform: translateY(-8px);
  background: rgba(193,164,97,0.12) !important;
  box-shadow: 0 16px 40px rgba(193,164,97,0.15);
}

/* Hover navbar */
.nav-avatar {
    transition: transform 0.2s, box-shadow 0.3s;
}
.nav-avatar:hover {
    transform: scale(1.1);
    box-shadow: 0 0 0 3px rgba(193,164,97,0.4), 0 0 16px rgba(193,164,97,0.3);
}

.nav-btn-gold {
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.nav-btn-gold:hover {
    background: #d4b978 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(193,164,97,0.35);
}

.nav-btn-ghost {
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.nav-btn-ghost:hover {
    background: rgba(255,255,255,0.1) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,0.5) !important;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 768px) {
    /* Navbar responsivo */
    .navbar { padding: 0 16px !important; height: 60px !important; }
    .nav-links { display: none !important; }
    .nav-actions { display: none !important; }
    .nav-hamburger { display: flex !important; }
    .nav-mobile-menu { display: flex !important; }
    .nav-mobile-menu.open { display: flex !important; }

    /* Hero */
    .hero { padding: 40px 20px !important; }
    .hero h1 { font-size: 28px !important; }
    .search-bar { flex-direction: column !important; }
    .search-field { border-radius: 10px !important; }
    .search-btn { border-radius: 10px !important; width: 100% !important; }
    .hero-stats { gap: 24px !important; }

    /* Secciones */
    .section { padding: 24px 16px !important; }
    .section-header { flex-direction: column !important; gap: 12px !important; align-items: flex-start !important; }

    /* Grid restaurantes - 1 columna en móvil */
    .restaurant-grid { grid-template-columns: 1fr !important; }

    /* Tarjetas */
    .rest-card { width: 100% !important; }

    /* Dashboard grid */
    [style*="grid-template-columns:repeat(auto-fill, minmax(340px"] {
        grid-template-columns: 1fr !important;
    }
    [style*="grid-template-columns:repeat(auto-fill, minmax(380px"] {
        grid-template-columns: 1fr !important;
    }

    /* Show restaurante - columnas a una sola */
    [style*="grid-template-columns:1fr 420px"] {
        grid-template-columns: 1fr !important;
    }

    /* Perfil - grid a una columna */
    [style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    /* Reservaciones hero */
    [style*="justify-content:space-between"] {
        flex-direction: column !important;
        gap: 16px !important;
    }

    /* Padding general */
    [style*="padding:48px 40px"] { padding: 32px 16px !important; }
    [style*="padding:40px 24px"] { padding: 24px 16px !important; }
    [style*="padding:60px 32px"] { padding: 32px 16px !important; }
    [style*="padding:80px 32px"] { padding: 40px 16px !important; }
    [style*="padding:100px 32px"] { padding: 48px 16px !important; }
    [style*="max-width:1300px"] { padding-left: 16px !important; padding-right: 16px !important; }
    [style*="max-width:1200px"] { padding-left: 16px !important; padding-right: 16px !important; }
    [style*="max-width:1100px"] { padding-left: 16px !important; padding-right: 16px !important; }
    [style*="max-width:900px"] { padding-left: 16px !important; padding-right: 16px !important; }

    /* Cómo funciona - 1 columna */
    [style*="grid-template-columns:repeat(3,1fr)"] {
        grid-template-columns: 1fr !important;
    }

    /* Confirmada */
    [style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    /* Footer */
    footer { padding: 16px !important; font-size: 12px !important; }
}

/* Fix específico mobile */
@media (max-width: 768px) {
    /* Navbar separado */
    nav { padding: 0 20px !important; justify-content: space-between !important; }
    
    /* Grid restaurantes forzado a 1 columna */
    div[style*="minmax(380px"], 
    div[style*="minmax(340px"],
    div[style*="minmax(300px"] {
        grid-template-columns: 1fr !important;
        display: grid !important;
    }

    /* Welcome grid restaurantes */
    .restaurant-grid,
    div[style*="auto-fill"] {
        grid-template-columns: 1fr !important;
    }

    /* Imágenes restaurantes full width */
    .rest-card-img {
        height: 200px !important;
        width: 100% !important;
    }

    /* Hero stats en fila */
    .hero-stats {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
}

/* Hamburguesa */
#hamburger-btn { display: none; }
@media (max-width: 768px) {
    #hamburger-btn { display: flex !important; align-items:center; justify-content:center; }
}

@media (max-width: 768px) {
    /* Tarjetas en 1 columna en móvil */
    [style*="grid-template-columns:repeat(4, 1fr)"] {
        grid-template-columns: 1fr !important;
    }
    [style*="grid-template-columns:repeat(3, 1fr)"] {
        grid-template-columns: 1fr !important;
    }
    [style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    /* Navbar */
    nav { position: relative; }
    nav > div:nth-child(2) { display: none !important; }
    /* Hero buscador */
    .search-bar { flex-direction: column !important; gap: 8px !important; }
    .search-field { width: 100% !important; box-sizing: border-box !important; }
    .search-btn { width: 100% !important; }
    /* Sección restaurantes */
    [style*="max-width:1400px"] { padding: 24px 16px !important; }
    [style*="max-width:1300px"] { padding: 24px 16px !important; }
    [style*="max-width:1200px"] { padding: 24px 16px !important; }
    /* Reseñas lado a lado */
    [style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
}

/* ── show restaurante responsive ── */
@media (max-width: 768px) {
    .show-grid {
        grid-template-columns: 1fr !important;
        padding: 16px !important;
        gap: 16px !important;
    }
}

/* Botón crear cuenta gratis */
.btn-crear-cuenta {
    display: inline-block;
    background: #C1A461;
    color: #1A2238;
    padding: 18px 48px;
    border-radius: 14px;
    font-size: 17px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 8px 32px rgba(193,164,97,0.3);
    transition: all 0.25s ease;
    border: 2px solid transparent;
}
.btn-crear-cuenta:hover {
    background: #fff;
    color: #1A2238;
    border-color: #C1A461;
    transform: translateY(-3px);
    box-shadow: 0 12px 40px rgba(255,255,255,0.2);
}

/* Botones reseñas guest */
.btn-resena-login {
    display: inline-block;
    background: #1A2238;
    color: #fff;
    padding: 12px 28px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    border: 2px solid transparent;
    transition: all 0.25s ease;
}
.btn-resena-login:hover {
    background: #C1A461;
    color: #1A2238;
    border-color: #C1A461;
    transform: translateY(-2px);
}

.btn-resena-register {
    display: inline-block;
    background: #C1A461;
    color: #1A2238;
    padding: 12px 28px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    border: 2px solid transparent;
    transition: all 0.25s ease;
}
.btn-resena-register:hover {
    background: #1A2238;
    color: #fff;
    border-color: #1A2238;
    transform: translateY(-2px);
}

/* Botón ver todos */
.btn-ver-todos {
    font-size: 14px;
    font-weight: 700;
    color: #1A2238;
    border: 2px solid #1A2238;
    padding: 12px 24px;
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.25s ease;
}
.btn-ver-todos:hover {
    background: #1A2238;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(26,34,56,0.2);
}

/* Login botones */
.btn-login-submit {
    width: 100%;
    padding: 14px;
    background: #1A2238;
    color: #fff;
    border: 2px solid transparent;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    margin-bottom: 16px;
    transition: all 0.25s ease;
}
.btn-login-submit:hover {
    background: #C1A461;
    color: #1A2238;
    border-color: #C1A461;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(193,164,97,0.3);
}

.btn-google {
    width: 100%;
    padding: 13px;
    background: #fff;
    border: 1.5px solid #DDE1EA;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    color: #1A2238;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    transition: all 0.25s ease;
    box-sizing: border-box;
}
.btn-google:hover {
    background: #1A2238;
    color: #fff;
    border-color: #1A2238;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(26,34,56,0.2);
}

/* Override hover Google */
.btn-google:hover {
    background: #fff !important;
    color: #1A2238 !important;
    border-color: #4285F4 !important;
    box-shadow: 0 6px 20px rgba(66,133,244,0.2) !important;
    transform: translateY(-2px) !important;
}

/* Override hover Google azul fuerte */
.btn-google:hover {
    background: #fff !important;
    color: #1A2238 !important;
    border-color: #1A2238 !important;
    box-shadow: 0 6px 20px rgba(26,34,56,0.2) !important;
    transform: translateY(-2px) !important;
}

/* Botón buscar hero */
.btn-buscar-hero {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #C1A461;
    border: 2px solid transparent;
    border-radius: 10px;
    padding: 12px 20px;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.25s ease;
}
.btn-buscar-hero:hover {
    background: #fff;
    border-color: #1A2238;
    box-shadow: 0 4px 16px rgba(26,34,56,0.15);
    transform: translateY(-1px);
}
.btn-buscar-hero:hover svg {
    stroke: #1A2238;
}
.btn-buscar-hero:hover span {
    color: #1A2238;
}

/* Override hover botón buscar */
.btn-buscar-hero:hover {
    background: #1A2238 !important;
    border-color: #1A2238 !important;
    box-shadow: 0 4px 16px rgba(26,34,56,0.25) !important;
}
.btn-buscar-hero:hover svg {
    stroke: #fff !important;
}
.btn-buscar-hero:hover span {
    color: #fff !important;
}

/* Botón ver y reservar */
.btn-ver-reservar {
    display: block;
    text-align: center;
    background: #1A2238;
    color: #fff;
    padding: 12px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    border: 2px solid transparent;
    transition: all 0.25s ease;
}
.btn-ver-reservar:hover {
    background: #C1A461;
    color: #1A2238;
    border-color: #C1A461;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(193,164,97,0.3);
}

/* Botón Nueva reserva → hover blanco */
.btn-nueva-reserva {
    background: #C1A461;
    color: #1A2238;
    padding: 14px 28px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    white-space: nowrap;
    border: 2px solid transparent;
    transition: all 0.25s ease;
}
.btn-nueva-reserva:hover {
    background: #fff;
    color: #1A2238;
    border-color: #C1A461;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(193,164,97,0.25);
}

/* Botón Explorar restaurantes → hover café */
.btn-explorar-rest {
    background: #1A2238;
    color: #fff;
    padding: 14px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    border: 2px solid transparent;
    transition: all 0.25s ease;
}
.btn-explorar-rest:hover {
    background: #C1A461;
    color: #1A2238;
    border-color: #C1A461;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(193,164,97,0.3);
}

/* Reservaciones responsive */
@media (max-width: 768px) {
    /* Card reservación */
    .reservaciones-lista > div {
        flex-direction: column !important;
    }
    /* Fecha box ancho completo en mobile */
    .reservaciones-lista > div > div:first-child {
        min-width: unset !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        padding: 16px 20px !important;
    }
    /* Info ocupa todo el ancho */
    .reservaciones-lista > div > div:last-child {
        padding: 16px 20px !important;
    }
    /* Hero mis reservaciones */
    div[style*="justify-content:space-between"][style*="align-items:center"] {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }
}

/* Botón enviar reseña */
.btn-enviar-resena {
    background: #1A2238;
    color: #fff;
    border: 2px solid transparent;
    padding: 14px 32px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.25s ease;
}
.btn-enviar-resena:hover {
    background: #C1A461;
    color: #1A2238;
    border-color: #C1A461;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(193,164,97,0.3);
}
