/* Bound grid/flex min-content widths instead of clipping overflowing page content. */
html,body,#app,main{width:100%;max-width:100%;min-width:0}
.product-page{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.product-page>*,.quick-layout>*,.account-layout>*,.checkout-layout>*,.two-fields>*,.product-summary,.product-gallery,.gallery-main,.account-tools,.wallet-overview,.combo-card{min-width:0;max-width:100%}
.gallery-main img{width:100%;height:auto;object-fit:contain}
.gallery-thumbs{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:8px;min-width:0}
.gallery-thumbs button{width:100%;min-width:0;padding:4px;aspect-ratio:1}
.gallery-thumbs img{width:100%;height:100%;object-fit:contain}
.product-summary p,.product-summary h1,.order-list,.wallet-records,.combo-product,.wallet-recipient,.form-stack label{overflow-wrap:anywhere}
.purchase-row{min-width:0;max-width:100%}.purchase-row input{flex:0 0 64px;min-width:0}.purchase-row .button{flex:1;min-width:0;width:auto;white-space:normal}
input,select,textarea,fieldset{min-width:0;max-width:100%}
.account-security-fields{display:grid;gap:16px;border:1px solid #dedbe2;padding:18px;margin:10px 0}.account-security-fields legend{font-size:14px;padding:0 7px}
.account-security-card{padding:18px 0;border-top:1px solid #dedbe2;text-align:left}.account-security-card .wallet-recipient{font-size:13px;line-height:1.8}
.bank-account-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:16px 0}.bank-account{min-width:0;padding:16px;border:1px solid #dedbe2}.bank-account-actions{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px}.bank-account-list .wallet-note{margin:0}
.wallet-actions{flex-wrap:wrap}.wallet-actions>span{min-width:0}.wallet-overview .wallet-cards>div{min-width:0}.wallet-cards strong{overflow-wrap:anywhere}
.quick-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:767px){
 .product-page,.quick-layout,.account-layout,.checkout-layout{grid-template-columns:minmax(0,1fr)}
 .product-page{width:100%;padding:12px 16px 36px;gap:14px}.product-summary{padding-top:12px}.product-summary h1{font-size:28px;line-height:1.25}
 .product-summary .description{max-width:100%;white-space:normal}.gallery-thumbs{grid-template-columns:repeat(auto-fit,minmax(45px,1fr))}
 .header{width:100%;gap:8px;padding-left:14px;padding-right:14px}.header-left,.header-tools{min-width:0;flex-shrink:1}.header .brand{min-width:0;flex-shrink:0}.header .brand img{max-width:104px}.header-tools{gap:2px;justify-content:flex-end}.header .icon{padding:6px}
 .page-wrap{max-width:100%;padding-left:16px;padding-right:16px}.account-layout{gap:30px}.page-hero{max-width:100%;padding-left:16px;padding-right:16px}
 .two-fields{grid-template-columns:minmax(0,1fr)}.form-stack input,.form-stack select,.form-stack textarea{font-size:16px}
 .wallet-actions .button{min-height:46px}.wallet-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.wallet-cards strong{font-size:22px}.combo-product{gap:10px}.combo-product span{min-width:0}.combo-product b{flex-shrink:0}
 .veil{max-width:100vw}.modal,.drawer{max-width:100vw;min-width:0}.modal form{max-width:100%}.account-security-fields{padding:14px}
 .spec-table{width:100%;table-layout:fixed}.spec-table td{overflow-wrap:anywhere}.order-list-header{flex-wrap:wrap;gap:10px}
 .collection-toolbar{max-width:100%;min-width:0}.collection-toolbar>*{min-width:0}.collection-toolbar select{flex:1 1 110px}
}
@media(max-width:359px){.header .brand{letter-spacing:2px;font-size:22px}.header .brand img{max-width:88px}.header svg{width:21px;height:21px}.header-left{width:18%}.header-tools{width:35%}.product-summary h1{font-size:25px}}

/* Keep locale access visible below the header icons when the desktop entry is hidden. */
.mobile-locale-button{display:none}
@media(max-width:1199px){
 .header{height:122px;padding-bottom:28px}
 .home-header{margin-bottom:-122px}
 .mobile-locale-button{display:inline-flex;position:absolute;right:3.8%;bottom:4px;align-items:center;justify-content:center;gap:7px;min-height:32px;max-width:calc(100% - 28px);padding:5px 4px;border:0;border-radius:0;color:#fff;background:transparent;font-size:12px;font-weight:400;line-height:20px;white-space:nowrap}
 .header .mobile-locale-button svg{width:16px;height:16px;flex:none}
 .mobile-locale-button:after{content:'';width:6px;height:6px;margin-left:3px;margin-top:-3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
}
@media(max-width:767px){
 .header{height:108px;padding-bottom:33px}
 .home-header{margin-bottom:-108px}
 .mobile-locale-button{right:14px;bottom:3px;min-height:32px;font-size:11px;padding:4px}
}

.purchase-date{margin:0;padding:0;border:0;min-width:0}.purchase-date legend{padding:0;margin-bottom:9px;font-size:13px}.purchase-date-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.purchase-date-fields label,.purchase-date-fields select{min-width:0}
