:root{
  --pink:#E0357D;
  --pink-dark:#A61C58;
  --pink-deep:#7A1245;
  --pink-light:#FCE4EC;
  --pink-tint:#FFF3F7;
  --gold:#E8A33D;
  --gold-light:#F4C766;
  --teal:#1F4B3F;
  --ivory:#FFF8F3;
  --ink:#2B1810;
  --paper:#FFFFFF;
  --line:#F0D9E4;
  --radius:14px;
  --shadow:0 14px 32px -16px rgba(166,28,88,.35);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:'Poppins',sans-serif;
  font-weight:400;
  line-height:1.55;
}
h1,h2,h3,.display{
  font-family:'Yatra One',cursive;
  font-weight:400;
  letter-spacing:.3px;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px;}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
button{font-family:'Poppins',sans-serif;}

/* ---------- Toranam divider (signature motif) ---------- */
.toranam{
  display:flex;justify-content:center;gap:6px;padding:14px 0;overflow:hidden;user-select:none;
}
.toranam span{
  width:18px;height:24px;flex:0 0 auto;
  clip-path:polygon(50% 0%, 100% 32%, 82% 100%, 18% 100%, 0% 32%);
}
.toranam span:nth-child(3n){background:var(--gold);}
.toranam span:nth-child(3n+1){background:var(--teal);}
.toranam span:nth-child(3n+2){background:var(--pink);}
.toranam.on-dark span:nth-child(3n){background:var(--gold-light);}

/* ---------- Header ---------- */
header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;}
.nav-left{display:flex;align-items:center;gap:22px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{
  width:38px;height:38px;border-radius:50%;
  background:conic-gradient(from 180deg, var(--pink-deep), var(--gold), var(--teal), var(--pink-deep));
  display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Yatra One',cursive;font-size:18px;flex:0 0 auto;
}
.logo-text h1{margin:0;font-size:1.35rem;color:var(--pink-dark);}
.logo-text span{display:block;font-size:.72rem;color:var(--teal);letter-spacing:.5px;}
nav ul{list-style:none;display:flex;align-items:center;gap:24px;margin:0;padding:0;}
nav a{text-decoration:none;font-weight:500;font-size:.94rem;color:var(--ink);opacity:.85;}
nav a:hover{opacity:1;color:var(--pink-dark);}
.admin-btn{
  display:none;
  background:var(--pink);color:#fff;border:none;padding:9px 18px;border-radius:99px;
  font-weight:600;font-size:.86rem;cursor:pointer;transition:background .15s ease;
}
.admin-btn.show{display:inline-block;}
.admin-btn.is-logged{background:var(--teal);}
.site-switch{display:flex;align-items:center;gap:10px;}
.switch-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;
  background:var(--teal);color:#fff;border:1.5px solid var(--teal);
  padding:16px 90px;min-width:360px;border-radius:8px;
  font-weight:700;font-size:1.5rem;cursor:pointer;text-decoration:none;
  transition:background .15s ease, color .15s ease, transform .15s ease;
}
.switch-btn:hover{background:#163a30;border-color:#163a30;transform:translateY(-1px);}
.switch-btn.active{background:var(--pink-dark);border-color:var(--pink-dark);color:#fff;cursor:default;pointer-events:none;}
.switch-btn .arr{font-weight:800;}

/* Blinking + shining highlight for the CTA that isn't the current page */
.switch-btn.shine-btn{
  position:relative;overflow:hidden;
  animation:btnBlink 1.7s ease-in-out infinite;
}
@keyframes btnBlink{
  0%,100%{box-shadow:0 0 0 0 rgba(31,75,63,.55);}
  50%{box-shadow:0 0 16px 5px rgba(31,75,63,.75);}
}
.switch-btn.shine-btn::after{
  content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.75) 50%, rgba(255,255,255,0) 100%);
  transform:skewX(-20deg);
  animation:btnShine 2.6s ease-in-out infinite;
}
@keyframes btnShine{
  0%{left:-60%;}
  35%{left:130%;}
  100%{left:130%;}
}
@media (prefers-reduced-motion: reduce){
  .switch-btn.shine-btn{animation:none;}
  .switch-btn.shine-btn::after{animation:none;display:none;}
}
.admin-link{
  display:inline-flex;align-items:center;white-space:nowrap;
  background:transparent;border:1.5px solid var(--pink-dark);color:var(--pink-dark);
  padding:9px 18px;border-radius:99px;font-weight:600;font-size:.86rem;cursor:pointer;text-decoration:none;
  transition:background .15s ease, color .15s ease;
}
.admin-link:hover{background:var(--pink-dark);color:#fff;}
.nav-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--pink-dark);cursor:pointer;}

/* ---------- Hero (split layout, image on right, like reference) ---------- */
.hero{background:linear-gradient(120deg, var(--pink-deep) 0%, var(--pink) 46%, var(--pink) 46%);position:relative;overflow:hidden;}
.hero-split{
  width:100%;
  display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;min-height:420px;
}
.hero-copy{
  position:relative;z-index:1;color:#FFF3F7;padding:56px clamp(24px, 6vw, 96px) 48px;
  display:flex;flex-direction:column;justify-content:center;
}
.hero-copy::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle, rgba(255,255,255,.12) 1.5px, transparent 1.5px);
  background-size:24px 24px;pointer-events:none;
}
.eyebrow{font-family:'Poppins',sans-serif;font-weight:500;color:var(--gold-light);letter-spacing:1px;font-size:.95rem;margin-bottom:10px;}
.hero h2{font-size:clamp(1.3rem, 2.3vw, 1.75rem);margin:0 0 14px;line-height:1.22;}
.hero h2 em{font-style:normal;color:var(--gold-light);}
.hero p.lede{max-width:620px;margin:0 0 28px;color:#FBE3EC;font-size:1rem;line-height:1.6;}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.chip-row span{
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;
  padding:7px 16px;border-radius:99px;font-size:.84rem;font-weight:600;
}

.finder{
  background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:16px;
  max-width:680px;box-shadow:var(--shadow);display:grid;gap:10px;
}
.finder-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.field label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.6px;color:var(--teal);margin-bottom:5px;font-weight:600;}
.field input, .field select{
  width:100%;padding:10px 12px;border-radius:9px;border:1.5px solid var(--line);background:#fff;
  font-family:'Poppins',sans-serif;font-size:.9rem;color:var(--ink);
}
.field input:focus, .field select:focus{border-color:var(--gold);}
.finder button{
  background:var(--pink-dark);color:#fff;border:none;padding:12px 22px;border-radius:9px;font-weight:600;cursor:pointer;
  font-size:.92rem;transition:background .15s ease, transform .15s ease;
}
.finder button:hover{background:var(--pink-deep);transform:translateY(-1px);}
.finder button#clearBtn{background:#fff;color:var(--pink-dark);border:1.5px solid var(--line);}
.finder button#clearBtn:hover{border-color:var(--pink);background:var(--pink-tint);}

.hero-photo{
  position:relative;
  background-size:cover;background-position:center;
}
.hero-photo .hero-slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:0;transition:opacity 1s ease;
}
.hero-photo .hero-slide.active{opacity:1;}
.hero-photo::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg, var(--pink) 0%, rgba(224,53,125,0) 18%);
}

/* ---------- Section headings ---------- */
.section{padding:56px 24px;}
.section-head{max-width:640px;margin:0 auto 34px;text-align:center;}
.section-head .kicker{font-family:'Poppins',sans-serif;font-weight:600;color:var(--pink-dark);font-size:.85rem;letter-spacing:.5px;margin-bottom:6px;}
.section-head h3{font-size:1.9rem;color:var(--ink);margin:0 0 10px;}
.section-head p{color:#6b5847;margin:0;font-size:.96rem;}

.result-count{max-width:1160px;margin:0 auto 18px;padding:0 24px;font-size:.88rem;color:#6b5847;}
.result-count strong{color:var(--pink-dark);}

/* ---------- Cards ---------- */
.grid{max-width:1160px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fill, minmax(300px,1fr));gap:26px;}
.card{
  background:var(--paper);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  box-shadow:0 8px 20px -14px rgba(43,24,16,.25);display:flex;flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.card-photo{height:130px;position:relative;display:flex;align-items:flex-end;padding:14px 16px;background-size:cover;background-position:center;overflow:hidden;}
.card-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.card-photo.has-photo::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.45));
}
.card-photo .tag{ position:relative; z-index:1;
  background:rgba(255,255,255,.92);color:var(--pink-dark);font-size:.72rem;font-weight:700;
  letter-spacing:.4px;padding:4px 10px;border-radius:99px;text-transform:uppercase;
}
.card-photo .initial{position:absolute;top:12px;right:14px;font-family:'Yatra One',cursive;color:rgba(255,255,255,.85);font-size:2.1rem;z-index:1;}
.card-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.card-body h4{margin:0;font-family:'Yatra One',cursive;font-size:1.3rem;color:var(--pink-dark);}
.card-body .area{font-size:.85rem;color:#7a6b5a;margin-top:-6px;}
.card-body .area::before{content:"📍 ";}
.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
.meta-row span{font-size:.74rem;background:var(--pink-tint);color:var(--teal);padding:4px 9px;border-radius:99px;font-weight:600;}
.card-foot{margin-top:auto;display:flex;gap:8px;padding-top:6px;}
.btn{flex:1;text-align:center;padding:9px 10px;border-radius:9px;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;border:1.5px solid transparent;}
.btn-primary{background:var(--pink-dark);color:#fff;}
.btn-primary:hover{background:var(--pink-deep);}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--gold);color:var(--pink-dark);}

.card.add-yours{
  align-items:center;justify-content:center;text-align:center;border:2px dashed var(--line);
  background:transparent;box-shadow:none;padding:30px 20px;
}
.card.add-yours .plus{
  width:44px;height:44px;border-radius:50%;background:var(--pink-light);display:flex;align-items:center;
  justify-content:center;font-size:1.5rem;color:var(--pink-dark);margin:0 auto 12px;
}
.card.add-yours h4{font-family:'Poppins',sans-serif;font-weight:600;font-size:1rem;margin:0 0 6px;color:var(--ink);}
.card.add-yours p{font-size:.85rem;color:#7a6b5a;margin:0;}

.empty-state{max-width:1160px;margin:0 auto;padding:40px 24px;text-align:center;color:#7a6b5a;display:none;}

/* ---------- Modal (shared shell for view / login) ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(43,24,16,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:100;}
.modal-overlay.open{display:flex;}
.modal{background:var(--paper);border-radius:18px;max-width:520px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 30px 60px -20px rgba(0,0,0,.4);}
.modal-photo{width:100%;height:180px;object-fit:cover;display:block;}
.modal-gallery{position:relative;background:var(--ink);}
.modal-gallery-stage{position:relative;}
.modal-gallery-stage .modal-photo{height:300px;}
.gal-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:34px;height:34px;border-radius:50%;border:none;background:rgba(43,24,16,.55);
  color:#fff;font-size:1.2rem;cursor:pointer;line-height:1;
}
.gal-nav:hover{background:var(--pink-dark);}
.gal-prev{left:10px;}
.gal-next{right:10px;}
.gal-thumbs{display:flex;gap:8px;padding:10px;flex-wrap:wrap;background:var(--paper);}
.gal-thumb{width:64px;height:44px;padding:0;border:2px solid transparent;border-radius:7px;overflow:hidden;cursor:pointer;background:transparent;}
.gal-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.gal-thumb:hover{border-color:var(--pink);}
.gal-thumb.active{border-color:var(--gold);}

.img-thumb-wrap{position:relative;}
.img-thumb{width:96px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block;}
.img-thumb-del{
  position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;border:none;
  background:var(--pink-dark);color:#fff;font-size:.7rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.img-thumb-del:hover{background:var(--pink-deep);}
.modal-head{padding:22px 24px 16px;position:relative;color:#fff;background:linear-gradient(135deg, var(--pink-deep), var(--pink-dark));}
.modal-head h3{margin:0;font-size:1.6rem;}
.modal-head .area{color:var(--gold-light);font-size:.88rem;margin-top:4px;}
.modal-close{position:absolute;top:14px;right:16px;background:rgba(255,255,255,.15);border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1.1rem;cursor:pointer;}
.modal-close:hover{background:rgba(255,255,255,.3);}
.modal-body{padding:20px 24px 26px;}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;}
.detail-item{background:var(--pink-tint);border-radius:10px;padding:10px 12px;}
.detail-item .k{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--teal);font-weight:700;}
.detail-item .v{font-size:.92rem;margin-top:2px;font-weight:500;}
.modal-body .note{font-size:.82rem;color:#8a7a68;background:var(--pink-tint);border-left:3px solid var(--gold);padding:10px 12px;border-radius:6px;margin-bottom:18px;}
.modal-actions{display:flex;gap:10px;}

.login-field{margin-bottom:14px;}
.login-field label{display:block;font-size:.78rem;font-weight:600;color:var(--teal);margin-bottom:6px;}
.login-field input{width:100%;padding:11px 13px;border-radius:9px;border:1.5px solid var(--line);font-size:.94rem;font-family:'Poppins',sans-serif;}
.login-field input:focus{border-color:var(--gold);}
.login-error{color:#B0234C;font-size:.82rem;margin:-4px 0 14px;display:none;}
.login-hint{font-size:.76rem;color:#9a8a78;margin-top:14px;}

/* ---------- Admin panel ---------- */
.admin-section{background:var(--pink-tint);border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);display:none;}
.admin-section.open{display:block;}
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;max-width:1160px;margin:0 auto;padding:26px 24px 0;}
.admin-tab{
  background:var(--paper);border:1.5px solid var(--line);color:var(--ink);padding:10px 22px;border-radius:99px;
  font-weight:600;font-size:.9rem;cursor:pointer;transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.admin-tab:hover{border-color:var(--pink);color:var(--pink-dark);}
.admin-tab.active{background:var(--pink-dark);border-color:var(--pink-dark);color:#fff;}
.admin-tab.active:hover{color:#fff;}
.admin-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;max-width:1160px;margin:0 auto;padding:18px 24px 44px;}
.admin-card{background:var(--paper);border-radius:var(--radius);padding:22px;border:1px solid var(--line);box-shadow:0 8px 20px -14px rgba(43,24,16,.2);}
.admin-card h4{margin:0 0 4px;font-family:'Yatra One',cursive;color:var(--pink-dark);font-size:1.25rem;}
.admin-card .sub{font-size:.82rem;color:#8a7a68;margin-bottom:16px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid .full{grid-column:1 / -1;}
.form-grid label{display:block;font-size:.72rem;font-weight:600;color:var(--teal);margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px;}
.form-grid input, .form-grid select{
  width:100%;padding:9px 11px;border-radius:8px;border:1.5px solid var(--line);font-size:.88rem;font-family:'Poppins',sans-serif;
}
.form-grid input:focus, .form-grid select:focus{border-color:var(--gold);}
.admin-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
.db-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);}
.db-status{margin-top:16px;}

.admin-table-wrap{max-height:340px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;}
table.admin-table{width:100%;border-collapse:collapse;font-size:.82rem;}
table.admin-table th{
  position:sticky;top:0;background:var(--pink-light);color:var(--pink-deep);text-align:left;
  padding:9px 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.3px;
}
table.admin-table td{padding:9px 10px;border-top:1px solid var(--line);}
table.admin-table tr:hover td{background:var(--pink-tint);}
.row-del{background:none;border:none;color:#B0234C;cursor:pointer;font-size:.8rem;font-weight:600;}
.row-del:hover{text-decoration:underline;}

footer{background:var(--pink-deep);color:#F3D6E3;text-align:center;padding:26px 24px;font-size:.82rem;}
footer a{color:var(--gold-light);text-decoration:none;}
footer code{background:rgba(255,255,255,.12);padding:2px 6px;border-radius:4px;}

/* ---------- Back to search (shown after a search scrolls to a result) ---------- */
.back-to-search{
  position:fixed;right:22px;bottom:22px;z-index:90;
  background:var(--pink-dark);color:#fff;border:none;
  padding:11px 18px;border-radius:99px;font-weight:600;font-size:.88rem;cursor:pointer;
  box-shadow:0 10px 24px -10px rgba(166,28,88,.6);
  display:none;align-items:center;gap:6px;
  transition:background .15s ease, transform .15s ease;
}
.back-to-search.show{display:flex;}
.back-to-search:hover{background:var(--pink-deep);transform:translateY(-2px);}

@keyframes flashCard{
  0%{box-shadow:0 0 0 0 rgba(232,163,61,.85);}
  70%{box-shadow:0 0 0 14px rgba(232,163,61,0);}
  100%{box-shadow:0 0 0 0 rgba(232,163,61,0);}
}
.card.flash{animation:flashCard 1.3s ease-out 1;}

@media (max-width:900px){
  .hero-split{grid-template-columns:1fr;}
  .hero-photo{min-height:260px;}
  .finder-row{grid-template-columns:1fr;}
  .admin-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
}
@media (max-width:820px){
  nav{position:fixed;top:70px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:10px 24px;display:none;}
  nav.open{display:block;}
  nav ul{flex-direction:column;align-items:stretch;gap:0;}
  nav ul li{border-top:1px solid var(--line);}
  nav ul li a{display:block;padding:12px 0;}
  .nav-toggle{display:block;}
  .detail-grid{grid-template-columns:1fr;}
  .nav-left{gap:10px;}
  .site-switch{gap:6px;}
  .switch-btn{padding:9px 14px;font-size:1.15rem;min-width:0;}
}
@media (max-width:480px){
  .logo-text h1{font-size:1.1rem;}
  .nav-left{gap:6px;}
  .switch-btn{padding:7px 10px;font-size:1rem;min-width:0;}
}
@media (max-width:400px){
  .nav-left{flex-wrap:wrap;row-gap:8px;}
}
