/* V78: Offers index + package detail. Deliberately scoped so the home carousel, 
   service pages, and other CMS modules remain unchanged. */
.sf-offers-main{min-width:0;overflow-x:clip}
.sf-offers-main .inner-hero{height:clamp(445px,55svh,630px);min-height:445px;max-height:630px;isolation:isolate}
.sf-offers-main .inner-hero-content{box-sizing:border-box;bottom:clamp(45px,6vw,74px)!important;z-index:3;max-width:min(710px,calc(100% - 64px))!important;min-width:0}
.sf-offers-main .inner-hero-content h1{font-size:clamp(34px,4.55vw,67px)!important;line-height:1.35!important;margin:13px 0 15px!important;overflow-wrap:break-word;text-wrap:balance}
.sf-offers-main .inner-hero-content p{font-size:clamp(13px,1.12vw,16px)!important;line-height:1.95!important;max-width:690px!important;margin:0!important;text-wrap:pretty}
/* The source .interior-layout defaults to a two-column layout meant for pages with a sidebar. 
   The offers index intentionally has no sidebar: restore the full-width single column. */
.sf-offers-main .sf-offers-page-wide{display:block!important;grid-template-columns:none!important;box-sizing:border-box;width:min(1180px,calc(100% - 64px))!important;max-width:1180px!important;margin-inline:auto!important;padding:clamp(52px,5.5vw,82px) 0 clamp(64px,7vw,108px)!important;min-width:0!important;background:transparent!important}
.sf-offers-main .sf-offers-page-wide>.sf-offers-body{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.sf-offers-main .sf-offers-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(17px,2.3vw,28px)!important;align-items:stretch!important;justify-content:stretch!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.sf-offers-main .sf-offers-grid>.sf-offer-card{display:block!important;position:relative!important;inset:auto!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:4/5!important;margin:0!important;border-radius:23px!important;overflow:hidden!important;transform:none!important;box-shadow:0 16px 38px rgba(9,32,52,.13)!important;transition:transform .25s ease,box-shadow .25s ease!important}
.sf-offers-main .sf-offers-grid>.sf-offer-card:hover{transform:translateY(-5px)!important;box-shadow:0 24px 46px rgba(9,32,52,.22)!important}
.sf-offers-main .sf-offers-grid>.sf-offer-card>img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .35s ease!important}
.sf-offers-main .sf-offers-grid>.sf-offer-card:hover>img{transform:scale(1.04)!important}
.sf-offers-main .sf-offers-grid .sf-card-caption{inset:auto 0 0!important;padding:65px 19px 20px!important;gap:8px!important;background:linear-gradient(180deg,transparent,rgba(3,19,34,.66) 25%,rgba(3,19,34,.95) 100%)!important;color:#fff!important}
.sf-offers-main .sf-offers-grid .sf-card-caption strong{font-size:clamp(19px,1.7vw,26px)!important;line-height:1.47!important;font-weight:750!important;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-offers-main .sf-offers-grid .sf-card-caption small{font-size:clamp(12px,1.03vw,14px)!important;line-height:1.6!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#f1f7f9!important}
.sf-offers-main .sf-offers-grid .sf-card-arrow{display:grid!important;place-items:center;align-self:flex-start!important;margin-top:5px;width:34px!important;height:34px!important;border:1px solid rgba(255,255,255,.65);border-radius:50%}
.sf-offers-main .sf-offers-grid .sf-discount-badge{z-index:4!important;max-width:calc(100% - 36px)!important;white-space:normal;text-align:center}
/* Dedicated package page: photograph and copy are independent columns, no overlap. */
.sf-offers-main .sf-single-offer .sf-offer-detail-feature{display:grid!important;grid-template-columns:minmax(260px,0.9fr) minmax(0,1.4fr)!important;gap:clamp(26px,4.3vw,65px)!important;max-width:none!important;width:100%!important;align-items:start!important}
.sf-offers-main .sf-single-offer .sf-offer-detail-visual{position:sticky!important;top:110px!important;box-sizing:border-box!important;max-width:420px!important;min-width:0!important;width:100%!important;aspect-ratio:4/5!important;margin:0!important;overflow:hidden;border-radius:24px!important;box-shadow:0 15px 40px rgba(0,24,43,.17)}
.sf-offers-main .sf-single-offer .sf-offer-detail-visual img{display:block;width:100%!important;height:100%!important;object-fit:cover!important}
.sf-offers-main .sf-single-offer .sf-offer-detail-info{min-width:0!important;max-width:100%;overflow-wrap:anywhere}
.sf-offers-main .sf-single-offer .sf-offer-detail-info h2{font-size:clamp(27px,2.9vw,42px)!important;line-height:1.5!important;margin:12px 0!important;text-wrap:balance}
.sf-offers-main .sf-single-offer .sf-offer-detail-description{font-size:clamp(15px,1.2vw,17px)!important;line-height:1.95!important;white-space:pre-line;color:var(--soft);margin:12px 0 20px}
.sf-offers-main .sf-single-offer .sf-cms-detail{font-size:clamp(14px,1.12vw,17px)!important;line-height:1.9!important;white-space:normal;max-width:100%;overflow-wrap:anywhere}
.sf-offers-main .sf-single-offer .sf-package-body h3{font-size:clamp(18px,1.55vw,22px)!important;line-height:1.55!important;margin-top:28px}
.sf-offers-main .sf-single-offer .sf-package-body li{margin-bottom:5px}
.sf-offers-main .sf-single-offer .sf-offer-contact-actions{display:flex!important;align-items:stretch!important;gap:12px!important;flex-wrap:wrap!important;max-width:100%;margin-top:28px!important}
.sf-offers-main .sf-single-offer .sf-offer-contact-actions>.btn-primary,
.sf-offers-main .sf-single-offer .sf-offer-contact-actions>.sf-whatsapp-btn{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:auto!important;min-height:49px!important;min-width:168px!important;max-width:100%!important;padding:12px 21px!important;border-radius:15px!important;line-height:1.5!important;font-size:14px!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap;transition:background .2s ease,transform .2s ease!important}
.sf-offers-main .sf-single-offer .sf-offer-contact-actions>.sf-whatsapp-btn{color:#106849!important;background:#eafaf3!important;border:1px solid #91dcc0!important;box-shadow:0 5px 14px rgba(23,118,80,.07)!important}
.sf-offers-main .sf-single-offer .sf-offer-contact-actions>.sf-whatsapp-btn:hover{background:#d4f7e6!important;transform:translateY(-2px)}
.sf-offers-main .sf-single-offer .sf-whatsapp-btn svg{width:20px!important;height:20px!important;display:block;flex:0 0 20px}
html[data-theme=dark] .sf-offers-main .sf-single-offer .sf-offer-contact-actions>.sf-whatsapp-btn{color:#aaf1d0!important;background:rgba(16,95,69,.22)!important;border-color:rgba(125,218,170,.48)!important}
@media(max-width:980px){.sf-offers-main .sf-offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sf-offers-main .sf-single-offer .sf-offer-detail-feature{grid-template-columns:minmax(220px,.9fr) minmax(0,1fr)!important;gap:25px!important}}
@media(max-width:640px){
 .sf-offers-main .inner-hero{height:auto!important;min-height:420px!important;max-height:none!important}
 .sf-offers-main .inner-hero-content{bottom:43px!important;left:22px!important;right:22px!important;max-width:calc(100% - 44px)!important}
 .sf-offers-main .inner-hero-content h1{font-size:clamp(29px,8vw,43px)!important;line-height:1.43!important;margin:10px 0!important}
 .sf-offers-main .inner-hero-content p{font-size:13px!important;line-height:1.85!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
 .sf-offers-main .sf-offers-page-wide{width:calc(100% - 36px)!important;max-width:none!important;padding:32px 0 72px!important}
 .sf-offers-main .sf-offers-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;max-width:440px!important;margin-inline:auto!important}
 .sf-offers-main .sf-offers-grid>.sf-offer-card{aspect-ratio:4/4.7!important;border-radius:21px!important}
 .sf-offers-main .sf-offers-grid .sf-card-caption{padding:75px 20px 22px!important}
 .sf-offers-main .sf-offers-grid .sf-card-caption strong{font-size:clamp(20px,5.8vw,25px)!important}
 .sf-offers-main .sf-offers-grid .sf-card-caption small{font-size:13px!important}
 .sf-offers-main .sf-single-offer .sf-offer-detail-feature{grid-template-columns:minmax(0,1fr)!important;gap:25px!important}
 .sf-offers-main .sf-single-offer .sf-offer-detail-visual{position:relative!important;top:auto!important;max-width:440px!important;margin-inline:auto!important;aspect-ratio:4/3.6!important}
 .sf-offers-main .sf-single-offer .sf-offer-detail-info{padding:0 2px!important}
 .sf-offers-main .sf-single-offer .sf-offer-detail-info h2{font-size:clamp(24px,6.4vw,31px)!important;line-height:1.47!important}
 .sf-offers-main .sf-single-offer .sf-offer-detail-description{font-size:14px!important}
 .sf-offers-main .sf-single-offer .sf-offer-contact-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;max-width:100%;}
 .sf-offers-main .sf-single-offer .sf-offer-contact-actions>.btn-primary,
 .sf-offers-main .sf-single-offer .sf-offer-contact-actions>.sf-whatsapp-btn{display:flex!important;max-width:100%!important;width:100%!important;min-width:0!important;min-height:50px!important;padding:12px!important;font-size:14px!important;white-space:normal!important;text-align:center!important;}
}
@media(prefers-reduced-motion:reduce){.sf-offers-main .sf-offers-grid>.sf-offer-card,.sf-offers-main .sf-single-offer .sf-offer-contact-actions>a{transition:none!important}}
