/* Clube da Esquina: painted details, quiet type and genuine voucher hierarchy. */
:root { --sc-hand: 'Caveat', cursive; }

/* Real alpha cutouts preserve paint colours on the paper background. */
body.sc-site .sc-vehicle-image img,
body.sc-site .sc-detail-image img { mix-blend-mode: normal; }

/* The scooter faces the steps instead of leaving the composition. */
.sc-club-how .sc-club-illustration-ride > img { transform: scaleX(-1); }
.sc-club-illustration-map { max-width: 480px; margin-inline: auto; }
.sc-club-illustration-map > figcaption { display: flex; justify-content: flex-end; margin-top: -42px; position: relative; }
.sc-club-notebook-grid .sc-club-illustration-tiles { width: min(320px, 83%); max-width: 100%; margin-top: 32px; }
.sc-club-edition-art { display: flex; align-items: center; gap: 18px; min-width: 0; }
.sc-club-edition-art .sc-club-illustration-tiles { width: 70px; flex: none; margin: 0; }
.sc-club-about-page-grid > .sc-club-illustration-bairro { margin-inline: auto; }
.sc-club-brand-emblem { position: absolute; right: 24px; bottom: 24px; display: block; width: 116px; height: 116px; }
body.sc-site .sc-club-emblem-surround { display: block; width: 100%; height: 100%; object-fit: contain; }
body.sc-site .sc-club-emblem-logo { position: absolute; left: 22%; top: 50%; width: 56%; height: auto; transform: translateY(-50%); }


/* Preserve the painted ribbon's original ratio rather than squash its canvas. */
.sc-club-art-note { position: relative; display: grid; place-items: center; width: 260px; min-height: 0; aspect-ratio: 3.35; line-height: 1; }
body.sc-site .sc-club-art-note > img { position: absolute; inset: 50% 0 auto; display: block; width: 100%; height: auto; object-fit: contain; transform: translateY(-50%); pointer-events: none; }
.sc-club-art-note > span { position: relative; display: block; max-width: 100%; padding: 0 21%; color: var(--sc-ink); text-align: center; font: 500 23px/1.04 var(--sc-hand); }
.sc-club-photo-annotation { position: absolute; left: 25px; top: 24px; }
body.sc-site .sc-club-ticker-tile { display: block; width: 26px; height: 26px; flex: none; object-fit: contain; }
.sc-club-ticker .sc-shell > span + span { border: 0; padding-inline-start: 0; }

/* Approved torn-paper edges across ambience photographs; original pixels stay intact. */
.sc-club-main-photo,
body.sc-site .sc-club-extra-image > img,
body.sc-site .sc-club-page-photo > img,
body.sc-site .sc-club-about-gallery img,
body.sc-site .sc-club-notebook-cover > img,
body.sc-site .sc-tour-card > img,
body.sc-site .sc-contact-image {
 -webkit-mask-image: url('illustrations/clube/photo-edge-torn.svg');
 mask-image: url('illustrations/clube/photo-edge-torn.svg');
 -webkit-mask-size: 100% 100%;
 mask-size: 100% 100%;
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 -webkit-mask-position: center;
 mask-position: center;
 border-radius: 0;
}
.sc-club-main-photo { background: transparent; }

/* A tariff note belongs to the masthead, rather than a sale sticker. */
.sc-club-masthead-has-rate { display: grid; grid-template-columns: minmax(0, 1fr) 220px minmax(0, 1fr); align-items: center; gap: 24px; }
.sc-club-masthead-has-rate > p:first-child { min-width: 0; }
.sc-club-masthead-has-rate > .sc-btn { justify-self: end; max-width: 100%; text-align: left; white-space: normal; }
.sc-club-rate-promo { position: relative; display: block; width: 220px; min-height: 112px; padding: 4px 22px; border-inline: 1px solid #602b2e55; color: var(--sc-ink); text-decoration: none; }
.sc-club-rate-promo:hover { color: var(--sc-ink); text-decoration: none; }
.sc-club-rate-copy { position: static; display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; align-items: baseline; column-gap: 7px; color: var(--sc-ink); text-align: center; font-family: var(--sc-body); line-height: 1.15; }
.sc-club-rate-category { grid-column: 1 / -1; max-width: 100%; margin-bottom: 5px; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; line-height: 1.2; }
.sc-club-rate-from { max-width: 100%; font-size: 11px; line-height: 1.2; }
.sc-club-rate-amount { display: block; max-width: 100%; margin-block: 0 3px; font: 400 49px/1 var(--sc-display); letter-spacing: -.065em; white-space: nowrap; }
.sc-club-rate-period { grid-column: 1 / -1; max-width: 100%; font-size: 10px; line-height: 1.2; }
.sc-club-rate-promo:hover .sc-club-rate-amount { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }

/* Shared physical voucher: brand, gift title, value stub and a real code when issued. */
.sc-club-voucher { width: 100%; max-width: 580px; aspect-ratio: auto; margin: 0; overflow: visible; }
.sc-gift-card-face { position: relative; inset: auto; width: 100%; aspect-ratio: 1.7; overflow: hidden; container-type: inline-size; border: 1px solid var(--sc-ink); border-radius: 2px; background: #fff8e9; color: var(--sc-ink); transform: none; box-shadow: 7px 8px 0 #602b2e12; }
.sc-gift-card-face::after { content: ''; position: absolute; left: 72%; top: 6%; bottom: 6%; z-index: 2; border-left: 1px dashed #fff8e999; pointer-events: none; }
.sc-gift-card-colour { position: absolute; inset: 0 0 0 72%; width: 28%; height: 100%; background: transparent; }
body.sc-site .sc-gift-card-logo { position: absolute; inset: 7% auto auto 6%; z-index: 2; display: block; width: 27%; height: auto; object-fit: contain; }
.sc-gift-card-label { position: absolute; inset: 44% auto auto 6%; z-index: 2; display: block; width: 61%; color: var(--sc-ink); font: 400 clamp(17px, 5.6cqw, 34px)/1.08 var(--sc-display); letter-spacing: -.045em; overflow-wrap: normal; }
body.sc-site .sc-gift-card-illustration,
body.sc-site .sc-gift-card-has-code .sc-gift-card-illustration { position: absolute; inset: 7% 32% auto auto; z-index: 1; display: block; width: 19%; height: 32%; object-fit: contain; }
.sc-gift-card-brandline { position: absolute; left: 6%; bottom: 12%; z-index: 2; font: 500 clamp(7px, 1.8cqw, 11px)/1.3 var(--sc-body); letter-spacing: .13em; text-transform: uppercase; }
.sc-gift-card-value-group { position: absolute; inset: 39% 2.5% auto auto; z-index: 2; display: flex; flex-direction: column; align-items: center; width: 23%; min-width: 0; color: #fff8e9; text-align: center; }
.sc-gift-card-value-label { position: static; display: block; max-width: 100%; margin-bottom: 8px; font: 500 clamp(7px, 1.9cqw, 11px)/1.3 var(--sc-body); overflow: visible; overflow-wrap: normal; clip-path: none; white-space: normal; height: auto; width: auto; }
.sc-gift-card-from { display: block; margin-bottom: 3px; font: 400 clamp(7px, 1.8cqw, 11px)/1.2 var(--sc-body); }
.sc-gift-card-value { display: block; max-width: 100%; font: 500 clamp(14px, 5.1cqw, 30px)/1.05 var(--sc-body); letter-spacing: -.055em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sc-gift-card-edition { position: absolute; inset: auto 2.5% 10% auto; z-index: 2; width: 23%; color: #fff8e9; font: 500 clamp(5px, 1.4cqw, 8px)/1.3 var(--sc-body); letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.sc-gift-card-code { position: absolute; inset: auto 0 0; z-index: 3; display: grid; gap: 3px; min-height: 19%; padding: 8px 6%; border-top: 1px solid #602b2e55; background: #fff8e9; color: var(--sc-ink); }
.sc-gift-card-code > span { font: 500 clamp(6px, 1.65cqw, 10px)/1.2 var(--sc-body); }
.sc-gift-card-code > strong { max-width: 100%; overflow-wrap: anywhere; font: 700 clamp(8px, 2.25cqw, 13px)/1.2 ui-monospace, monospace; letter-spacing: .04em; }
.sc-gift-card-has-code .sc-gift-card-value-group { top: 36%; bottom: auto; }
.sc-gift-card-has-code .sc-gift-card-brandline { bottom: 27%; }
.sc-gift-card-has-code .sc-gift-card-edition { top: auto; bottom: 27%; }
.sc-gift-card-has-code::after { bottom: 22%; }
.sc-club-extra > .sc-club-voucher { max-width: 520px; margin: 12px auto 30px; }
.sc-gift-page > .sc-club-voucher { margin-inline: auto; }
#sc-record .sc-club-voucher { margin: 30px auto; max-width: 650px; }
.sc-gift-print-meta { display: none; }

/* Corrected vector artwork keeps its natural transparent surround. */
.sc-footer-brand { padding: 0; background: transparent; }
body.sc-site .sc-footer-brand > .sc-brand-logo { width: 160px; }

@media (max-width: 700px) {
 .sc-club-brand-emblem { width: 88px; height: 88px; right: 17px; bottom: 20px; }

 .sc-club-illustration-map { max-width: 310px; }
 .sc-club-illustration-map > figcaption { margin-top: -22px; }
 .sc-club-notebook-grid .sc-club-illustration-tiles { width: min(270px, 80%); }
 .sc-club-art-note { width: 235px; }
 .sc-club-art-note > span { font-size: 21px; }
 .sc-club-photo-annotation { left: 15px; top: 16px; }
 .sc-club-photo-annotation .sc-club-art-note { width: 220px; min-height: 0; }
 .sc-club-photo-annotation .sc-club-art-note > span { font-size: 19px; padding-inline: 21%; }
 .sc-club-ticker-tile { display: none!important; }
 .sc-club-edition-art { gap: 8px; max-width: 160px; }
 .sc-club-edition-art .sc-club-illustration-tiles { width: 40px; }
 .sc-club-edition-art .sc-club-edition { max-width: 112px; }
 .sc-club-notebook-page .sc-club-notebook-top { gap: 12px; }
 .sc-club-notebook-page .sc-club-notebook-top > p { max-width: 100px; }
 .sc-club-masthead-has-rate { grid-template-columns: minmax(0, 1fr) 150px; column-gap: 14px; row-gap: 22px; }
 .sc-club-masthead-has-rate > p:first-child { max-width: 245px; margin: 0; }
 .sc-club-masthead-has-rate > .sc-btn { grid-column: 1 / -1; justify-self: stretch; justify-content: space-between; width: 100%; }
 .sc-club-rate-promo { width: 150px; min-height: 102px; padding-inline: 10px; border-inline-end: 0; }
 .sc-club-rate-category { font-size: 9px; }
 .sc-club-rate-from, .sc-club-rate-period { font-size: 9px; }
 .sc-club-rate-amount { font-size: 41px; }
}
@media (max-width: 620px) {
 .sc-gift-issued-active .sc-record-actions .sc-btn { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
 .sc-gift-card-value-label { margin-bottom: 6px; }
 .sc-gift-card-code { padding-block: 6px; }
 .sc-gift-card-has-code .sc-gift-card-label { top: 44%; font-size: clamp(17px, 5.6cqw, 34px); }
}
@media print {
 .sc-club-voucher { break-inside: avoid; page-break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
 .sc-gift-card-face { transform: none; box-shadow: none; }
 .sc-gift-issued-active .sc-panel > :not([data-sc-issued-gift]):not([data-sc-gift-print-meta]) { display: none!important; }
 .sc-gift-issued-active { padding: 0!important; max-width: none; width: 100%; }
 .sc-gift-issued-active .sc-panel { padding: 0!important; border: 0; }
 .sc-gift-issued-active [data-sc-issued-gift] { width: 160mm; max-width: 100%; aspect-ratio: 1.7; margin: 0 auto 8mm; }
 .sc-gift-issued-active .sc-gift-card-face { inset: auto; width: 100%; transform: none; box-shadow: none; }
 .sc-gift-issued-active .sc-gift-print-meta { display: block; font-size: 10pt; }
 .sc-gift-issued-active .sc-gift-print-meta p { margin: 0 0 4mm; }
 .sc-gift-card-colour { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
 .sc-gift-issued-active .sc-gift-card-value-group,
 .sc-gift-issued-active .sc-gift-card-value-group *,
 .sc-gift-issued-active .sc-gift-card-edition { color: #fff8e9!important; -webkit-text-fill-color: #fff8e9; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
 .sc-gift-issued-active .sc-gift-card-label,
 .sc-gift-issued-active .sc-gift-card-brandline,
 .sc-gift-issued-active .sc-gift-card-code,
 .sc-gift-issued-active .sc-gift-card-code * { color: #602b2e!important; -webkit-text-fill-color: #602b2e; }
 body:has(.sc-gift-issued-active) .sc-page-heading,
 body:has(.sc-gift-issued-active) .sc-test-bar { display: none!important; }
}

/* Owner feedback: clearer navigation and intentional homepage heading lines. */
.sc-navigation { gap: 20px; }
.sc-navigation a { font-size: 16px; }
.sc-club-search .sc-section-top { grid-template-columns: minmax(0, 1fr); }
body.sc-site .sc-club-search .sc-section-top #sc-club-search-title { max-width: none; font-size: clamp(19px, 5.8vw, 46px)!important; white-space: nowrap; }
#about .sc-club-about-grid > div { container-type: inline-size; }
body.sc-site #sc-club-about-title { font-size: clamp(22px, 8.1cqi, 50px); line-height: 1.15; }
#sc-club-about-title > span { display: block; white-space: nowrap; }
.sc-club-about-signature { display: flex; align-items: center; gap: 22px; margin-top: 26px; }
.sc-club-about-signature .sc-club-brand-emblem { position: relative; inset: auto; flex: 0 0 104px; width: 104px; height: 104px; }
.sc-club-about-signature > .sc-text-link { margin: 0; }
@media (max-width: 1280px) {
 .sc-nav { justify-content: space-between; }
 .sc-brand { margin-right: auto; }
 body.sc-site .sc-menu-toggle { display: block; order: 3; }
 .sc-nav-actions { order: 2; }
 .sc-navigation { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 18px 24px 25px; background: var(--sc-paper); border-block: 1px solid var(--sc-ink); box-shadow: 0 10px 20px #602b2e12; }
 .sc-navigation.is-open { display: flex; flex-direction: column; gap: 0; align-items: stretch; }
 .sc-navigation a { font-size: 18px; padding-block: 14px; }
}
@media (max-width: 480px) {
 .sc-club-about-signature { gap: 16px; }
 .sc-club-about-signature .sc-club-brand-emblem { flex-basis: 88px; width: 88px; height: 88px; }
}
