/* Shared phone, tablet and desktop refinements. Keep browser zoom available. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:110px}
body{overflow-wrap:break-word}
img{height:auto}
.brand-mark img{height:100%}
button,input,select,textarea{font-family:inherit}
button,.button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.button{min-height:48px;white-space:normal;text-align:center}
select:focus-visible,summary:focus-visible{outline:3px solid #365e9b;outline-offset:4px}
input,textarea,select{max-width:100%;min-width:0}
input[type=date]{min-height:48px;max-width:100%}
input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
input[type=checkbox],input[type=radio]{flex-shrink:0;accent-color:#a3295b}
.field input[type=checkbox],.field input[type=radio]{width:20px;height:20px;vertical-align:middle}
.field input:not([type=checkbox]):not([type=radio]),.field select{min-height:48px}
.field textarea{line-height:1.6}
.field small,[data-photo-status],[data-checkout-status],[data-email-check]{overflow-wrap:anywhere}
.hero-grid>*,.split>*,.sample-shell>*,.builder-layout>*,.field-row>*,.quick-book>*,.footer-grid>*{min-width:0}
.builder-layout{grid-template-columns:230px minmax(0,1fr)}
.nav{height:auto;min-height:88px;padding-block:8px;gap:20px}
.brand{min-width:0;flex-shrink:1}
.brand-name{overflow-wrap:normal}
.nav-links{gap:18px;min-width:0}
.nav-links a{line-height:1.35}
.brand-mark{flex-shrink:0}
.builder-side{max-height:calc(100dvh - 120px);overflow-y:auto}
.form-step h1{overflow-wrap:break-word}
.form-step h1:focus{outline:none}
.choice{display:flex;align-items:center;gap:10px;min-height:48px}
.choice input{flex:0 0 20px;margin:0}
.gift-choice{min-height:48px}
.checkout-terms label{min-height:44px;cursor:pointer}
.quick-cover-photo img{object-fit:contain}
.question-art img{height:clamp(150px,22vw,240px)}
@media(min-width:851px) and (max-width:1100px){
 .nav-links{gap:10px}.nav-links a{font-size:.875rem}.nav-links .button{padding:12px 14px}
 .brand-name{font-size:1.05rem}.hero-grid{gap:30px}.split{gap:32px}
 .builder-layout{grid-template-columns:200px minmax(0,1fr);gap:20px}.builder-side{padding:20px}
 .field-row{grid-template-columns:1fr}
}
@media(max-width:850px){
 html{scroll-padding-top:20px}
 .wrap{width:auto;margin-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
 .nav{gap:12px}.nav-links{order:3;flex-basis:100%}.nav-links.open{gap:4px;padding:8px 0}
 .nav-links a{min-height:48px;display:flex;align-items:center}
 .menu-button{flex:0 0 48px;min-height:48px}
 .builder{padding-top:20px}.builder-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 .builder-side{max-height:none;padding:16px 20px}.builder-side .progress-track{margin:10px 0}
 .builder-main{padding:clamp(18px,4vw,32px);min-height:0}
 .mobile-bar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));gap:12px}
 .mobile-bar small{flex:0 1 105px;min-width:0}.mobile-bar .button{flex:0 1 260px;min-width:0}
 body:has(.mobile-bar){padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 .cookie{max-height:60vh;max-height:60dvh;overflow:auto;bottom:calc(96px + env(safe-area-inset-bottom))}
 .order-wrap{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
}
@media(max-width:600px){
 input,select,textarea{font-size:16px!important}
 .field-row,.choice-grid{grid-template-columns:minmax(0,1fr)}
 .builder-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .builder-actions .button{min-width:0;min-height:48px;flex:none;padding:14px 12px}
 .builder-actions [data-next]{grid-column:1/-1;grid-row:1;min-height:52px}
 .builder-actions [data-prev]{grid-column:1}.builder-actions [data-skip-bottom]{grid-column:2}
 .form-step h1{font-size:clamp(1.75rem,7vw,2.3rem)}
 .question-art{margin-bottom:18px}.question-art img{height:160px}
 .quick-page,.quick-cover{padding:20px}.quick-cover-photo{margin:-20px -20px 20px}
 .upload-zone,.upload-zone.compact{padding:16px 12px}
 .saved-photo{padding:12px}.photo-preview{grid-template-columns:minmax(0,1fr)}
 .memory-question{padding:0 14px}.memory-question summary{padding-block:16px}
 .sample-page{padding:24px 18px}.legal{padding:24px 18px}
 .delivery-big-button{gap:12px;padding:20px 16px}.delivery-big-button strong{font-size:1.15rem}
 .checkout-progress{gap:6px}.checkout-progress span,.checkout-progress strong{padding:8px 10px}
}
@media(max-width:380px){
 .wrap{margin-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}
 .brand-name{font-size:1rem}.brand-name small{font-size:.72rem}.brand-mark{width:56px;height:56px;flex-basis:56px}
 .nav>.button{width:100%}.hero h1{font-size:2.2rem}.mobile-bar{gap:8px}.mobile-bar .button{font-size:.875rem;padding:12px}
 .builder-main{padding:18px 12px}.form-step>.field,.form-step>.field-row{padding:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
