/* Local mobile proposal. Presentation only; integrate this stylesheet, never the demo scripts. */
#author-dialog .author-option img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
#author-dialog .author-option img[src*="abduction-poster"]{object-position:50% 84%}
#author-dialog .author-option img[src*="shurik-1"]{object-position:50% 39%}
#author-dialog .author-option img[src*="alt-project"]{object-position:50% 70%}
#author-dialog .author-option img[src*="analyst-project"]{object-position:50% 80%}
#author-dialog .author-option img[src*="dorm-1"]{object-position:50% 45%}
#author-dialog .dialog-top{margin-bottom:10px}
#author-dialog .dialog-intro{margin-bottom:16px}
#author-dialog .author-grid{gap:20px 16px}
#author-dialog .author-set-gifts>p{margin:10px 0 6px}
#author-dialog .author-set-gifts li{margin:6px 0}
#author-dialog .selected-pack{margin-top:16px;padding:14px 16px}
#author-dialog .dialog-actions{margin-top:12px}
#cart-dialog .cart-description{min-width:0;width:100%}
#cart-dialog .cart-description h3{line-height:1.2;hyphens:none;text-wrap:pretty}
#cart-dialog .cart-description p,#cart-dialog .cart-description>span{font-size:15px;line-height:1.5}
#cart-dialog .cart-choice{margin:0;min-height:44px}
#cart-dialog .cart-project{margin:0}
#cart-dialog .cart-item{padding-block:12px}
#cart-dialog .cart-gifts summary{font-size:15px}
#cart-dialog .quantity{gap:8px}
#cart-dialog .quantity .remove{min-height:44px}
#checkout-dialog .purchase-layout{gap:20px}
#checkout-dialog .purchase-field{margin-top:14px;margin-bottom:10px}
#checkout-dialog .purchase-field input{font-weight:400;font-size:16px;min-height:48px;padding:12px}
#checkout-dialog .purchase-news{margin:16px 0;padding:12px 0}
#checkout-dialog .purchase-summary{padding:16px}
#checkout-dialog .purchase-kicker{margin-bottom:8px}
#checkout-dialog .purchase-line{font-size:15px;gap:6px 12px;padding:12px 0}
#checkout-dialog .purchase-line b{white-space:nowrap}
#checkout-dialog .purchase-gifts{font-size:14px}
#checkout-dialog .purchase-total{margin-top:14px}
#checkout-dialog .purchase-buttons{margin:16px 0}
@media(max-width:600px){
 #author-dialog,#checkout-dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px;scroll-padding:88px 0 20px}
 #author-dialog .close,#cart-dialog .close{width:44px;height:44px;min-width:44px;min-height:44px}
 #author-dialog .dialog-top h2,#cart-dialog .dialog-top h2,#checkout-dialog h2{font-size:26px;line-height:1.15;text-wrap:pretty}
 #author-dialog .author-option>span{font-size:17px;padding:12px;min-height:48px}
 #author-dialog .author-grid{grid-template-columns:minmax(0,1fr)}
 #author-dialog .author-set-gifts ul{font-size:15px}
 #author-dialog .dialog-actions{position:static;padding-bottom:0}
 #cart-dialog{padding:16px}
 #cart-dialog .dialog-top{top:-16px;padding:12px 0;margin-top:-12px;align-items:center}
 #cart-dialog .cart-description h3{font-size:22px}
 #cart-dialog #cart-bottom{position:static;margin-bottom:0;padding-bottom:8px}
 #cart-dialog .cart-discount{padding:12px}
 #cart-dialog .cart-discount strong{font-size:16px}
 #cart-dialog .cart-discount small{font-size:14px;line-height:1.4}
 #cart-dialog .cart-price-total{font-size:23px}
 #cart-dialog .cart-price-note{font-size:13px;line-height:1.5}
 #checkout-dialog{--purchase-pad:16px}
 #checkout-dialog h3{font-size:22px;margin-bottom:12px}
 #checkout-dialog .purchase-line{grid-template-columns:minmax(0,1fr)}
 #checkout-dialog .purchase-line b{text-align:left;font-size:18px}
 #checkout-dialog .purchase-buttons{align-items:stretch}
 #checkout-dialog .purchase-buttons>.button{flex:1 1 100%}
 #checkout-dialog .purchase-news label{font-size:15px;gap:10px}
 #checkout-dialog .purchase-privacy-intro,#checkout-dialog .purchase-legal{font-size:14px;line-height:1.5;margin:12px 0}
 #checkout-dialog .purchase-telegram{padding:14px;margin:16px 0}
 #checkout-dialog .purchase-after-ticket{margin-top:16px;padding-top:16px}
}
@media(max-height:540px){
 #checkout-dialog .dialog-top,#cart-dialog .dialog-top{position:static}
 #author-dialog .dialog-actions{position:static}
}

/* Keep the choice list scrollable while the selected count and action stay visible. */
#author-dialog[open]{display:flex;flex-direction:column;overflow-y:auto;max-height:calc(100dvh - 16px)}
#author-dialog .dialog-top,#author-dialog .dialog-intro,#author-dialog #author-summary,#author-dialog .dialog-actions{flex:none}
#author-dialog .author-options-scroll{flex:1 1 auto;min-height:180px;overflow:auto;overscroll-behavior:contain;padding:3px}
#author-dialog .author-options{padding:0}
#author-dialog .author-grid{gap:8px 12px}
#author-dialog .author-set-option{border:1px solid #1e293b40;border-radius:4px;background:#fffdf5;overflow:hidden}
#author-dialog .author-set-option:has(input:checked){border:2px solid var(--ink);background:color-mix(in srgb,var(--cyan) 18%,var(--cream))}
#author-dialog .author-option{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:6px 10px;border:0;border-radius:0;background:transparent;box-shadow:none}
#author-dialog .author-option:has(input:checked){background:transparent;box-shadow:none;border:0}
#author-dialog .author-option>span{font-size:15px;padding:0 25px 0 0;min-height:0;line-height:1.25;overflow-wrap:anywhere}
#author-dialog .author-option .author-option-logo{display:flex;align-items:center;justify-content:center;width:64px;height:44px;padding:0}
#author-dialog .author-option-logo svg{display:block;width:100%;height:100%;overflow:visible}
#author-dialog .author-option input{right:10px;top:18px}
#author-dialog .author-set-gifts{padding:0 10px;margin:0;border-top:1px solid #1e293b22}
#author-dialog .author-set-gifts summary{cursor:pointer;min-height:32px;display:list-item;align-content:center;font-size:13px;font-weight:600}
#author-dialog .author-set-gifts ul{margin:4px 0 10px;padding-left:20px;font-size:14px}
#author-dialog .selected-pack{margin-top:10px;padding:10px 12px}
#author-dialog .selected-pack p{margin:4px 0 0;font-size:14px}
#author-dialog .selected-pack strong{font-size:17px}
#author-dialog .dialog-actions{margin-top:10px;padding-top:0;background:var(--cream)}
/* Short landscape windows use the dialog's native scroll instead of clipping its action. */
@media(max-height:540px){
 #author-dialog[open]{display:block;overflow-y:auto}
 #author-dialog .author-options-scroll{overflow:visible}
}
