/* Whale Car Travel — luxury framed cards (v1.5.0, no glow/blur) */

.wct-fleet{
  --wct-gold:#c9aa72;
  --wct-text:#fff;
  --wct-muted:#9b9ba3;
  --wct-card-bg:#15161a;
  --wct-stage-bg:#101115;
  --wct-frame-color:#c9aa72;
  --wct-frame-width:1px;
  --wct-frame-radius:4px;
  --wct-card-pad:14px;
  --wct-line:rgba(201,170,114,.28);
  --wct-anim-duration:900ms;
  --wct-anim-stagger:120ms;
  --wct-image-height:270px;
  --wct-image-scale:1;
  --wct-mobile-image-height:240px;
  --wct-mobile-image-scale:.9;
  --wct-columns:3;
  --wct-font:inherit;
  box-sizing:border-box;
  max-width:1320px;
  margin:0 auto;
  padding:70px 24px;
  color:var(--wct-text);
  font-family:var(--wct-font);
  text-align:center;
  background:transparent!important;
}
.wct-fleet *{box-sizing:border-box}

/* ---------- Section heading ---------- */
.wct-fleet-heading{text-align:center;margin-bottom:44px}
.wct-kicker{font-size:11px;letter-spacing:.2em;color:var(--wct-gold);font-weight:700}
.wct-fleet-heading h2{font-size:clamp(30px,4vw,54px);font-weight:500;margin:12px 0}
.wct-rule{display:block;width:50px;height:1px;background:var(--wct-gold);margin:auto}

/* ---------- Grid ---------- */
.wct-cars-grid{display:grid;grid-template-columns:repeat(var(--wct-columns),minmax(0,1fr));gap:32px}

/* ---------- Card frame ---------- */
.wct-car-card{position:relative;z-index:0;min-width:0;display:flex}
.wct-car-frame{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  padding:var(--wct-card-pad);
  background:var(--wct-card-bg);
  border:var(--wct-frame-width) solid var(--wct-frame-color);
  border-radius:var(--wct-frame-radius);
  box-shadow:0 18px 40px rgba(0,0,0,.35);
  transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease;
}
.wct-car-card:hover .wct-car-frame{
  transform:translateY(-6px);
  box-shadow:0 26px 55px rgba(0,0,0,.5);
  border-color:var(--wct-gold);
}

/* Corner ornaments */
.wct-corner{position:absolute;width:16px;height:16px;pointer-events:none;opacity:.85}
.wct-corner-tl{top:5px;left:5px;border-top:1px solid var(--wct-gold);border-left:1px solid var(--wct-gold)}
.wct-corner-tr{top:5px;right:5px;border-top:1px solid var(--wct-gold);border-right:1px solid var(--wct-gold)}
.wct-corner-bl{bottom:5px;left:5px;border-bottom:1px solid var(--wct-gold);border-left:1px solid var(--wct-gold)}
.wct-corner-br{bottom:5px;right:5px;border-bottom:1px solid var(--wct-gold);border-right:1px solid var(--wct-gold)}
.wct-fleet[data-wct-corners="no"] .wct-corner{display:none}

/* ---------- Clickable area ---------- */
.wct-car-open{
  display:flex;flex-direction:column;align-items:stretch;
  flex:1 1 auto;
  width:100%;padding:0;border:0;background:transparent;color:inherit;
  text-align:center;cursor:pointer;font:inherit;
}
.wct-car-open:focus-visible{outline:2px solid var(--wct-gold);outline-offset:3px}

/* ---------- Image stage (no glow, no blur) ---------- */
.wct-car-image{
  position:relative;
  width:100%;
  height:var(--wct-image-height);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:var(--wct-stage-bg);
  border:1px solid var(--wct-line);
  border-radius:calc(var(--wct-frame-radius) - 1px);
}
.wct-car-image img{
  display:block;width:100%;height:100%;object-fit:contain;
  background:transparent!important;
  transform:scale(var(--wct-image-scale));
  transition:transform .5s ease;
}
.wct-car-card:hover .wct-car-image img{transform:scale(calc(var(--wct-image-scale) * 1.05))}
.wct-no-image{color:var(--wct-muted);font-size:13px;letter-spacing:.08em}

/* Price tag on the stage */
.wct-price-tag{
  position:absolute;top:10px;inset-inline-start:10px;
  padding:5px 11px;
  font-size:12px;line-height:1;letter-spacing:.04em;
  color:var(--wct-gold);
  background:rgba(10,10,12,.78);
  border:1px solid var(--wct-line);
  border-radius:2px;
}

/* ---------- Card body ---------- */
.wct-car-info{display:flex;flex-direction:column;align-items:center;flex:1 1 auto;width:100%;padding:18px 6px 16px;text-align:center}
.wct-car-info strong{display:block;font-size:19px;font-weight:500;letter-spacing:.01em;line-height:1.3}
.wct-car-info b{display:block;color:var(--wct-gold);font-size:14px;font-weight:500;letter-spacing:.06em;margin-top:6px}
.wct-car-desc{display:block;color:var(--wct-muted);font-size:13px;line-height:1.7;margin-top:12px;max-width:34ch}
.wct-divider{display:block;width:100%;height:1px;background:var(--wct-line)}

/* ---------- Button ---------- */
.wct-book-btn{
  display:block;width:100%;margin:14px 0 0;padding:13px 20px;
  border:1px solid var(--wct-gold);background:transparent;color:var(--wct-text);
  font:inherit;font-size:14px;letter-spacing:.06em;cursor:pointer;
  border-radius:2px;transition:background .25s ease,color .25s ease;
}
.wct-book-btn:hover,.wct-car-card:hover .wct-book-btn{background:var(--wct-gold);color:#141414}

/* ---------- Modal ---------- */
.wct-modal{display:none;position:fixed;z-index:99999;inset:0;padding:20px;align-items:center;justify-content:center;text-align:initial;--wct-gold:#c9aa72;--wct-line:rgba(201,170,114,.28)}
.wct-modal.is-open{display:flex}
.wct-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82)}
.wct-modal-box{
  position:relative;z-index:1;display:grid;
  grid-template-columns:minmax(230px,.85fr) minmax(340px,1.15fr);
  width:min(920px,100%);max-height:90vh;overflow:auto;
  background:#191a1e;border:1px solid var(--wct-gold);
  box-shadow:0 30px 90px rgba(0,0,0,.6);
}
.wct-modal[dir="rtl"] .wct-modal-box{direction:rtl}
.wct-modal-close{position:absolute;right:15px;top:10px;background:transparent;border:0;color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:2}
.wct-modal[dir="rtl"] .wct-modal-close{right:auto;left:15px}
.wct-modal-image{
  position:relative;min-height:330px;margin:14px;
  background:#101115;border:1px solid var(--wct-line);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.wct-modal-image img{display:block;width:100%;height:100%;min-height:300px;object-fit:contain;background:transparent!important}
.wct-form-wrap{padding:42px 36px}
.wct-form-wrap h3{font-size:30px;margin:8px 0 5px;font-weight:500}
.wct-selected{color:#bbb;margin:0 0 24px}
.wct-selected strong{color:var(--wct-gold)}
.wct-booking-form label{display:block;color:#ddd;font-size:13px;margin-bottom:14px}
.wct-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}
.wct-booking-form input,.wct-booking-form textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #4b4c51;background:#17181a;color:#fff;font:inherit}
.wct-booking-form input:focus,.wct-booking-form textarea:focus{outline:0;border-color:var(--wct-gold)}
.wct-submit{width:100%;margin-top:10px;padding:13px;background:var(--wct-gold);color:#151515;border:1px solid var(--wct-gold);font-weight:700;cursor:pointer}
.wct-submit:disabled{opacity:.6;cursor:wait}
.wct-form-status{min-height:20px;margin-top:12px;font-size:13px}
.wct-form-status.success{color:#a8d8a8}
.wct-form-status.error{color:#eaa0a0}
.wct-empty{padding:30px;text-align:center;color:#f3ede0;opacity:.85}

/* ---------- Entrance animation ---------- */
.wct-fleet .wct-car-card.wct-reveal{
  opacity:0;will-change:opacity,transform;
  animation:wctCardReveal var(--wct-anim-duration) cubic-bezier(.22,.61,.36,1) both;
  animation-delay:var(--wct-delay,0ms);
}
@keyframes wctCardReveal{from{opacity:0;transform:var(--wct-reveal-transform,none)}to{opacity:1;transform:none}}
.wct-fleet[data-wct-anim="fade-up"] .wct-car-card.wct-reveal{--wct-reveal-transform:translate3d(0,42px,0)}
.wct-fleet[data-wct-anim="zoom"] .wct-car-card.wct-reveal{--wct-reveal-transform:scale(.88)}
.wct-fleet[data-wct-anim="slide"] .wct-car-card.wct-reveal{--wct-reveal-transform:translate3d(-56px,0,0)}
.wct-fleet[dir="rtl"][data-wct-anim="slide"] .wct-car-card.wct-reveal{--wct-reveal-transform:translate3d(56px,0,0)}
.wct-fleet[data-wct-anim="drive-in"] .wct-car-card.wct-reveal{--wct-reveal-transform:translate3d(-70px,0,0) scale(.94)}
.wct-fleet[dir="rtl"][data-wct-anim="drive-in"] .wct-car-card.wct-reveal{--wct-reveal-transform:translate3d(70px,0,0) scale(.94)}
@media(prefers-reduced-motion:reduce){
  .wct-fleet .wct-car-card.wct-reveal{opacity:1;transform:none;animation:none}
  .wct-car-frame,.wct-car-image img{transition:none}
}

/* ---------- Responsive ---------- */
@media(max-width:900px){.wct-cars-grid{--wct-columns:2!important}}
@media(max-width:600px){
  .wct-fleet{padding:48px 16px}
  .wct-cars-grid{--wct-columns:1!important;gap:24px}
  .wct-car-image{height:var(--wct-mobile-image-height)}
  .wct-car-image img{transform:scale(var(--wct-mobile-image-scale))}
  .wct-car-card:hover .wct-car-image img{transform:scale(var(--wct-mobile-image-scale))}
  .wct-car-card:hover .wct-car-frame{transform:none}
  .wct-modal-box{grid-template-columns:1fr}
  .wct-modal-image{min-height:210px;max-height:250px}
  .wct-modal-image img{min-height:200px}
  .wct-form-wrap{padding:32px 22px}
  .wct-form-grid{grid-template-columns:1fr}
}
