
.volare-v2-search-shell{max-width:1440px;margin:0 auto;padding:42px 24px 80px;color:#24342c}
.volare-v2-search-intro{max-width:920px;margin:0 0 34px}
.volare-v2-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:#b56648}
.volare-v2-search-intro h1,.volare-v2-toolbar h2,.volare-v2-itinerary h2{font-family:Georgia,serif;font-weight:500;line-height:1.05;margin:10px 0 14px}
.volare-v2-search-intro h1{font-size:clamp(40px,6vw,72px)}
.volare-v2-search-intro p{max-width:780px;font-size:18px;line-height:1.6;color:#667069}
.volare-v2-filter{display:grid;grid-template-columns:1.1fr 1.1fr 1.1fr 1fr 1fr auto;border:1px solid #e7dfd4;background:#fff;margin:32px 0 52px}
.volare-v2-filter label{padding:16px 18px;border-right:1px solid #e7dfd4;display:flex;flex-direction:column;gap:8px;min-width:0}
.volare-v2-filter label>span,.volare-v2-sort span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#777;font-weight:700}
.volare-v2-filter select,.volare-v2-filter input,.volare-v2-sort select{border:0;background:transparent;font-size:15px;padding:0;min-height:34px;width:100%;color:#26342e}
.volare-v2-filter button,.volare-v2-button{background:#b66547;color:#fff!important;border:0;text-decoration:none;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:17px 24px;cursor:pointer}
.volare-v2-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.volare-v2-toolbar h2{font-size:clamp(30px,4vw,48px);margin-bottom:0}
.volare-v2-sort-wrap{display:flex;gap:18px;align-items:center}
.volare-v2-clear{color:#a8583c;text-decoration:none;font-weight:600}
.volare-v2-sort{display:flex;gap:10px;align-items:center;border:1px solid #ddd6ca;padding:10px 14px;border-radius:999px;background:#fff}
.volare-v2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.volare-v2-card{border:1px solid #e4ddd3;background:#fff;display:flex;flex-direction:column;min-width:0}
.volare-v2-card-image{display:block;aspect-ratio:16/10;position:relative;overflow:hidden;background:#e9eee9}
.volare-v2-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.volare-v2-card:hover .volare-v2-card-image img{transform:scale(1.025)}
.volare-v2-badge{position:absolute;top:14px;left:14px;background:#f5f1e8;color:#415048;padding:7px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.volare-v2-card-body{padding:18px;display:flex;flex-direction:column;flex:1}
.volare-v2-eyebrow{display:flex;justify-content:space-between;gap:12px;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.volare-v2-card h3{font-family:Georgia,serif;font-size:28px;line-height:1.08;font-weight:500;margin:12px 0}
.volare-v2-card h3 a{color:#26342e;text-decoration:none}
.volare-v2-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 12px}
.volare-v2-meta span{font-size:13px;color:#565f5a}
.volare-v2-meta strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9a6b57;margin-bottom:3px}
.volare-v2-route{font-size:14px;color:#667069;line-height:1.5;margin:8px 0 16px}
.volare-v2-card-footer{border-top:1px solid #e7dfd4;padding-top:15px;margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:16px}
.volare-v2-fare small,.volare-v2-detail-fare small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#888}
.volare-v2-fare strong{display:block;color:#a95b40;font-size:16px}
.volare-v2-fare span{display:block;font-size:11px;color:#888}
.volare-v2-pagination{display:flex;justify-content:center;gap:8px;margin:38px 0 0;flex-wrap:wrap}
.volare-v2-pagination .page-numbers{border:1px solid #ded7cc;padding:9px 13px;text-decoration:none;color:#26342e;background:#fff}
.volare-v2-pagination .current{background:#263f3d;color:#fff}
.volare-v2-empty{padding:60px 30px;text-align:center;border:1px solid #e4ddd3;background:#fff}
.volare-v2-detail{max-width:1200px;margin:36px auto;padding:0 24px 70px}
.volare-v2-detail-summary{display:grid;grid-template-columns:2fr 1fr;gap:34px;margin:28px 0 46px}
.volare-v2-detail-facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e3ddd4}
.volare-v2-detail-facts span{padding:18px;border-right:1px solid #e3ddd4;border-bottom:1px solid #e3ddd4}
.volare-v2-detail-facts small{display:block;text-transform:uppercase;letter-spacing:.1em;color:#8d766a;font-size:10px;margin-bottom:5px}
.volare-v2-detail-facts strong{font-size:15px}
.volare-v2-detail-fare{border:1px solid #e3ddd4;padding:24px;background:#faf8f2;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.volare-v2-detail-fare strong{font-family:Georgia,serif;font-size:30px;color:#26342e}
.volare-v2-detail-fare span{color:#667069;line-height:1.45}
.volare-v2-detail-fare .volare-v2-button{margin-top:10px;width:100%}
.volare-v2-itinerary h2{font-size:46px}
.volare-v2-itinerary ol{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid #e2ddd5}
.volare-v2-itinerary li{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:16px 8px;border-bottom:1px solid #e2ddd5}
.volare-v2-itinerary li span{color:#bd9d83;font-size:13px}
.volare-v2-itinerary li strong{font-size:17px}
.volare-v2-note{margin-top:24px;padding:18px 20px;background:#f5f1e8;color:#5d625e;line-height:1.6}
@media(max-width:1100px){
  .volare-v2-filter{grid-template-columns:repeat(3,1fr)}
  .volare-v2-filter button{min-height:72px}
  .volare-v2-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .volare-v2-search-shell{padding:28px 16px 60px}
  .volare-v2-filter{grid-template-columns:1fr}
  .volare-v2-filter label{border-right:0;border-bottom:1px solid #e7dfd4}
  .volare-v2-toolbar{align-items:flex-start;flex-direction:column}
  .volare-v2-sort-wrap{width:100%;justify-content:space-between}
  .volare-v2-grid{grid-template-columns:1fr}
  .volare-v2-meta{grid-template-columns:1fr 1fr}
  .volare-v2-detail-summary{grid-template-columns:1fr}
  .volare-v2-detail-facts{grid-template-columns:1fr 1fr}
}

/* v2.1 */
.volare-v2-filter{grid-template-columns:1.15fr 1.1fr 1fr 1fr 1.15fr auto}
.volare-v21-cruise-detail .request-cruise,
.volare-v21-cruise-detail .cruise-enquiry,
.volare-v21-cruise-detail .enquiry-panel{position:sticky;top:110px}
@media(max-width:1100px){
  .volare-v2-filter{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .volare-v2-filter{grid-template-columns:1fr}
  .volare-v21-cruise-detail .request-cruise,
  .volare-v21-cruise-detail .cruise-enquiry,
  .volare-v21-cruise-detail .enquiry-panel{position:static}
}


/* v5.1 — single cruise detail polish */
.volare-v51-cruise-detail .volare-v51-hero{position:relative;isolation:isolate}
.volare-v51-cruise-detail .volare-v51-hero-title{
  max-width:min(760px,58vw);text-wrap:balance;line-height:.98;position:relative;z-index:2
}
.volare-v51-cruise-detail .volare-v51-fare-panel{
  position:relative;z-index:4;border-radius:18px;
  box-shadow:0 18px 45px rgba(16,35,31,.18);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.volare-v51-cruise-detail .volare-v51-enquiry-card{
  border-radius:18px;box-shadow:0 18px 50px rgba(27,40,35,.08)
}
.volare-v51-cruise-detail .volare-v51-enquiry-card input,
.volare-v51-cruise-detail .volare-v51-enquiry-card select{min-height:52px}
.volare-v51-cruise-detail .volare-v51-enquiry-card textarea{min-height:130px}
.volare-v51-cruise-detail .volare-v51-enquiry-card button,
.volare-v51-cruise-detail .volare-v51-enquiry-card input[type="submit"]{min-height:54px;font-weight:700}
@media(max-width:1050px){
 .volare-v51-cruise-detail .volare-v51-hero-title{max-width:55vw;font-size:clamp(44px,6vw,72px)}
}
@media(max-width:780px){
 .volare-v51-cruise-detail .volare-v51-hero-title{max-width:100%;font-size:clamp(38px,11vw,62px)}
 .volare-v51-cruise-detail .volare-v51-fare-panel{border-radius:14px}
}

/* v5.2 — restore compact floating hero fare card */
@media(min-width:781px){
  .volare-v51-cruise-detail .volare-v51-hero-title{
    max-width:min(820px,64vw);
  }
  .volare-v51-cruise-detail .volare-v51-fare-panel{
    width:auto!important;
    max-width:440px!important;
    min-width:360px;
    margin-left:auto!important;
    margin-right:0!important;
    display:block!important;
  }
}
@media(min-width:1100px){
  .volare-v51-cruise-detail .volare-v51-fare-panel{
    max-width:420px!important;
  }
}
@media(max-width:780px){
  .volare-v51-cruise-detail .volare-v51-fare-panel{
    width:100%!important;
    max-width:none!important;
    min-width:0;
  }
}

/* v5.3 — compact fare-card typography, no hero layout changes */
@media(min-width:781px){
  .volare-v51-cruise-detail .volare-v51-fare-panel{
    min-width:390px!important;
    max-width:455px!important;
    padding-left:28px!important;
    padding-right:28px!important;
  }
  .volare-v51-cruise-detail .volare-v51-fare-panel strong,
  .volare-v51-cruise-detail .volare-v51-fare-panel h2,
  .volare-v51-cruise-detail .volare-v51-fare-panel h3{
    font-size:clamp(28px,2.45vw,38px)!important;
    line-height:1.02!important;
    letter-spacing:-.02em;
    max-width:100%!important;
  }
}
@media(min-width:1180px){
  .volare-v51-cruise-detail .volare-v51-fare-panel{
    min-width:420px!important;
    max-width:470px!important;
  }
  .volare-v51-cruise-detail .volare-v51-fare-panel strong,
  .volare-v51-cruise-detail .volare-v51-fare-panel h2,
  .volare-v51-cruise-detail .volare-v51-fare-panel h3{
    font-size:36px!important;
  }
}
@media(max-width:780px){
  .volare-v51-cruise-detail .volare-v51-fare-panel strong,
  .volare-v51-cruise-detail .volare-v51-fare-panel h2,
  .volare-v51-cruise-detail .volare-v51-fare-panel h3{
    font-size:30px!important;
    line-height:1.05!important;
  }
}
