
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--gold:#D4A843;--gold2:#F2CC74;--gold3:#A07828;--ink:#0C0B09;--ink2:#1C1A16;--ink3:#2E2B24;--sand:#F7F2E8;--sand2:#EDE6D6;--sand3:#DDD4C0;--stone:#8C8070;--stone2:#B8AD9E;--white:#FFFFFF;--success:#1A5C3A;--success-bg:#E8F5EE;--danger:#8C2A2A}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--sand);color:var(--ink);overflow-x:hidden}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--sand2)}::-webkit-scrollbar-thumb{background:var(--gold3);border-radius:3px}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:0 48px;height:100px;display:flex;align-items:center;justify-content:space-between;background:rgba(12,11,9,0.96);backdrop-filter:blur(24px);border-bottom:1px solid rgba(212,168,67,0.15)}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}



.nav-center{display:flex;align-items:center;gap:28px}
.nav-center a{font-size:12px;font-weight:400;color:rgba(255,255,255,0.6);text-decoration:none;letter-spacing:1.2px;text-transform:uppercase;transition:color 0.25s}
.nav-center a:hover,.nav-center a.active{color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:10px}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.75);padding:7px 18px;border-radius:6px;font-family:'Jost',sans-serif;font-size:12px;cursor:pointer;transition:all 0.25s}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-gold{background:var(--gold);color:var(--ink);padding:8px 20px;border-radius:6px;font-family:'Jost',sans-serif;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all 0.25s}
.btn-gold:hover{background:var(--gold2)}

/* PHONE STRIP */
/* phone-strip moved to top */
.phone-strip span{font-size:11px;color:rgba(255,255,255,0.35);letter-spacing:1px;text-transform:uppercase}
.phone-strip a{color:var(--gold);text-decoration:none;font-size:13px;font-weight:500;display:flex;align-items:center;gap:5px;letter-spacing:0.3px}
.phone-strip a:hover{color:var(--gold2)}

/* PAGE HERO */
.page-hero{margin-top:100px;height:340px;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.page-hero-bg{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?w=1600&q=80');background-size:cover;background-position:center;filter:brightness(0.45)}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,11,9,0.95) 0%,transparent 60%)}
.page-hero-content{position:relative;z-index:2;padding:0 56px 48px;max-width:1200px;margin:0 auto;width:100%}
.page-breadcrumb{font-size:11px;color:rgba(255,255,255,0.4);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.page-breadcrumb a{color:var(--gold);text-decoration:none}
.page-hero h1{font-family:'Libre Baskerville',serif;font-size:clamp(36px,5vw,60px);font-weight:700;color:var(--white);line-height:1.1}
.page-hero h1 em{color:var(--gold);font-style:italic}
.page-hero-sub{font-size:15px;color:rgba(255,255,255,0.55);margin-top:12px;font-weight:300}

/* MAIN */
.main{max-width:1200px;margin:0 auto;padding:48px 56px 100px}

/* SEARCH + FILTER */
.search-filter-bar{background:var(--white);border:1px solid var(--sand3);border-radius:16px;padding:24px 28px;margin-bottom:36px;box-shadow:0 4px 24px rgba(12,11,9,0.06)}
.sfb-row1{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.search-input-wrap{flex:1;position:relative}
.search-input-wrap::before{content:'🔍';position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:15px;opacity:0.5}
.sfb-input{width:100%;padding:11px 14px 11px 42px;border:1.5px solid var(--sand3);border-radius:10px;font-family:'Jost',sans-serif;font-size:14px;color:var(--ink);background:var(--sand);outline:none;transition:border-color 0.2s}
.sfb-input:focus{border-color:var(--gold);background:var(--white)}
.sfb-select{padding:11px 16px;border:1.5px solid var(--sand3);border-radius:10px;font-family:'Jost',sans-serif;font-size:13px;color:var(--ink);background:var(--sand);outline:none;cursor:pointer;transition:border-color 0.2s;min-width:140px}
.sfb-select:focus{border-color:var(--gold)}
.btn-search{background:var(--gold);color:var(--ink);border:none;padding:11px 24px;border-radius:10px;font-family:'Jost',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;white-space:nowrap}
.btn-search:hover{background:var(--gold2)}
.sfb-row2{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sfb-label{font-size:11px;font-weight:600;color:var(--stone);letter-spacing:1px;text-transform:uppercase;margin-right:4px}
.chip{padding:7px 16px;border-radius:20px;border:1.5px solid var(--sand3);background:transparent;font-family:'Jost',sans-serif;font-size:12px;color:var(--stone);cursor:pointer;transition:all 0.2s;font-weight:400}
.chip.on{background:var(--gold);color:var(--ink);border-color:var(--gold);font-weight:500}
.chip:hover:not(.on){border-color:var(--gold);color:var(--gold3)}
.sfb-sep{width:1px;height:24px;background:var(--sand3);margin:0 4px}
.price-range{display:flex;align-items:center;gap:6px}
.pr-input{padding:7px 10px;border:1.5px solid var(--sand3);border-radius:8px;font-family:'Jost',sans-serif;font-size:12px;color:var(--ink);background:var(--sand);outline:none;width:110px}
.pr-input:focus{border-color:var(--gold)}
.pr-dash{font-size:12px;color:var(--stone2)}

/* RESULTS META */
.results-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.results-count{font-size:14px;color:var(--stone);font-weight:300}<br>.results-count strong{color:var(--ink);font-weight:600}
.sort-wrap{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--stone)}
.sort-wrap select{padding:7px 12px;border:1.5px solid var(--sand3);border-radius:8px;font-family:'Jost',sans-serif;font-size:13px;color:var(--ink);background:var(--white);outline:none;cursor:pointer}
.sort-wrap select:focus{border-color:var(--gold)}

/* GRID */
.prop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}

/* CARD */
.prop-card{background:var(--white);border-radius:20px;overflow:hidden;border:1px solid var(--sand3);transition:all 0.4s cubic-bezier(0.16,1,0.3,1);position:relative}
.prop-card:hover{transform:translateY(-8px);box-shadow:0 24px 64px rgba(12,11,9,0.12);border-color:var(--sand3)}
.card-img{position:relative;height:224px;overflow:hidden;background:var(--sand2);display:flex;align-items:center;justify-content:center}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;display:block}
.prop-card:hover .card-img img{transform:scale(1.07)}
.card-no-img{font-size:52px;opacity:0.2}
.card-img-nav{position:absolute;bottom:12px;right:12px;display:flex;gap:6px}
.card-img-nav button{width:30px;height:30px;border-radius:50%;border:none;background:rgba(255,255,255,0.92);color:var(--ink);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;font-weight:600}
.card-img-nav button:hover{background:var(--white)}
.card-img-count{position:absolute;bottom:12px;left:12px;background:rgba(12,11,9,0.7);color:var(--white);font-size:11px;padding:4px 10px;border-radius:16px;font-weight:400}
.card-badge{position:absolute;top:14px;left:14px;font-size:11px;font-weight:600;padding:5px 12px;border-radius:20px;letter-spacing:0.5px;text-transform:uppercase}
.b-avail{background:var(--success-bg);color:var(--success)}
.b-booked{background:rgba(12,11,9,0.75);color:var(--white)}
.card-actions{position:absolute;top:14px;right:14px;display:flex;gap:8px}
.btn-like{width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,0.92);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all 0.2s}
.btn-like:hover{background:var(--white);transform:scale(1.1)}
.btn-del{width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,0.92);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--danger);transition:all 0.2s}
.btn-del:hover{background:#fde8e8}
.card-body{padding:20px 22px 22px}
.card-tag{font-size:11px;color:var(--gold3);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:7px}
.card-title{font-family:'Libre Baskerville',serif;font-size:19px;font-weight:700;color:var(--ink);margin-bottom:5px;line-height:1.3}
.card-loc{font-size:13px;color:var(--stone2);margin-bottom:10px;display:flex;align-items:center;gap:5px}
.card-desc{font-size:13px;color:var(--stone);line-height:1.65;margin-bottom:14px;font-weight:300;max-height:80px;overflow:hidden}
.card-meta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.card-meta span{font-size:12px;color:var(--stone);background:var(--sand);padding:4px 10px;border-radius:8px}
.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--sand2)}
.card-price{font-family:'Libre Baskerville',serif;font-size:22px;font-weight:700;color:var(--gold3)}
.card-price em{font-size:12px;font-weight:400;color:var(--stone2);font-family:'Jost',sans-serif;font-style:normal}
.card-likes{font-size:12px;color:var(--stone2);margin-top:3px}
.btn-book{background:var(--ink);color:var(--white);border:none;padding:10px 20px;border-radius:8px;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all 0.25s;letter-spacing:0.3px}
.btn-book:hover{background:var(--ink3);transform:translateY(-1px)}
.btn-book:disabled{background:var(--sand3);color:var(--stone2);cursor:not-allowed;transform:none}
.btn-view{background:transparent;color:var(--gold3);border:1.5px solid var(--gold3);padding:10px 14px;border-radius:8px;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all 0.25s;text-decoration:none;display:inline-flex;align-items:center;gap:5px;letter-spacing:0.3px}
.btn-view:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:translateY(-1px)}
.card-footer-btns{display:flex;gap:8px;align-items:center}

/* EMPTY / LOADING */
.empty{grid-column:1/-1;text-align:center;padding:80px 20px;color:var(--stone)}
.empty .ei{font-size:56px;margin-bottom:16px;opacity:0.2}
.empty p{font-size:16px;font-weight:300}
.loading{grid-column:1/-1;text-align:center;padding:64px}
.spinner{width:36px;height:36px;border:3px solid var(--sand3);border-top-color:var(--gold);border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 16px}
@keyframes spin{to{transform:rotate(360deg)}}

/* MODALS */
.modal-overlay{display:none;position:fixed;inset:0;z-index:2000;background:rgba(12,11,9,0.85);backdrop-filter:blur(12px);align-items:center;justify-content:center;padding:24px}
.modal-overlay.active{display:flex}
.modal-box{background:var(--sand);border-radius:20px;width:100%;max-width:460px;padding:38px;position:relative;animation:mPop 0.32s cubic-bezier(0.34,1.56,0.64,1);max-height:90vh;overflow-y:auto}
@keyframes mPop{from{opacity:0;transform:scale(0.88)}to{opacity:1;transform:scale(1)}}
.modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:1px solid var(--sand3);background:transparent;font-size:18px;cursor:pointer;color:var(--stone);display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.modal-close:hover{background:var(--sand2)}
.modal-title{font-family:'Libre Baskerville',serif;font-size:24px;font-weight:700;color:var(--ink);margin-bottom:6px}
.modal-sub{font-size:13px;color:var(--stone);margin-bottom:24px;font-weight:300;line-height:1.6}
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:11px;font-weight:600;color:var(--stone);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:6px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:11px 14px;border:1.5px solid var(--sand3);border-radius:10px;font-family:'Jost',sans-serif;font-size:14px;color:var(--ink);background:var(--white);transition:border-color 0.2s;outline:none}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--gold)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn-modal{width:100%;background:var(--gold);color:var(--ink);border:none;padding:13px;border-radius:10px;font-family:'Jost',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.25s;margin-top:8px}
.btn-modal:hover{background:var(--gold2)}
.terms-box{background:var(--white);border:1px solid var(--sand3);border-radius:10px;padding:14px;margin-bottom:14px;font-size:12px;color:var(--stone);line-height:1.7;max-height:120px;overflow-y:auto;font-weight:300}
.terms-check{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;font-size:13px;color:var(--ink)}
.terms-check input[type=checkbox]{margin-top:3px;accent-color:var(--gold);width:15px;height:15px;flex-shrink:0}
.fee-box{background:linear-gradient(135deg,rgba(212,168,67,0.12),rgba(212,168,67,0.05));border:1px solid rgba(212,168,67,0.3);border-radius:10px;padding:14px 16px;margin-bottom:14px}
.fee-box p{font-size:13px;color:var(--ink);line-height:1.65}
.fee-box strong{color:var(--gold3)}
.book-summary{background:var(--white);border:1px solid var(--sand3);border-radius:10px;padding:14px;margin-bottom:16px}
.book-summary p{font-size:12px;color:var(--stone);margin-bottom:3px;font-weight:300}
.book-summary strong{font-size:15px;color:var(--ink);display:block}
.user-badge{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:20px;padding:5px 14px 5px 6px;cursor:pointer}
.user-av{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--gold3),var(--gold));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--white)}
.user-badge span{font-size:13px;color:var(--white)}
.toast{position:fixed;bottom:56px;left:50%;transform:translateX(-50%) translateY(60px);background:var(--ink3);color:var(--white);padding:12px 26px;border-radius:10px;font-size:14px;z-index:9999;transition:transform 0.35s;white-space:nowrap;border:1px solid rgba(212,168,67,0.25);pointer-events:none}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.err{background:var(--danger)}
.auth-tabs{display:flex;margin-bottom:24px;border-bottom:2px solid var(--sand3)}
.auth-tab{flex:1;padding:11px;background:transparent;border:none;font-family:'Jost',sans-serif;font-size:14px;font-weight:500;color:var(--stone);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.2s}
.auth-tab.active{color:var(--gold3);border-bottom-color:var(--gold)}

/* ── MOBILE RESPONSIVE (768px and below) ── */
@media (max-width:900px){.nav{padding:0 20px}.nav-center{display:none}.main{padding:32px 20px 80px}.page-hero-content{padding:0 20px 36px}}
@media (max-width:768px){
  .nav{padding:0 16px;height:70px}
  .nav-center{display:none}
  .nav-right{display:none}
  .page-hero{height:280px;margin-top:70px}
  .page-hero-content{padding:0 16px 32px}
  .page-breadcrumb{font-size:10px}
  .page-hero h1{font-size:clamp(24px,5vw,36px)}
  .page-hero-sub{font-size:13px}
  .main{padding:24px 16px 80px}
  .search-filter-bar{padding:16px;margin-bottom:24px}
  .sfb-row1{flex-wrap:wrap;gap:8px}
  .search-input-wrap{flex:1;min-width:200px}
  .sfb-input{font-size:13px;padding:10px 12px 10px 36px}
  .sfb-select{font-size:12px;padding:10px 12px;min-width:120px}
  .btn-search{padding:10px 18px;font-size:12px}
  .sfb-row2{gap:6px}
  .sfb-label{font-size:10px;margin-right:2px}
  .chip{padding:6px 12px;font-size:11px}
  .price-range{gap:4px}
  .pr-input{width:90px;font-size:11px;padding:6px 8px}
  .results-meta{flex-direction:column;align-items:flex-start;gap:8px}
  .results-count{font-size:12px}
  .sort-wrap{font-size:12px}
  .prop-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
  .card-img{height:180px}
}
@media (max-width:600px){.sfb-row1{flex-wrap:wrap}}

/* ── SMALL TABLET (480px - 768px) ── */
@media (max-width:480px){
  .nav{padding:0 12px;height:60px}
  .page-hero{height:240px;margin-top:60px}
  .page-hero-content{padding:0 12px 24px}
  .page-breadcrumb{font-size:9px}
  .page-hero h1{font-size:clamp(20px,6vw,28px)}
  .page-hero-sub{font-size:12px;margin-top:8px}
  .main{padding:16px 12px 60px}
  .search-filter-bar{padding:12px;margin-bottom:16px;border-radius:12px}
  .sfb-row1{flex-direction:column;gap:8px}
  .search-input-wrap{width:100%}
  .sfb-select{width:100%}
  .btn-search{width:100%}
  .sfb-row2{flex-wrap:wrap;gap:6px}
  .sfb-label{display:none}
  .chip{font-size:10px;padding:5px 10px}
  .price-range{width:100%;flex-wrap:wrap}
  .pr-input{width:80px;font-size:10px}
  .results-count{font-size:11px}
  .sort-wrap{font-size:11px;width:100%}
  .prop-grid{grid-template-columns:1fr;gap:12px}
  .card-img{height:200px}
  .card-img-count{font-size:10px}
}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,0.95);display:none;align-items:center;justify-content:center;flex-direction:column;gap:16px}
.lightbox.open{display:flex}
.lightbox-img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:8px;user-select:none;transition:transform 0.3s ease;cursor:zoom-in}
.lightbox-img.zoomed{transform:scale(2);cursor:zoom-out}
.lightbox-close{position:absolute;top:20px;right:24px;background:transparent;border:1px solid rgba(255,255,255,0.3);color:#fff;width:42px;height:42px;border-radius:50%;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.lightbox-close:hover{background:rgba(255,255,255,0.15);border-color:#fff}
.lightbox-nav{display:flex;align-items:center;gap:20px}
.lightbox-btn{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;width:48px;height:48px;border-radius:50%;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.lightbox-btn:hover{background:rgba(255,255,255,0.25)}
.lightbox-counter{color:rgba(255,255,255,0.6);font-size:14px;min-width:60px;text-align:center}
.lightbox-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:12px;color:rgba(255,255,255,0.35);letter-spacing:1px;white-space:nowrap}

/* BOOKED STATE */
.btn-mark-booked{width:100%;padding:9px;border-radius:8px;border:none;font-family:'Jost',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;margin-top:8px;letter-spacing:0.3px}
.btn-mark-booked.do-book{background:var(--ink);color:var(--white)}
.btn-mark-booked.do-book:hover{background:#2a2418;transform:translateY(-1px)}
.btn-mark-booked.do-unbook{background:var(--success-bg);color:var(--success);border:1px solid rgba(26,92,58,0.25)}
.btn-mark-booked.do-unbook:hover{background:#c8ecd8}
.badge-booked-card{background:rgba(12,11,9,0.78);color:#fff}

/* ── BOOKING CONFIRMATION POPUP ── */
.confirm-overlay{position:fixed;inset:0;z-index:5000;background:rgba(12,11,9,0.88);backdrop-filter:blur(16px);display:none;align-items:center;justify-content:center;padding:20px}
.confirm-overlay.open{display:flex}
.confirm-box{
  background:var(--white);border-radius:24px;width:100%;max-width:480px;
  overflow:hidden;position:relative;
  animation:confirmPop 0.5s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:0 40px 80px rgba(12,11,9,0.4);
}
@keyframes confirmPop{
  from{opacity:0;transform:scale(0.7) translateY(40px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
/* Animated gold top bar */
.confirm-top-bar{height:5px;background:linear-gradient(90deg,var(--gold3),var(--gold),var(--gold2),var(--gold));background-size:200% 100%;animation:shimmer 2s linear infinite}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
/* Header */
.confirm-header{
  background:linear-gradient(160deg,var(--ink) 0%,var(--ink3) 100%);
  padding:40px 36px 32px;text-align:center;position:relative;overflow:hidden;
}
.confirm-header::before{
  content:'';position:absolute;top:-60px;right:-60px;
  width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(212,168,67,0.18) 0%,transparent 70%);
}
.confirm-header::after{
  content:'';position:absolute;bottom:-40px;left:-40px;
  width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(212,168,67,0.1) 0%,transparent 70%);
}
/* Animated tick circle */
.confirm-tick-wrap{position:relative;z-index:2;margin-bottom:20px}
.confirm-tick-ring{
  width:80px;height:80px;border-radius:50%;
  background:linear-gradient(135deg,rgba(212,168,67,0.2),rgba(212,168,67,0.05));
  border:2px solid rgba(212,168,67,0.5);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto;position:relative;
  animation:ringPulse 2s ease infinite;
}
@keyframes ringPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(212,168,67,0.3)}
  50%{box-shadow:0 0 0 16px rgba(212,168,67,0)}
}
.confirm-tick-ring::before{
  content:'';position:absolute;inset:-6px;border-radius:50%;
  border:1px solid rgba(212,168,67,0.2);animation:ringPulse 2s 0.5s ease infinite;
}
.confirm-tick-icon{font-size:32px;animation:tickBounce 0.6s 0.3s cubic-bezier(0.34,1.56,0.64,1) both}
@keyframes tickBounce{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
.confirm-header h2{
  font-family:'Libre Baskerville',serif;font-size:26px;font-weight:700;
  color:var(--white);margin-bottom:8px;position:relative;z-index:2;
  animation:fadeUp 0.6s 0.4s both;
}
.confirm-header p{
  font-size:14px;color:rgba(255,255,255,0.55);font-weight:300;
  line-height:1.6;position:relative;z-index:2;max-width:320px;margin:0 auto;
  animation:fadeUp 0.6s 0.5s both;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* Body */
.confirm-body{padding:28px 32px 32px;background:var(--sand)}
.confirm-ref{
  background:linear-gradient(135deg,rgba(212,168,67,0.12),rgba(212,168,67,0.04));
  border:1px solid rgba(212,168,67,0.3);border-radius:12px;
  padding:14px 18px;margin-bottom:20px;
  display:flex;align-items:center;justify-content:space-between;
  animation:fadeUp 0.6s 0.6s both;
}
.confirm-ref-label{font-size:11px;font-weight:600;color:var(--stone);text-transform:uppercase;letter-spacing:1px}
.confirm-ref-num{font-family:'Libre Baskerville',serif;font-size:16px;font-weight:700;color:var(--gold3);letter-spacing:1px}
.confirm-details{
  background:var(--white);border-radius:12px;border:1px solid var(--sand3);
  overflow:hidden;margin-bottom:18px;
  animation:fadeUp 0.6s 0.7s both;
}
.confirm-detail-row{
  display:flex;align-items:center;gap:14px;padding:13px 18px;
  border-bottom:1px solid var(--sand2);
}
.confirm-detail-row:last-child{border-bottom:none}
.confirm-detail-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}
.confirm-detail-label{font-size:11px;font-weight:600;color:var(--stone2);text-transform:uppercase;letter-spacing:0.5px;min-width:72px}
.confirm-detail-value{font-size:13px;color:var(--ink);font-weight:500;flex:1;text-align:right}
.confirm-fee-note{
  background:var(--white);border:1px solid var(--sand3);border-radius:12px;
  padding:14px 16px;margin-bottom:20px;
  display:flex;gap:12px;align-items:flex-start;
  animation:fadeUp 0.6s 0.8s both;
}
.confirm-fee-icon{font-size:20px;flex-shrink:0;margin-top:1px}
.confirm-fee-text p{font-size:13px;color:var(--stone);line-height:1.6;font-weight:300}
.confirm-fee-text strong{color:var(--ink);font-weight:600}
.confirm-cta{animation:fadeUp 0.6s 0.9s both}
.btn-confirm-ok{
  width:100%;background:linear-gradient(135deg,var(--ink),var(--ink3));
  color:var(--white);border:none;padding:15px;border-radius:12px;
  font-family:'Jost',sans-serif;font-size:15px;font-weight:600;
  cursor:pointer;transition:all 0.3s;letter-spacing:0.5px;
  position:relative;overflow:hidden;
}
.btn-confirm-ok::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--gold3),var(--gold));
  opacity:0;transition:opacity 0.3s;
}
.btn-confirm-ok:hover::after{opacity:1}
.btn-confirm-ok span{position:relative;z-index:1}
.btn-confirm-ok:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(12,11,9,0.3)}
.confirm-support{text-align:center;margin-top:14px;font-size:12px;color:var(--stone);animation:fadeUp 0.6s 1s both}
.confirm-support a{color:var(--gold3);text-decoration:none;font-weight:500}
.confirm-support a:hover{text-decoration:underline}
/* Confetti particles */
.confetti-wrap{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.confetti-dot{position:absolute;width:8px;height:8px;border-radius:2px;animation:confettiFall linear forwards}
@keyframes confettiFall{
  0%{transform:translateY(-20px) rotate(0deg);opacity:1}
  100%{transform:translateY(120px) rotate(360deg);opacity:0}
}
.phone-strip{
  width:100%;background:#0C0B09;
  border-bottom:1px solid rgba(212,168,67,0.2);
  padding:9px 48px;
  display:flex;align-items:center;justify-content:center;
  gap:36px;flex-wrap:wrap;
}
.phone-strip span{font-size:11px;color:rgba(255,255,255,0.4);letter-spacing:1px;text-transform:uppercase}
.phone-strip a{color:var(--gold);text-decoration:none;font-size:13px;font-weight:500;
  display:flex;align-items:center;gap:5px;transition:color 0.2s;letter-spacing:0.3px}
.phone-strip a:hover{color:var(--gold2)}




/* PRESTAN SPACES LOGO */
.nav-logo-img{width:90px;height:90px;object-fit:contain;border-radius:12px;background:#fff;padding:5px;flex-shrink:0;box-shadow:0 2px 12px rgba(0,0,0,0.3)}
.nav-logo-text{display:flex;flex-direction:column;gap:3px}
.nav-brand{font-family:'Libre Baskerville',serif;font-size:22px;font-weight:700;color:var(--white);letter-spacing:0.3px;line-height:1.1}
.nav-brand span{color:var(--gold)}
.nav-tagline{font-size:10px;font-weight:500;color:rgba(255,255,255,0.5);letter-spacing:2.5px;text-transform:uppercase;line-height:1}

