/* This stylesheet touches ALVARO only. Load last, after existing approved CSS.
   Materials is owned by the catalogue module; nothing here sets its layout. */
.alvaro-passport { position:relative; background:#fff; color:#263034; overflow:hidden; }
.alvaro-passport h2,.alvaro-passport h3,.alvaro-passport p,.alvaro-passport dl,.alvaro-passport dd,.alvaro-passport figure { margin:0; }
.alvaro-passport h2,.alvaro-passport h3 { font-weight:300; letter-spacing:0; }
.alvaro-passport-diagram > svg { display:block; width:100%; height:100%; overflow:visible; }
.alvaro-passport-specs dt { color:#697371; font-weight:400; }
.alvaro-passport-specs dd span { display:block; }
.alvaro-request-gap { height:40px; background:#fff; }
.alvaro-final-club > :not(.alvaro-club-copy) { display:none!important; }
.alvaro-final-club .alvaro-club-copy,.alvaro-final-club .alvaro-club-copy * { visibility:visible!important; }
.alvaro-final-club .alvaro-club-copy { position:relative; margin:0; }
.alvaro-club-action { white-space:nowrap; }
.alvaro-club-action:focus-visible { outline:1px solid #59645f; outline-offset:5px; }
#model.alvaro-final-sections #details .thumbs button { opacity:1!important; border:0!important; outline:none!important; box-shadow:none!important; filter:none!important; transition:translate .22s ease!important; }
#model.alvaro-final-sections #details .thumbs button:focus-visible { outline:1px solid #59645f!important; outline-offset:4px; }
@media(hover:hover) { #model.alvaro-final-sections #details .thumbs button:hover { translate:0 -2px; } }
@media(min-width:1000px) {
  .alvaro-passport { height:62.5cqw; min-height:0; container-type:inline-size; }
  .alvaro-passport-heading h2 { position:absolute; left:4.444444%; top:9.855%; font-size:2.361111cqw; line-height:1; }
  .alvaro-passport-heading p { position:absolute; left:4.513889%; top:16.001667%; font:400 1.25cqw/1 Onest,sans-serif; color:#697371; }
  .alvaro-passport-diagram { position:absolute; left:6.25%; top:24.444444%; width:52.083333%; height:55.555556%; }
  .alvaro-passport-specs h3 { position:absolute; left:62.5%; top:27.150556%; font-size:1.805556cqw; line-height:1; }
  .alvaro-passport-specs dt,.alvaro-passport-specs dd span { position:absolute; left:62.5%; line-height:1; white-space:nowrap; }
  .alvaro-passport-specs dt { font-size:.972222cqw; }
  .alvaro-passport-specs dd span { font-size:1.25cqw; font-weight:400; }
  .alvaro-spec-size dt { top:35.371667%; }
  .alvaro-spec-size dd span:nth-child(1) { top:39.335%; }
  .alvaro-spec-size dd span:nth-child(2) { top:42.779444%; }
  .alvaro-spec-size dd span:nth-child(3) { top:47.446111%; }
  .alvaro-spec-top dt { top:55.371667%; }
  .alvaro-spec-top dd span:nth-child(1) { top:59.335%; }
  .alvaro-spec-top dd span:nth-child(2) { top:62.779444%; }
  .alvaro-spec-base dt { top:70.705%; }
  .alvaro-spec-base dd span { top:74.668333%; }
  .alvaro-request-gap { height:2.777778cqw; }
  #model.alvaro-final-sections .alvaro-final-club { height:7.638889cqw!important; min-height:0!important; padding:0!important; }
  .alvaro-final-club .alvaro-club-copy { position:absolute; inset:0; width:100%; height:100%; }
  .alvaro-final-club .alvaro-club-copy p { position:absolute; margin:0; left:4.444444%; line-height:1; font-weight:400; }
  .alvaro-final-club .alvaro-club-copy p:first-child { top:26.377273%; font-size:1.25cqw; }
  .alvaro-final-club .alvaro-club-copy p:nth-child(2) { top:60.313636%; font-size:.972222cqw; color:#697371; }
  .alvaro-final-club .alvaro-club-action { position:absolute; right:4.444444%; top:46.981818%; font:400 1.111111cqw/1 Onest,sans-serif; }
}
@media(max-width:999px) {
  /* New information is real adaptive content, not a shrinking 900px poster.
     The pre-existing story and detail mobile compositions are left intact. */
  .alvaro-passport { padding:38px 24px 44px; height:auto; }
  .alvaro-passport-heading h2 { font-size:30px; line-height:1.12; }
  .alvaro-passport-heading p { margin-top:10px; font-size:14px; color:#697371; }
  .alvaro-passport-diagram { margin:25px -14px 12px; width:calc(100% + 28px); aspect-ratio:750/500; }
  .alvaro-passport-diagram text { font-size:28px; }
  /* Height label fits RU/EN within the narrow viewport, without rescaling the product. */
  .alvaro-passport-diagram > svg > g > text:last-child { font-size:24px; transform:translateX(-8px); }
  .alvaro-passport-specs h3 { font-size:25px; line-height:1.2; margin:20px 0 24px; }
  .alvaro-passport-specs dl { display:grid; gap:24px; }
  .alvaro-passport-specs dt { font-size:13px; margin-bottom:8px; }
  .alvaro-passport-specs dd { font-size:15px; line-height:1.7; }
  .alvaro-spec-size dd span:last-child { margin-top:8px; }
  #model.alvaro-final-sections .alvaro-final-club { height:auto!important; min-height:0!important; padding:24px!important; }
  .alvaro-final-club .alvaro-club-copy { display:grid; gap:10px; }
  .alvaro-final-club .alvaro-club-copy p { font-size:14px; line-height:1.45; }
  .alvaro-final-club .alvaro-club-copy p:nth-child(2) { font-size:12px; color:#697371; }
  .alvaro-final-club .alvaro-club-action { display:block; width:max-content; padding:8px 0; font-size:14px; font-weight:400; }
}
@media(prefers-reduced-motion:reduce) { #model.alvaro-final-sections #details .thumbs button { transition:none!important; translate:none!important; } }
.no-motion #model.alvaro-final-sections #details .thumbs button { transition:none!important; translate:none!important; }

.alvaro-club-action{background:transparent!important;box-shadow:none!important;text-decoration:none!important;transition:translate .3s ease,opacity .3s ease}
.alvaro-club-action:hover,.alvaro-club-action:focus-visible{translate:0 -2px;opacity:.8}
@media(prefers-reduced-motion:reduce){.alvaro-club-action{transition:none!important;translate:none!important}}
.no-motion .alvaro-club-action{transition:none!important;translate:none!important}
