/* ===== DISTANCE HERO ===== */
.dist-hero{position:relative;padding:130px 0 70px;background:linear-gradient(165deg,#fff 0%,#fff 40%,#FFF8F8 60%,#FFF0F2 100%);overflow:hidden;text-align:center}
.dist-hero::before{content:'';position:absolute;top:-20%;right:-10%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(200,16,46,.06) 0%,transparent 70%);pointer-events:none}
.dist-hero::after{content:'';position:absolute;bottom:-15%;left:-8%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(200,16,46,.04) 0%,transparent 70%);pointer-events:none}
.dist-hero .hero-bg-shapes{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.dist-hero .circle1{position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(200,16,46,.03);top:10%;right:20%;filter:blur(60px)}
.dist-hero .circle2{position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(200,16,46,.025);bottom:15%;left:10%;filter:blur(50px)}
.paw-1{top:5%;left:3%;width:80px;transform:rotate(-25deg)}
.paw-2{top:8%;right:5%;width:70px;transform:rotate(18deg)}
.paw-3{bottom:15%;left:6%;width:75px;transform:rotate(-38deg)}
.paw-4{top:12%;right:22%;width:60px;transform:rotate(30deg)}
.paw-5{bottom:8%;right:3%;width:85px;transform:rotate(-12deg)}
.paw-6{top:32%;left:18%;width:55px;transform:rotate(48deg)}

/* ===== DISTANCE CALCULATOR ===== */
#distance-calc{background:var(--off);position:relative}
#distance-calc::before{content:'';position:absolute;top:0;right:0;width:300px;height:300px;background:radial-gradient(circle,var(--red-glow) 0%,transparent 70%);pointer-events:none}

.calc-card{background:var(--card);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-lg);border:1px solid rgba(0,0,0,.04);max-width:700px;margin:0 auto 40px;position:relative;overflow:hidden}
.calc-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--red),var(--red-d))}
.calc-card h3{font-family:var(--font-display);font-size:1.3rem;font-weight:700;margin-bottom:20px}

/* ===== LOCATION FIELD PAIR ===== */
.location-field{margin-bottom:4px;position:relative;transition:all .2s ease;padding:14px;border-radius:12px;border:2px solid transparent}
.location-field.active{border-color:var(--red);background:rgba(200,16,46,.03)}

.location-label{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--grey);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}
.location-dot{width:12px;height:12px;border-radius:50%;display:inline-block;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.pickup-dot{background:#2563EB}
.dest-dot{background:#C8102E}

.location-input-group{display:flex;gap:8px;position:relative}
.location-input-group input{flex:1;padding:13px 16px;border:1.5px solid #e0e0e0;border-radius:12px;font-size:.9rem;font-family:var(--font-body);transition:all var(--transition);background:var(--off)}
.location-input-group input:focus{outline:0;border-color:var(--red);background:var(--wht);box-shadow:0 0 0 3px var(--red-glow)}

/* Per-field GPS button */
.btn-loc-action{flex-shrink:0;width:44px;height:44px;border-radius:10px;border:1.5px solid #e0e0e0;background:var(--off);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--grey)}
.btn-loc-action:hover{border-color:var(--red);background:rgba(200,16,46,.04);color:var(--red)}

/* Field connector with swap */
.field-connector{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0}
.connector-line{width:2px;height:14px;background:#e0e0e0;border-radius:1px}
.btn-swap{width:32px;height:32px;border-radius:50%;border:1.5px solid #e0e0e0;background:var(--card);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--grey);line-height:1}
.btn-swap:hover{border-color:var(--red);color:var(--red);transform:rotate(180deg)}

/* Map click hint */
.map-click-hint{text-align:center;font-size:.78rem;color:var(--grey-l);margin-top:16px;font-style:italic}

/* Google Places Autocomplete customization */
.pac-container{border-radius:0 0 12px 12px;border:1.5px solid #e0e0e0;border-top:0;box-shadow:0 8px 24px rgba(0,0,0,.1);font-family:var(--font-body);z-index:1100;margin-top:-1px}
.pac-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.04);font-size:.88rem;line-height:1.4}
.pac-item:hover{background:var(--red-l)}
.pac-item-selected{background:var(--red-l)}
.pac-item-query{font-weight:600;color:var(--blk);font-size:.88rem}
.pac-matched{font-weight:700}
.pac-icon{margin-top:2px}

.calc-btn-group{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

/* Results */
.result-card{display:none;background:var(--card);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.04);max-width:700px;margin:0 auto 40px;animation:fadeUp .4s ease}
.result-card.show{display:block}
.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}
.result-item{text-align:center;padding:20px;border-radius:var(--radius);background:var(--red-l);border:1px solid rgba(200,16,46,.08)}
.result-item .value{font-family:var(--font-display);font-size:1.8rem;font-weight:900;color:var(--red);line-height:1;margin-bottom:6px}
.result-item .label{font-size:.75rem;color:var(--grey);text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* ===== ADD-ON SECTION ===== */
.addon-section{margin-bottom:24px;padding:24px;background:var(--off);border-radius:var(--radius);border:1px solid rgba(0,0,0,.06)}
.addon-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:4px}
.addon-subtitle{font-size:.8rem;color:var(--grey-l);margin:0 0 16px}
.addon-grid{display:flex;flex-direction:column;gap:8px}

.addon-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--card);border-radius:10px;border:1.5px solid rgba(0,0,0,.06);cursor:pointer;transition:all .2s ease;position:relative}
.addon-item:hover{border-color:var(--red);background:rgba(200,16,46,.02)}
.addon-item input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0}
.addon-check{width:20px;height:20px;border-radius:6px;border:2px solid #d0d0d0;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:var(--wht)}
.addon-item input[type="checkbox"]:checked ~ .addon-check{background:var(--red);border-color:var(--red)}
.addon-item input[type="checkbox"]:checked ~ .addon-check::after{content:'';display:block;width:6px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);margin-top:-2px}
.addon-info{flex:1;min-width:0}
.addon-name{display:block;font-size:.88rem;font-weight:600;color:var(--blk)}
.addon-desc{display:block;font-size:.72rem;color:var(--grey-l);margin-top:2px}
.addon-note{display:flex;gap:8px;padding:10px 14px;background:rgba(200,16,46,.04);border-left:3px solid var(--red);border-radius:0 8px 8px 0;margin:-2px 0 2px}
.addon-note svg{flex-shrink:0;color:var(--red);margin-top:2px}
.addon-note-text{display:flex;flex-direction:column;gap:3px}
.addon-note-text span{font-size:.72rem;color:var(--grey);line-height:1.5}
.addon-price{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--red);white-space:nowrap;flex-shrink:0}
.addon-price--mult{background:var(--red);color:#fff;padding:3px 8px;border-radius:6px;font-size:.78rem}

/* Number input add-ons */
.addon-item--number{cursor:default}
.addon-number-wrap{display:flex;align-items:center;gap:4px;flex-shrink:0}
.addon-num-btn{width:30px;height:30px;border-radius:8px;border:1.5px solid #e0e0e0;background:var(--wht);cursor:pointer;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;color:var(--grey);transition:all .15s ease;line-height:1}
.addon-num-btn:hover{border-color:var(--red);color:var(--red);background:rgba(200,16,46,.04)}
.addon-item--number input[type="number"]{width:40px;text-align:center;border:1.5px solid #e0e0e0;border-radius:8px;padding:4px 2px;font-size:.9rem;font-weight:700;font-family:var(--font-body);-moz-appearance:textfield;background:var(--wht)}
.addon-item--number input[type="number"]::-webkit-outer-spin-button,
.addon-item--number input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Highlight multiplier add-ons */
.addon-item--highlight{border-style:dashed;border-color:rgba(200,16,46,.2);background:rgba(200,16,46,.02)}

/* Price breakdown */
.price-breakdown{margin-top:16px;padding:16px 20px;background:var(--off);border-radius:var(--radius);border:1px solid rgba(0,0,0,.06);font-size:.85rem}
.price-breakdown .breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;color:var(--grey)}
.price-breakdown .breakdown-row.breakdown-total{border-top:2px solid var(--red);margin-top:8px;padding-top:10px;font-weight:800;font-size:1rem;color:var(--blk);font-family:var(--font-display)}
.price-breakdown .breakdown-row.breakdown-total .breakdown-val{color:var(--red);font-size:1.15rem}
.price-breakdown .breakdown-val{font-weight:600;color:var(--blk)}
.price-breakdown .breakdown-row.breakdown-mult{color:var(--red);font-weight:600;font-style:italic}

/* Cat Taxi estimate */
.taxi-estimate{background:linear-gradient(135deg,var(--red-l),#fff5f5);border-radius:var(--radius);padding:20px 24px;border:1px solid rgba(200,16,46,.12);display:flex;align-items:center;gap:16px}
.taxi-estimate .icon{font-size:2rem;flex-shrink:0}
.taxi-estimate .info h4{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:4px}
.taxi-estimate .info p{font-size:.85rem;color:var(--grey);margin:0}
.taxi-estimate .price-tag{margin-left:auto;font-family:var(--font-display);font-size:1.4rem;font-weight:900;color:var(--red);white-space:nowrap}

/* Map */
.map-wrap{max-width:700px;margin:0 auto;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.04)}
#map{width:100%;height:400px}

/* Loading */
.calc-loading{display:none;text-align:center;padding:20px;color:var(--grey);font-size:.9rem}
.calc-loading.show{display:block}
.spinner{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 12px}

/* Error */
.calc-error{display:none;background:#fdeaed;color:var(--red-d);border:1px solid #f5c6cd;padding:14px 18px;border-radius:12px;font-size:.9rem;font-weight:500;margin-bottom:18px}
.calc-error.show{display:block}

/* ===== FLOATING PAWS DECORATION - CALCULATOR SECTION ===== */
#distance-calc{overflow:hidden}
.calc-paws{position:absolute;inset:0;pointer-events:none;z-index:0}
.calc-paws .cpaw{position:absolute;opacity:.04;color:var(--red)}
.calc-paws .cpaw svg{fill:currentColor;width:100%;height:100%}
.calc-paws .cpaw-1{top:6%;left:2%;width:90px;transform:rotate(-20deg);animation:pawFloat 6s ease-in-out infinite}
.calc-paws .cpaw-2{top:18%;right:3%;width:70px;transform:rotate(25deg);animation:pawFloat 7s ease-in-out 1s infinite}
.calc-paws .cpaw-3{bottom:22%;left:4%;width:65px;transform:rotate(-40deg);animation:pawFloat 5.5s ease-in-out .5s infinite}
.calc-paws .cpaw-4{bottom:8%;right:5%;width:80px;transform:rotate(15deg);animation:pawFloat 6.5s ease-in-out 2s infinite}
.calc-paws .cpaw-5{top:45%;left:1%;width:55px;transform:rotate(35deg);animation:pawFloat 8s ease-in-out 1.5s infinite}
.calc-paws .cpaw-6{top:50%;right:1%;width:60px;transform:rotate(-30deg);animation:pawFloat 7.5s ease-in-out .8s infinite}
.calc-paws .cpaw-7{top:75%;left:8%;width:50px;transform:rotate(50deg);animation:pawFloat 6s ease-in-out 2.5s infinite}
.calc-paws .cpaw-8{top:30%;right:8%;width:45px;transform:rotate(-15deg);animation:pawFloat 5s ease-in-out 3s infinite}

/* ===== WALKING PAW TRAIL ===== */
.paw-walk-trail{display:none}
.paw-walk-trail .walk-paw{position:absolute;width:32px;color:var(--red);opacity:0;animation:pawStamp 4s ease-in-out infinite}
.paw-walk-trail .walk-paw svg{fill:currentColor;width:100%;height:auto}

/* Diagonal walk pattern — left to right */
.paw-walk-trail .wp-1{left:5%;top:60%;transform:rotate(-15deg);animation-delay:0s}
.paw-walk-trail .wp-2{left:16%;top:35%;transform:rotate(20deg);animation-delay:.4s}
.paw-walk-trail .wp-3{left:27%;top:55%;transform:rotate(-10deg);animation-delay:.8s}
.paw-walk-trail .wp-4{left:38%;top:30%;transform:rotate(25deg);animation-delay:1.2s}
.paw-walk-trail .wp-5{left:50%;top:58%;transform:rotate(-18deg);animation-delay:1.6s}
.paw-walk-trail .wp-6{left:62%;top:32%;transform:rotate(15deg);animation-delay:2s}
.paw-walk-trail .wp-7{left:74%;top:52%;transform:rotate(-22deg);animation-delay:2.4s}
.paw-walk-trail .wp-8{left:86%;top:28%;transform:rotate(12deg);animation-delay:2.8s}

/* Reverse walk — right to left */
.paw-walk-trail--reverse .wp-1{left:90%;animation-delay:0s}
.paw-walk-trail--reverse .wp-2{left:78%;animation-delay:.4s}
.paw-walk-trail--reverse .wp-3{left:66%;animation-delay:.8s}
.paw-walk-trail--reverse .wp-4{left:54%;animation-delay:1.2s}
.paw-walk-trail--reverse .wp-5{left:42%;animation-delay:1.6s}
.paw-walk-trail--reverse .wp-6{left:30%;animation-delay:2s}
.paw-walk-trail--reverse .wp-7{left:18%;animation-delay:2.4s}
.paw-walk-trail--reverse .wp-8{left:6%;animation-delay:2.8s}

@keyframes pawStamp{
  0%{opacity:0;transform:scale(.5) translateY(8px)}
  15%{opacity:.12;transform:scale(1) translateY(0)}
  50%{opacity:.10}
  85%{opacity:.04}
  100%{opacity:0;transform:scale(.9) translateY(4px)}
}

/* ===== DYNAMIC PAW CANVAS (JS-spawned) ===== */
.paw-canvas{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.paw-canvas .paw-float{position:absolute;color:var(--red);pointer-events:none;animation:pawDrift linear forwards}
.paw-canvas .paw-float svg{fill:currentColor;width:100%;height:100%}

@keyframes pawDrift{
  0%{opacity:0;transform:translateY(20px) rotate(var(--r,0deg)) scale(.6)}
  15%{opacity:var(--o,.07)}
  80%{opacity:var(--o,.07)}
  100%{opacity:0;transform:translateY(var(--dy,-120px)) translateX(var(--dx,30px)) rotate(calc(var(--r,0deg) + 40deg)) scale(.4)}
}

/* Promo section CTA */
.promo{overflow:hidden;background:linear-gradient(135deg,#1a1a1a 0%,#2d1015 50%,#1a1a1a 100%);padding:64px 0;position:relative}
.promo-inner{max-width:700px;margin:0 auto;text-align:center;position:relative;z-index:1;padding:0 24px}
.promo-inner h2{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;color:#fff;margin-bottom:12px;line-height:1.2}
.promo-inner h2 span{color:var(--red)}
.promo-inner p{font-size:.95rem;color:rgba(255,255,255,.6);line-height:1.7;margin:0 auto 28px;max-width:520px}
.promo-inner .btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:var(--red);color:#fff;border:none;border-radius:12px;font-family:var(--font-display);font-size:.95rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 20px rgba(200,16,46,.35)}
.promo-inner .btn:hover{background:var(--red-d);transform:translateY(-2px);box-shadow:0 6px 28px rgba(200,16,46,.45)}
.promo-paws{position:absolute;inset:0;pointer-events:none}
.promo-paws .ppaw{position:absolute;opacity:.06;color:var(--wht)}
.promo-paws .ppaw svg{fill:currentColor;width:100%;height:100%}
.promo-paws .ppaw-1{top:10%;left:5%;width:80px;transform:rotate(-20deg)}
.promo-paws .ppaw-2{bottom:10%;right:4%;width:70px;transform:rotate(25deg)}
.promo-paws .ppaw-3{top:20%;right:12%;width:50px;transform:rotate(40deg)}
.promo-paws .ppaw-4{bottom:20%;left:10%;width:60px;transform:rotate(-35deg)}

/* Dotted paw path connecting hero to calc */
.paw-path-connector{text-align:center;padding:0;margin:-30px auto 0;position:relative;z-index:1}
.paw-path-connector .connector-dots{display:flex;flex-direction:column;align-items:center;gap:8px}
.paw-path-connector .dot{width:6px;height:6px;border-radius:50%;background:var(--red);opacity:.12}
.paw-path-connector .dot:nth-child(2){opacity:.09;width:5px;height:5px}
.paw-path-connector .dot:nth-child(3){opacity:.06;width:4px;height:4px}

/* Enhanced paw animations */
@keyframes pawFloat{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-12px) rotate(var(--r,0deg))}}
@keyframes pawBounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.05)}}

/* ===== DISTANCE MOBILE ===== */
@media(max-width:960px){
  .paw-1,.paw-2,.paw-5{display:block}
  .calc-paws .cpaw-5,.calc-paws .cpaw-6,.calc-paws .cpaw-7,.calc-paws .cpaw-8{display:none}
  .paw-walk-trail .wp-7,.paw-walk-trail .wp-8{display:none}
}
@media(max-width:768px){
  .dist-hero{padding:90px 0 50px}
  .calc-card{padding:24px}
  .location-input-group{flex-direction:column}
  .location-input-group .btn-loc-action{width:100%;height:38px}
  .calc-btn-group{flex-direction:column;align-items:center}
  .calc-btn-group .btn{width:100%;justify-content:center}
  .field-connector{flex-direction:row}
  .connector-line{width:16px;height:2px}
  .result-grid{grid-template-columns:1fr}
  #map{height:300px}
  .taxi-estimate{flex-direction:column;text-align:center}
  .taxi-estimate .price-tag{margin-left:0}
  .addon-section{padding:16px}
  .addon-item{flex-wrap:wrap;gap:8px;padding:10px 12px}
  .addon-price{margin-left:auto}
  .calc-paws .cpaw{display:none}
  .calc-paws .cpaw-1,.calc-paws .cpaw-2,.calc-paws .cpaw-4{display:block}
  .paw-walk-trail{height:70px}
  .paw-walk-trail .walk-paw{width:24px}
  .paw-walk-trail .wp-5,.paw-walk-trail .wp-6,.paw-walk-trail .wp-7,.paw-walk-trail .wp-8{display:none}
  .promo-paws .ppaw-3,.promo-paws .ppaw-4{display:none}
  .paw-canvas{display:none}
}
@media(max-width:480px){
  .dist-hero{padding:70px 0 30px}
  .calc-card{padding:18px}
  .location-field{padding:10px}
  #map{height:250px}
  .result-item .value{font-size:1.4rem}
  .calc-paws .cpaw{display:none}
  .paw-walk-trail{height:55px}
  .paw-walk-trail .walk-paw{width:20px}
}

/* ===== SCHEDULE PICKUP ===== */
.schedule-pickup-wrap{max-width:480px;margin:0 auto 22px;text-align:left;background:rgba(200,16,46,.03);border:1.5px solid rgba(200,16,46,.12);border-radius:14px;padding:20px 22px}
.schedule-label{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:700;color:var(--blk);margin-bottom:4px}
.schedule-label svg{color:var(--red);flex-shrink:0}
.schedule-hint{font-size:.8rem;color:var(--grey);margin-bottom:14px}
.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.schedule-field--full{grid-column:1/-1}
.schedule-field-label{display:block;font-size:.75rem;font-weight:600;color:var(--grey);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.schedule-input{width:100%;padding:11px 14px;border:1.5px solid #ddd;border-radius:10px;font-size:.9rem;font-family:var(--font-body);background:var(--wht);transition:all .2s ease;color:var(--blk)}
.schedule-input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.1)}
@media(max-width:480px){.schedule-fields{grid-template-columns:1fr}}

/* ===== PAY NOW SECTION ===== */
.pay-now-section{margin-top:28px;text-align:center}
.pay-divider{height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent);margin:0 auto 24px;max-width:200px;opacity:.4}
.pay-notes-wrap{max-width:480px;margin:0 auto 18px;text-align:left}
.pay-notes-label{display:block;font-size:.82rem;font-weight:600;color:var(--grey);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}
.pay-notes-input{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:10px;font-size:.9rem;resize:vertical;font-family:inherit;transition:border-color .2s ease}
.pay-notes-input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.08)}
.pay-action-group{max-width:480px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:14px}
.pay-btn-group{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;width:100%}
.pay-btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 40px;font-size:1.05rem;letter-spacing:.02em;border-radius:50px;font-weight:700;cursor:pointer;transition:all .25s ease;box-shadow:0 6px 24px rgba(200,16,46,.3)}
.pay-btn:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(200,16,46,.4)}
.pay-btn--hotel{background:var(--wht);color:var(--red);border:2px solid var(--red);box-shadow:0 4px 16px rgba(200,16,46,.12)}
.pay-btn--hotel:hover{background:var(--red);color:#fff;box-shadow:0 8px 24px rgba(200,16,46,.3)}
.defer-success{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:16px;padding:20px 24px;background:#f0fdf4;border:1px solid #86efac;border-radius:14px;color:#166534;gap:8px}
.defer-success svg{color:#22c55e;flex-shrink:0}
.defer-success strong{font-size:.95rem}
.defer-success p{font-size:.82rem;color:#166534;opacity:.8;margin:4px 0 0}
.pay-secure-note{margin-top:2px;font-size:.82rem;color:var(--grey);text-align:center;line-height:1.5}
.pay-error{padding:12px 18px;background:#fff0f0;border:1px solid #ffcccc;border-radius:10px;color:#c0392b;font-size:.9rem;font-weight:500;width:100%;text-align:left}

/* ===== AGREE CHARGES CHECKBOX ===== */
.agree-charges{padding:14px 16px;border:1.5px solid #e0c36a;border-radius:12px;background:#fffbe6;width:100%;text-align:left}
.agree-charges-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.82rem;font-weight:600;color:#6b5900;line-height:1.45}
.agree-charges-label input[type="checkbox"]{display:none}
.agree-charges-check{flex-shrink:0;width:20px;height:20px;border:2px solid #c9a825;border-radius:5px;background:#fff;position:relative;margin-top:1px;transition:all .2s ease}
.agree-charges-label input[type="checkbox"]:checked + .agree-charges-check{background:#c8102e;border-color:#c8102e}
.agree-charges-label input[type="checkbox"]:checked + .agree-charges-check::after{content:'';position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.agree-charges-list{margin:8px 0 0 30px;padding:0;list-style:none;font-size:.78rem;color:#7a6200;line-height:1.6}
.agree-charges-list li{position:relative;padding-left:16px}
.agree-charges-list li::before{content:'\2022';position:absolute;left:0;color:#c8102e;font-weight:700}
/* Last-Minute Booking Alert */
.last-minute-alert{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;margin:16px auto 0;max-width:480px;background:#fff8e1;border:1.5px solid #f9a825;border-radius:12px;animation:lastMinuteFadeIn .3s ease;text-align:left}
.last-minute-alert-icon{font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:2px}
.last-minute-alert-body{font-size:.85rem;color:#5d4037;line-height:1.6}
.last-minute-alert-title{display:block;font-size:.92rem;color:#e65100;margin-bottom:6px;font-weight:700}
.last-minute-alert-body p{margin:0}
.last-minute-surcharge-text{color:#c8102e;font-weight:700}
@keyframes lastMinuteFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

.pay-loading{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--grey);font-size:.85rem}
.pay-spinner{width:24px;height:24px;border:3px solid #e0e0e0;border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
