/* Dedicated compositions; all colors follow the merchant palette. */
.specialty-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.specialty-hero .library-copy{padding:0}.specialty-visual{min-width:0;position:relative;overflow:hidden;min-height:340px}.specialty-visual .library-art{width:100%;height:100%;min-height:340px;margin:0;display:grid;place-items:center}.specialty-visual .library-art-plate{width:85%;max-width:390px;height:auto;aspect-ratio:1.2;position:relative;background:transparent;box-shadow:none;border:0;border-radius:0}.specialty-visual svg{width:100%;height:100%}.specialty-visual .library-art-orbit{display:none}.specialty-visual .hero-image-frame{position:absolute;inset:0;padding:0;border:0;border-radius:inherit;max-width:none}.specialty-visual .custom-hero-image{width:100%;height:100%;object-fit:cover;max-height:none;border-radius:inherit}.specialty-caption{position:absolute;z-index:2;bottom:22px;left:22px;font-size:10px;letter-spacing:.18em;background:var(--paper);color:var(--ink);padding:10px 14px;max-width:calc(100% - 44px)}.specialty-note{margin-top:32px;font-size:12px;line-height:1.8;color:var(--muted)}
.auction-hero{border-block:2px solid var(--brand-deep);padding-block:40px}.auction-hero h1{font-size:clamp(36px,4.5vw,66px);max-width:580px}.auction-visual{background:var(--brand-soft);color:var(--brand-ink);border-radius:4px}.theme-leiloes .campaign-card{border-radius:4px}.theme-leiloes .campaign-grid{grid-template-columns:1fr}.theme-leiloes .campaign-card{display:grid;grid-template-columns:240px minmax(0,1fr)}.theme-leiloes .campaign-content{display:grid;grid-template-columns:1fr auto;gap:12px 30px}.theme-leiloes .campaign-content h3,.theme-leiloes .campaign-content>p{grid-column:1}.theme-leiloes .campaign-content dl{grid-column:2;grid-row:1/4;align-self:center}.theme-leiloes .campaign-content .button{justify-self:start}.theme-leiloes .campaign-art{aspect-ratio:auto;height:100%;min-height:250px}
.raffle-hero{background:var(--brand-soft);border-radius:30px;padding:44px;gap:30px}.raffle-hero .library-copy h1{font-size:clamp(34px,4vw,58px)}.raffle-visual{color:var(--brand-ink)}.raffle-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;margin:0;padding:26px 0 0;border-top:1px solid var(--brand-ink)}.raffle-steps li{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--brand-ink)}.raffle-steps span{font-size:24px;font-weight:800}.theme-rifas .campaign-card{border-radius:22px;border:1px solid var(--line)}.theme-rifas .campaign-art{border-bottom:2px dashed var(--line)}
.hotel-hero{gap:0;grid-template-columns:.9fr 1.1fr}.hotel-intro{padding:36px 48px 36px 0}.hotel-hero .library-copy h1{font-size:clamp(38px,4.2vw,62px)}.hotel-visual{min-height:440px;background:var(--brand-soft);color:var(--brand-ink)}.hotel-visual .library-art{min-height:440px}.stay-guide{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:22px;padding:28px;background:var(--brand-deep);color:white;align-items:center;font-size:13px}.stay-guide strong{font-family:Georgia,serif;font-size:22px;font-weight:400}.stay-guide span{border-left:1px solid #ffffff66;padding-left:22px;line-height:1.5}.theme-hotel .operation-lodging .operation-card{border:1px solid var(--line);padding:0;gap:0}.theme-hotel .operation-lodging .operation-content{padding:32px}.theme-hotel .operation-lodging .operation-image{position:relative;width:100%;min-width:0;height:100%;aspect-ratio:auto;min-height:300px}.theme-hotel .operation-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.theme-hotel .operation-content h3{font-family:Georgia,serif;font-size:30px;font-weight:400}
.inn-hero{grid-template-columns:1.1fr 1fr;gap:70px;padding:20px 0}.inn-visual{border-radius:220px 220px 12px 12px;background:var(--brand-soft);color:var(--brand-ink);min-height:460px}.inn-visual .library-art{min-height:400px}.inn-caption{display:block;text-align:center;font:italic 27px Georgia,serif;padding:8px 20px 30px;position:relative}.inn-visual:has(.hero-image-frame) .inn-caption{position:absolute;bottom:15px;left:10%;right:10%;padding:12px;background:var(--paper);color:var(--brand-ink)}.inn-hero .library-copy h1{font-size:clamp(38px,4.4vw,64px);font-style:italic}.theme-pousada .operation-lodging .operation-offers{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.theme-pousada .operation-lodging .operation-card{display:block;border:1px solid var(--line);border-radius:130px 130px 12px 12px;padding:0}.theme-pousada .operation-lodging .operation-image{position:relative;width:100%;min-width:0;height:auto;min-height:0;aspect-ratio:4/3}.theme-pousada .operation-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.theme-pousada .operation-lodging .operation-content{padding:28px}.theme-pousada .operation-content h3{font:normal 28px Georgia,serif}.theme-pousada .operation-content dl{grid-template-columns:auto 1fr}
.campaign-section{margin:48px 0 64px;scroll-margin-top:20px}.campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.campaign-card{background:var(--paper);border:1px solid var(--line);overflow:hidden;min-width:0}.campaign-art{position:relative;min-width:0;overflow:hidden;width:100%;display:grid;place-items:center;aspect-ratio:1.6;background:var(--brand-soft);color:var(--brand-ink)}.campaign-art svg{width:65%;height:100%;max-height:210px}.campaign-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.campaign-content{padding:24px;min-width:0;overflow-wrap:anywhere}.campaign-content h3{font-size:24px;line-height:1.3;margin:12px 0}.campaign-content h3 a{color:inherit}.campaign-content p{font-size:14px;line-height:1.6;color:var(--muted)}.campaign-content dl{margin:20px 0;line-height:1.6;font-size:13px}.campaign-content dt{color:var(--muted)}.campaign-content dd{margin:0 0 12px;font-weight:650}.campaign-content small{font-weight:400}.campaign-status{display:inline-block;color:var(--brand-ink);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:750}.campaign-grid>.empty{grid-column:1/-1}
.theme-leiloes .campaign-card--preview .campaign-content{display:flex;flex-direction:column;gap:0;align-items:stretch}
.campaign-content details{min-width:0;grid-column:1/-1;border-top:1px solid var(--line);margin-top:12px;padding-top:14px}
.campaign-content summary{cursor:pointer;font-size:14px;line-height:1.5;font-weight:650;color:var(--brand-ink);padding:4px 0}
.campaign-content summary::marker{color:var(--brand-ink)}
.campaign-content summary:focus-visible{outline:2px solid var(--brand-ink);outline-offset:4px;border-radius:2px}
.campaign-content details[open] summary{margin-bottom:12px}
.campaign-content details p{margin:0;max-width:72ch}
@media(max-width:950px){.specialty-hero{gap:28px}.hotel-hero{gap:0}.hotel-intro{padding-right:25px}.stay-guide{grid-template-columns:1fr 1fr}.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-leiloes .campaign-content{display:block}.theme-leiloes .campaign-card{grid-template-columns:200px minmax(0,1fr)}.inn-hero{gap:32px}.theme-pousada .operation-lodging .operation-offers{gap:22px}}
@media(max-width:650px){.specialty-hero{grid-template-columns:1fr;margin:24px 0 40px;gap:26px}.specialty-hero .library-copy h1{font-size:38px;letter-spacing:-1.2px}.specialty-visual,.specialty-visual .library-art{min-height:280px}.auction-hero{padding-block:26px}.raffle-hero{padding:26px 22px;border-radius:22px}.raffle-steps{grid-template-columns:1fr;gap:14px}.hotel-intro{padding:0}.hotel-hero{gap:24px}.stay-guide{grid-template-columns:1fr;margin-top:-24px;padding:24px;gap:16px}.stay-guide span{padding-left:12px}.inn-hero{padding:0}.inn-visual{grid-row:2;min-height:340px}.inn-visual .library-art{min-height:290px}.inn-caption{font-size:22px}.theme-pousada .operation-lodging .operation-offers,.campaign-grid{grid-template-columns:1fr}.theme-leiloes .campaign-card{display:block}.theme-leiloes .campaign-art{height:auto;min-height:0;aspect-ratio:1.7}.theme-hotel .operation-lodging .operation-card{display:block}.theme-hotel .operation-lodging .operation-image{height:auto;aspect-ratio:4/3;min-height:0}.theme-hotel .operation-lodging .operation-content,.theme-pousada .operation-lodging .operation-content{padding:22px}.theme-pousada .operation-lodging .operation-card{border-radius:100px 100px 12px 12px}}
