/* Campaign emphasis: offer 1, redemption 2, club story 4. */
body.club-page{--club-ink:#121b14;--club-line:#69746b;--club-muted:#d4ddd5;--club-accent:#feed00;--club-soft:#faf8e8;--club-dark:#171a16;--club-text:#32382b}
body.club-haladas{--club-accent:#19aa19;--club-soft:#eff7ef;--club-dark:#102d1c;--club-text:#235333;--club-line:#648770}
.partner-hero{padding:clamp(2.25rem,5vw,4.5rem) 0 3rem;background:var(--club-dark);color:#fff}
.partner-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(2rem,4vw,4rem)}
.partner-label{display:flex;align-items:center;gap:.65rem;font-size:.875rem;font-weight:600;margin:0 0 1.25rem;color:var(--club-muted)}
.partner-label>.vi{color:var(--club-accent)}
.partner-label .vi{width:28px;height:28px;flex:none}
.partner-hero h1{font-size:clamp(2rem,3.3vw,2.9rem);line-height:1.15;letter-spacing:-.025em;max-width:21ch;margin:0 0 1.25rem;color:#fff}
.partner-discount{color:var(--club-accent)}
.partner-hero .lead{font-size:1.0625rem;line-height:1.65;max-width:47ch;margin-bottom:1.5rem;color:var(--club-muted)}
.partner-hero .button{font-size:.9375rem;min-height:48px;padding:.75rem 1.05rem;border-radius:10px}
.partner-scope{font-size:.8125rem;line-height:1.6;color:var(--club-muted);max-width:51ch;margin:1rem 0 0}
.partner-hero-photo{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.partner-hero-photo img{display:block;width:100%;height:auto;border-radius:14px}
.partner-hero-photo figcaption{font-size:.75rem;color:var(--club-muted);margin-top:.6rem}
/* Pair the photo with the offer, and its credit with the conditions below. */
@media (min-width: 768px) {
 @supports (grid-template-rows: subgrid) {
  .partner-hero-grid {
   grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
   row-gap: 0;
  }
  .partner-hero-copy,
  .partner-hero-photo[data-photo-status="ready"] {
   display: grid;
   grid-row: 1 / span 5;
   grid-template-rows: subgrid;
   align-self: stretch;
   min-width: 0;
  }
  .partner-hero-copy { grid-column: 1; justify-items: start; }
  .partner-hero-photo { grid-column: 2; }
  .partner-hero-photo[data-photo-status="ready"] { justify-content: stretch; }
  .partner-hero-photo[data-photo-status="pending"] { grid-row: 1 / span 5; }
  .partner-hero-photo > img {
   grid-row: 1 / span 4;
   contain: size;
   width: 100%;
   height: 100%;
   min-height: 0;
   object-fit: cover;
   object-position: 50% 44%;
  }
  .partner-falco .partner-hero-photo > img { object-position: 67% 37%; }
  .partner-hero-photo figcaption { grid-row: 5; }
 }
}
.partner-photo-slot{min-height:310px;aspect-ratio:4/3;border:1px solid #d6dacf;background:radial-gradient(ellipse at 28% 20%,#fff9,transparent 70%),var(--club-soft);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;font-size:1.125rem;color:#35483b}
.partner-photo-symbol{width:112px;height:112px;display:grid;place-items:center;border:1px solid #47564b22;border-radius:50%;background:#ffffff6b;margin-bottom:.5rem}
.partner-photo-symbol .vi{width:64px;height:64px;stroke-width:1.25}
.partner-photo-note{font-size:.8125rem;color:#596257}
.partner-how{padding:2.5rem 0 2.75rem;border-bottom:1px solid #e1e3da;background:var(--club-soft)}
.partner-how h2{font-size:1.375rem;margin:0 0 1.25rem}
.partner-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:0;list-style:none;margin:0}
.partner-steps>li{display:flex;gap:.85rem;align-items:flex-start}
.partner-step-mark{flex:none;display:flex;flex-direction:column;align-items:center;gap:.45rem;width:40px;padding-top:.1rem;color:var(--club-text)}
.partner-step-mark>.vi{width:32px;height:32px;stroke-width:1.6}
.partner-step-mark>span{font-size:.6875rem;line-height:1.2;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.partner-steps h3{font-size:1rem;margin:0 0 .5rem;line-height:1.4}
.partner-steps p{font-size:.9375rem;line-height:1.6;margin:0;color:#596257}
.partner-story{padding:3rem 0}
.partner-story-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.partner-story-head h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.22;margin:.5rem 0 0}
.partner-story-head>p{font-size:1rem;line-height:1.7;margin:0;color:#596257}
.partner-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:1.5rem 0;margin:2rem 0;list-style:none;border-block:1px solid #dce0d6;gap:2rem}
.partner-stats strong{font-weight:500;font-size:2rem;letter-spacing:-.04em;line-height:1.15}
.partner-stats h3{font-size:.9375rem;margin:.5rem 0 .35rem}
.partner-stats p{font-size:.8125rem;line-height:1.5;color:#596257;margin:0}
.partner-results-group{margin:0 0 2.25rem;max-width:900px}
.partner-results-group>h2{font-size:1.25rem;line-height:1.4;margin:0 0 .6rem}
.partner-results-note{font-size:.875rem;line-height:1.6;color:#596257;margin:0 0 1rem;max-width:72ch}
.partner-results{border:0;border-bottom:1px solid #dce0d6;border-radius:0;background:transparent;padding:0;margin:0}
.partner-results summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;padding:.875rem 0;list-style:none;font-size:1rem;line-height:1.4;font-weight:500;color:var(--club-text);cursor:pointer}
.partner-results summary::-webkit-details-marker{display:none}
.partner-results summary::after{content:"+";flex:none;width:24px;text-align:center;font-size:1.25rem;color:var(--club-text)}
.partner-results[open]>summary::after{content:"−"}
.partner-results dl{margin:0;padding:0 0 1rem}
.partner-results dl>div{display:grid;grid-template-columns:minmax(160px,1fr) 2fr;gap:1.5rem;padding:.75rem 0}
.partner-results dt{font-size:.9375rem;font-weight:600;line-height:1.55;color:#26342c}
.partner-results dd{font-size:.9375rem;line-height:1.65;color:#596257;margin:0}
.partner-connection{display:flex;align-items:flex-start;gap:1rem;max-width:780px}
.partner-connection-icon{border-radius:12px;background:var(--club-accent);color:var(--club-ink);padding:.75rem;display:grid;place-items:center;flex:none}
.partner-connection-icon .vi{width:32px;height:32px}
.partner-connection h2{font-size:1.25rem;margin:0 0 .5rem}
.partner-connection p{font-size:.9375rem;line-height:1.7;margin:0;color:#596257}
.partner-sources{margin-top:1.5rem;font-size:.8125rem;color:#596257}
.partner-sources summary{width:fit-content;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:.22em;cursor:pointer}
.partner-sources li{margin-bottom:.5rem}.partner-sources a{text-decoration:underline;text-underline-offset:.2em}
.partner-campaign .offer-section{padding:2.5rem 0 3rem;background:var(--club-dark)}
/* Campaign-only accents: the shared logo and privacy choices keep their own meaning. */
body.club-page :is(.header-actions,.menu-actions,.partner-campaign) .button:not(.secondary):not(.light),
body.club-page .vulcano-intake .vq-primary{
 background:var(--club-accent);color:var(--club-ink);border-color:var(--club-line);--focus-ink:var(--club-ink)
}
body.club-page :is(.header-actions,.menu-actions,.partner-campaign) .button:not(.secondary):not(.light):hover,
body.club-page .vulcano-intake .vq-primary:hover{box-shadow:inset 0 0 0 1px var(--club-ink)}
body.club-page .floating-offer{background:var(--club-accent);color:var(--club-ink);border-color:var(--club-line);--focus-ink:var(--club-ink);box-shadow:0 5px 18px #101a1428,inset 0 1px 1px #ffffff66}
body.club-page .floating-offer:hover{color:var(--club-ink);box-shadow:0 7px 22px #101a1438,inset 0 1px 1px #ffffff88}
body.club-page .vulcano-intake .vq-primary:focus-visible{outline-color:var(--club-ink)}
body.club-page .vulcano-intake .vq-choice:is(:hover,[aria-pressed=true]){background:var(--club-soft);border-color:var(--club-text)}
body.club-page .vulcano-intake input[type=checkbox]{accent-color:var(--club-text)}
body.club-page .vulcano-intake .vq-flow .is-current{color:var(--club-text)}
body.club-page .vulcano-intake .vq-flow .is-current .vq-flow-circle{background:var(--club-accent);color:var(--club-ink);border-color:var(--club-line)}
body.club-page .vulcano-intake .vq-flow .is-complete .vq-flow-circle{background:var(--club-soft);color:var(--club-text);border-color:var(--club-text)}
body.club-page .vulcano-intake .vq-flow li.is-complete+li:before{background:var(--club-text)}
body.club-page .vulcano-intake .vq-partner-note{color:var(--club-text)}
body.club-page .menu-dialog nav a[aria-current]{color:var(--club-text);background:var(--club-soft)}
body.club-page .menu-dialog nav a[aria-current]>.vi{color:var(--club-text)}
@media(max-width:767px){
 .partner-hero{padding:1.75rem 0 2rem}.partner-hero-grid{grid-template-columns:1fr;gap:1.5rem}
 .partner-hero h1{font-size:clamp(1.875rem,7.2vw,2.25rem);max-width:23ch}
 .partner-hero .lead{font-size:1rem}.partner-label{font-size:.8125rem;margin-bottom:1rem}
 .partner-photo-slot{min-height:0;aspect-ratio:16/10}.partner-photo-symbol{width:80px;height:80px}.partner-photo-symbol .vi{width:46px;height:46px}
 .partner-how{padding:2rem 0}
 .partner-steps{grid-template-columns:1fr;gap:1.25rem}.partner-steps>li{gap:1rem}
 .partner-story{padding:2rem 0}.partner-story-head{grid-template-columns:1fr;gap:1rem}
 .partner-stats{gap:1rem;padding:1.25rem 0;margin:1.5rem 0}.partner-stats strong{font-size:1.75rem}
 .partner-stats h3{font-size:.8125rem}.partner-stats p{font-size:.75rem}
 .partner-results dl>div{grid-template-columns:1fr;gap:.25rem}.partner-results-group{margin-bottom:1.75rem}
 .partner-connection-icon{padding:.5rem}.partner-connection-icon .vi{width:26px;height:26px}
 .partner-campaign .offer-section{padding:1.5rem 0 2rem}
}
@media(forced-colors:active){
 body.club-page :is(.header-actions,.menu-actions,.partner-campaign) .button:not(.secondary):not(.light),body.club-page .floating-offer,body.club-page .vulcano-intake .vq-primary{background:ButtonFace;color:ButtonText;border-color:ButtonText;--focus-ink:ButtonText}
 body.club-page .vulcano-intake .vq-primary:focus-visible{outline-color:Highlight}
 body.club-page .vulcano-intake .vq-flow .is-current .vq-flow-circle{background:Highlight;color:HighlightText;border-color:ButtonText}
}

body.club-page .partner-story .eyebrow::before{background:var(--club-accent)}
body.club-page .site-header::after{background:var(--club-accent)}

/* One site-wide focus language. No outer rings on pointer interaction. */
:root{--focus-ink:#26342c}
.dark-section,.offer-section,.lightbox{--focus-ink:#fff}
.form-panel,.property-panel,.vulcano-intake,.cookie-dialog,.menu-dialog{--focus-ink:#26342c}
:focus-visible{outline:2px solid var(--focus-ink);outline-offset:-3px}
.button:not(.secondary):not(.light),.floating-offer{--focus-ink:#fff}
.choice-card:has(input:focus-visible){outline:2px solid #26342c;outline-offset:-3px}
/* Text inputs retain an unmistakable active state, inside their existing border. */
:is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select):focus{outline:none!important;border-color:#26342c!important;box-shadow:inset 0 0 0 1px #26342c!important}
:is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select)[aria-invalid=true]:focus{border-color:#9b1c1c!important;box-shadow:inset 0 0 0 1px #9b1c1c!important}
html[data-input-mode=pointer] :is(a,button,summary,[tabindex],input[type=checkbox],input[type=radio]):focus{outline:none!important}
html[data-input-mode=pointer] .choice-card:has(input:focus){outline:none!important}
[tabindex="-1"]:not(a,button,input,textarea,select):focus{outline:none}
.form-panel:focus-within{box-shadow:none}
@media(forced-colors:active){
 :focus-visible{outline-color:Highlight}
 :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select):focus{outline:2px solid Highlight!important;outline-offset:-3px;border-color:Highlight!important;box-shadow:none!important}
 .choice-card:has(input:focus-visible){outline-color:Highlight}
}
