/* A consistent spacing scale across the storefront. */
header{padding-top:14px}header>a,header>.bag{margin-bottom:14px}header>a img{max-height:86px}header nav{padding-top:5px;padding-bottom:5px}.top{padding-block:7px}.hero{padding:36px 5%;gap:30px}.hero h1{font-size:clamp(38px,4.5vw,54px);margin:12px 0}.hero p{margin-block:12px}.hero .scene{height:310px}.section{padding:30px 5%}h2{margin:8px 0 18px}.filters{margin:14px 0}.grid{gap:18px}.details{padding:16px}.details h3{margin-bottom:7px;font-size:21px}.details>p{margin-bottom:10px;height:3.2em;-webkit-line-clamp:2}.details .price{min-height:1.6em;margin-bottom:10px}.details>button{min-height:44px}.grid.has-installments .installment-offer{min-height:3em;margin:0 0 10px;line-height:1.5}.buy-shortcut{margin:8px 5% 30px;padding:20px}.buy-shortcut .cta{margin-top:10px;padding:10px 18px}.about-page{min-height:0;padding:28px 5% 36px}.about-page h1{margin:8px 0 20px;font-size:clamp(29px,3.5vw,40px)}.about-home-link{margin-bottom:10px}.about-layout{gap:24px}#about-content p,#buy-content p{margin:0 0 12px}#buy-content h2{margin:20px 0 10px}.site-footer{padding-top:30px}.site-footer .footer-columns{gap:24px;padding-bottom:24px}.site-footer h3{margin-bottom:12px}.footer-payment{padding:20px 0}.footer-bottom{padding-top:16px;gap:12px}.personalization-info{margin:14px 0 12px;padding:12px}.personalization-info h3{font-size:22px}.customer-file{padding:12px;margin:12px 0}dialog label{margin:12px 0}.cartrow{padding:12px 0}
/* Intrinsic image height removes the empty area around shorter banner artwork. */
.banner-carousel{margin:0;line-height:0}.banner-slide img,.banner-slide.has-mobile img{aspect-ratio:auto;height:auto;object-fit:contain;max-height:none}.banner-controls{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;gap:4px;padding:0 5px;background:#fffdfbdd;border-radius:24px;line-height:1;z-index:2}.banner-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.banner-dots{gap:0}.banner-dot{width:28px;height:30px;min-height:30px}.banner-dot::after{left:9px;top:10px;width:9px;height:9px}.banner-toggle.banner-sr{padding:0;border:0}.banner-toggle.banner-sr:focus-visible{position:static;width:auto;height:30px;clip:auto;padding:5px 9px;overflow:visible;outline:2px solid #456b6e}.banner-arrows{top:50%;transform:translateY(-50%)}
.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:12px;padding:12px 5%;text-align:center;margin:0;line-height:1.4}.benefit{display:flex;justify-content:center;align-items:center;gap:10px;min-width:0}.benefit>svg{width:24px;height:24px;flex:none;color:#567b7d}.benefit>span{display:flex;flex-direction:column;text-align:left;gap:2px}.benefit strong{font-size:14px;font-weight:600}.benefit small{font-size:12px}.benefit a{font-size:12px;text-decoration:underline;text-underline-offset:3px}.benefit a:focus-visible{outline:2px solid #567b7d;outline-offset:3px}
/* One soft entrance and a subtle hover response, without continuous motion. */
header>a img{animation:brand-arrive .85s ease-out backwards;transition:transform .35s ease}header>a:hover img{transform:scale(1.025)}@keyframes brand-arrive{from{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:900px){header{padding:12px 5%}header>a,header>.bag{margin-bottom:0}header>a img{max-height:70px}header nav{padding-top:8px;padding-bottom:8px}}
@media(max-width:700px){.hero{padding:26px 5%;gap:20px}.hero .scene{height:250px}.hero h1{font-size:38px}.section{padding:24px 5%}.grid{gap:12px}.details{padding:12px}.details h3{font-size:18px}.details .price{font-size:17px}.details>button{min-height:48px}.benefits{padding:10px 4%;gap:8px;grid-template-columns:1fr}.benefit{justify-content:flex-start;width:min(100%,300px);margin:auto;padding:4px 0}.benefit>svg{width:22px;height:22px}.benefit>span{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 7px}.benefit strong{font-size:13px}.benefit small,.benefit a{font-size:12px}.banner-dot{width:30px;height:36px;min-height:36px}.banner-dot::after{top:13px;left:10px}.banner-controls{bottom:4px}.buy-shortcut{margin-bottom:24px;padding:18px}.buy-shortcut h2{font-size:25px}.about-page{padding:22px 5% 28px}.about-layout{gap:20px}.site-footer{padding-top:26px}.site-footer .footer-columns{gap:22px}.about-photos figure[data-page-photo]>img{max-height:280px}}
@media(prefers-reduced-motion:reduce){header>a img{animation:none;transition:none}header>a:hover img{transform:none}}

/* Center every row of product gallery thumbnails under the main photograph. */
#gallery .thumbs{justify-content:center;flex-wrap:wrap;gap:8px;overflow:visible;padding:6px 3px;margin-inline:auto}
#gallery .thumbs button{flex:0 0 auto;margin:0;display:flex;align-items:center;justify-content:center}

/* Consistent compact spacing in product descriptions. */
#productTitle{margin:12px 0 10px}
#productDesc{line-height:1.5}
#productDesc p,#productDesc div{margin:0 0 6px}
#productDesc ul,#productDesc ol{margin:6px 0;padding-left:20px}
#productDesc li{margin:2px 0}
#productDesc h2,#productDesc h3,#productDesc h4{margin:10px 0 6px;line-height:1.35}
#productDesc>:first-child{margin-top:0}#productDesc>:last-child{margin-bottom:0}
#productDesc .description-spacer{display:block;height:8px;min-height:0;margin:0;line-height:8px}
#productDesc .description-spacer>*{display:none}
#leadTime{margin:8px 0 10px}

/* Show the reserve hero only after the saved banner configuration is known. */
.hero[hidden]{display:none!important}
/* Consistent footer rhythm on desktop and touch screens. */
.site-footer{padding-top:24px}
.site-footer .footer-columns{gap:20px 24px;padding-bottom:20px}
.site-footer h3{margin-bottom:10px}
.site-footer .footer-columns a,.site-footer .footer-link{min-height:28px;margin:0 0 2px;line-height:1.45}
.site-footer .footer-subtitle{margin-top:16px;margin-bottom:8px}
.site-footer .footer-contact-line{gap:8px;margin-bottom:8px;line-height:1.45}
.site-footer .footer-contact-line a{min-height:0;margin:0}
.site-footer .footer-social-icons a{width:40px;height:40px;min-height:40px;margin:0}
.site-footer .footer-payment{padding:16px 0;gap:12px 24px}
.site-footer .footer-payment h3{margin:0}.site-footer .footer-payment-methods p{margin:0}
.site-footer .footer-bottom{padding-top:12px;gap:10px}
@media(max-width:700px){
 .benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 3%;align-items:start}
 .benefit{flex-direction:column;justify-content:flex-start;gap:4px;width:auto;margin:0;padding:0;text-align:center}
 .benefit>svg{width:18px;height:18px}
 .benefit>span{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;line-height:1.3}
 .benefit strong{font-size:11px;line-height:1.3}.benefit small,.benefit a{font-size:10px;line-height:1.35}
 .benefit a{display:inline-flex;align-items:center;justify-content:center;min-height:30px}
 .site-footer .footer-columns,.site-footer.has-socials .footer-columns{gap:20px 18px;padding-bottom:18px}
 .site-footer .footer-columns a,.site-footer .footer-link{min-height:36px;margin:0}
 .site-footer .footer-contact-line a{min-height:30px}
 .site-footer .footer-social-icons a{min-height:40px}
 .site-footer .footer-payment h3{margin-bottom:10px}
 .site-footer .footer-columns .footer-brand p{margin-bottom:10px}
}

.benefit-mobile-break{display:none}
@media(max-width:700px){
 .benefit-mobile-break{display:block}
 .benefit strong{font-size:12px;line-height:1.3}
 .benefit small,.benefit a{font-size:11px;line-height:1.35}
 .benefit>span{gap:3px}
 .benefit>svg{width:20px;height:20px}
 .benefit a{display:block;min-height:30px}
}

.site-footer .copyright{width:100%;text-align:center}
