:root{--color-brand:#db0007;--color-brand-dark:#b00006;--color-text:#2d2926;--color-muted:#6d6865;--color-border:#dedbd8;--color-surface:#fff;--color-background:#f7f5f2;--color-focus:#006bae;--radius:.75rem;--shadow:0 .2rem .8rem #2d292614}*{box-sizing:border-box}body{color:var(--color-text);background-image:linear-gradient(#ffffffc7,#ffffffc7),url(/images/mcdonalds-hero-image.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}h1,h2,p{margin-top:0}h1{margin-bottom:.35rem;font-size:clamp(1.7rem,6vw,2.25rem)}h2{margin-bottom:.5rem;font-size:1.1rem}.app-header__content,.app-footer__content,.page-container{width:min(100% - 2rem,48rem);margin-inline:auto}.app-shell{flex-direction:column;min-height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.app-header{z-index:20;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;flex:none;position:sticky;top:0}.app-header__content{justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem .85rem;display:flex}.app-header__left{flex-direction:column;min-width:0;display:flex}.app-header__home{width:fit-content;min-width:0;color:var(--color-brand);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;padding:0;font-size:1.15rem;font-weight:700;display:inline-flex}.app-header__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-header__logo{object-fit:contain;border-radius:.2rem;width:2rem;height:2rem}.page-intro{color:var(--color-muted)}.app-header__step{color:#4b5563;text-align:left;white-space:nowrap;font-size:.875rem;font-weight:600}.header-logo-right{object-fit:contain;flex-shrink:0;width:auto;height:56px}.app-footer{z-index:20;border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;flex:none;position:sticky;bottom:0;box-shadow:0 -.2rem .8rem #2d29260f}.app-footer__content{padding-block:.8rem}.app-main{flex:1;padding-block:1rem 2rem;overflow-y:auto}.page-container{border:1px solid var(--color-border);border-radius:var(--radius);max-width:100%;min-height:34rem;box-shadow:var(--shadow);background:#fffffff7;padding:1.25rem}.progress{margin-bottom:1.5rem}.progress__labels{color:var(--color-muted);justify-content:space-between;margin-bottom:.35rem;font-size:.8rem;display:flex}.progress__track{background:var(--color-border);border-radius:1rem;height:.45rem;overflow:hidden}.progress__value{background:var(--color-brand);height:100%}.form-grid,.choice-grid{gap:1rem;min-width:0;display:grid}.details-sections{gap:1.25rem;display:grid}.form-section{border-radius:.65rem;gap:1.25rem;min-width:0;max-width:100%;padding:1.1rem;display:grid;box-shadow:0 .35rem 1.5rem #1118270d}.form-section__header{gap:.2rem;min-width:0;max-width:100%;display:grid}.form-section__header h2{color:#111827;margin:0;font-size:1.05rem}.form-section__header p{color:#6b7280;overflow-wrap:anywhere;margin:0;font-size:.9rem}.field{gap:.35rem;min-width:0;max-width:100%;display:grid}.field__label{color:#1f2937;overflow-wrap:anywhere;max-width:100%;font-weight:600}.field>span:first-child:not(.field__helper):not(.field__error){color:#1f2937;font-weight:600}.field__helper{color:#6b7280;overflow-wrap:anywhere;font-size:.875rem;font-weight:400}.field input,.field select,.field textarea{width:100%;color:var(--color-text);background:#fff;border:1px solid #d1d5db;border-radius:.625rem;padding:.75rem 1rem;transition:border-color .16s,box-shadow .16s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.colour-field{border:0;min-width:0;margin:0;padding:0}.radio-field{box-sizing:border-box;min-width:0;min-inline-size:0;border:0;max-width:100%;margin:0;padding:0}.radio-group{flex-wrap:wrap;gap:.6rem .9rem;min-width:0;max-width:100%;display:flex}.radio-option,.checkbox-option{box-sizing:border-box;color:#1f2937;overflow-wrap:anywhere;align-items:flex-start;gap:.5rem;min-width:0;max-width:100%;font-weight:600;display:flex}.radio-option{flex:0 auto}.checkbox-field{box-sizing:border-box;min-width:0;max-width:100%}.radio-option input,.checkbox-option input{flex:none;width:auto;min-width:0;margin-top:.2rem;padding:0}.checkbox-option input{width:1rem;height:1rem}.checkbox-option span{overflow-wrap:anywhere;flex:auto;min-width:0;max-width:100%}.colour-field legend{padding:0;font-weight:700}.colour-quantity-list{gap:.5rem;display:grid}.colour-quantity-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.45rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.5rem;font-weight:600;display:grid}.quantity-stepper{text-align:center;grid-template-columns:2rem 2rem 2rem;align-items:center;display:grid}.quantity-stepper button{border:1px solid var(--color-border);background:var(--color-background);cursor:pointer;border-radius:.45rem;width:2rem;height:2rem;font-weight:700}.quantity-stepper button:disabled{cursor:not-allowed;opacity:.45}.required-indicator{color:#9ca3af;margin-left:.25rem;font-size:.85em}.field--invalid input,.field--invalid select,.field--invalid textarea{background:snow;border-color:#dc9b9b}.photo-preview{border:1px solid var(--color-border);object-fit:cover;border-radius:.45rem;width:7rem;height:7rem}.field--invalid .colour-quantity-row{border-color:#dc9b9b}.field__error,.selection-helper,.form-helper{color:#a14444;margin:.75rem 0 0;font-size:.82rem;font-weight:500}.field__error{margin-top:0}.image-choice{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.image-choice__card{gap:.4rem;height:100%;padding-bottom:.8rem;display:grid;overflow:hidden}.image-choice__card--selected{border:2px solid var(--color-brand)}.image-choice img{object-fit:cover;background:var(--color-background);width:100%;height:8rem}.image-choice strong,.image-choice span{padding-inline:.8rem}.image-choice--large .image-choice__card{padding-bottom:1rem}.image-choice--large img{height:11.25rem}.image-choice--xlarge .image-choice__card{padding-bottom:1rem}.image-choice--xlarge img{object-fit:contain;background:#f3f4f6;height:13.75rem}.furniture-option{gap:.65rem;display:grid}.furniture-option__fields{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background);gap:.65rem;padding:.75rem;display:grid}.progress__steps{color:var(--color-muted);justify-content:space-between;gap:.5rem;margin:.65rem 0 0;padding:0;font-size:.72rem;list-style:none;display:none}.progress__step--active{color:var(--color-brand);font-weight:700}.image-choice span{color:var(--color-muted);font-size:.85rem}.step-navigation{justify-content:flex-end;gap:.75rem;display:flex}.step-navigation__next{display:inline-flex}.step-navigation__next--disabled .button{pointer-events:none}.button{cursor:pointer;border:1px solid #0000;border-radius:.45rem;padding:.7rem 1rem;font-weight:700}.button--primary{color:#fff;background:var(--color-brand)}.button--primary:hover{background:var(--color-brand-dark)}.button:disabled{cursor:not-allowed;opacity:.55}.review-summary{box-sizing:border-box;width:100%;max-width:100%;margin-block:1.25rem;padding:1rem}.review-summary h2:not(:first-child){margin-top:1.25rem}.review-summary dl{grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:.25rem .75rem;width:100%;max-width:100%;margin-block:.5rem;display:grid}.review-summary dt,.review-summary dd{overflow-wrap:anywhere;word-break:break-word;min-width:0;margin:0}.review-summary dt{font-weight:700}.review-furniture-list{gap:.85rem;max-width:100%;padding-left:1.2rem;display:grid}.review-furniture-list li,.review-furniture-list strong,.review-furniture-list span{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;display:grid}.review-colour-quantities,.review-photo-list{max-width:100%;margin:.2rem 0;padding-left:1.2rem}.review-colour-quantities li,.review-photo-list li{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}.declaration{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background);margin-top:1rem;padding:1rem}.declaration__label{align-items:flex-start;gap:.65rem;display:flex}.declaration__label input{flex:none;width:1.1rem;height:1.1rem;margin-top:.2rem}.declaration__helper{color:var(--color-brand-dark);margin:.75rem 0 0;font-size:.9rem}.button--secondary{border-color:var(--color-border);background:var(--color-surface)}.app-shell--welcome{min-height:100dvh;max-height:100dvh}.app-shell--welcome .app-main{min-height:0;padding:0;overflow:hidden}.app-shell--welcome .page-container{width:100%;height:100%;min-height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.welcome-hero{color:#fff;text-align:center;background-image:linear-gradient(#00000073,#00000073),url(/images/mcdonalds-hero-image.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;place-items:center;height:100%;min-height:100dvh;padding:clamp(2rem,5vw,4rem) 1rem;display:grid;overflow:hidden}.welcome-hero__content{justify-items:center;width:min(100%,54rem);display:grid}.welcome-hero__content h1{color:#fff;text-wrap:balance;margin-bottom:1rem;font-size:clamp(2.15rem,6vw,4.25rem);line-height:1.05}.welcome-hero__content p{color:#ffffffeb;max-width:46rem;margin-bottom:.9rem;font-size:clamp(1rem,2vw,1.2rem)}.welcome-hero__summary{color:#fff;gap:.45rem;margin:1rem 0 1.45rem;padding:0;font-size:clamp(.95rem,2vw,1.1rem);font-weight:700;list-style:none;display:grid}.welcome-hero__summary li:before{content:"✓";margin-right:.45rem}.welcome-hero__button{border-color:#fff;padding:.95rem 1.5rem;font-size:1.05rem;box-shadow:0 .75rem 1.75rem #0000003d}.success{text-align:center;max-width:42rem;margin-inline:auto;padding-block:clamp(2.75rem,8vw,4.5rem)}.success__title{margin-bottom:clamp(1.4rem,4vw,1.9rem);font-size:clamp(2.15rem,8vw,3.15rem);font-weight:800;line-height:1.08}.success__subheading{margin-inline:auto;max-width:34rem;margin-bottom:clamp(1.3rem,4vw,1.8rem);font-size:clamp(1.15rem,3vw,1.4rem);font-weight:700;line-height:1.35}.success__body{margin-inline:auto;max-width:37rem;color:var(--color-muted);margin-bottom:clamp(1.75rem,5vw,2.35rem);font-size:clamp(1rem,2vw,1.08rem);line-height:1.7}.success__closing{border-top:1px solid var(--color-border);color:#4b5563;margin-bottom:0;padding-top:clamp(1.2rem,4vw,1.65rem);font-size:.98rem;font-weight:600;line-height:1.75}@media (width>=36rem){.form-grid,.choice-grid{grid-template-columns:repeat(2,1fr)}.form-grid--details{gap:1.2rem 1rem}.field--wide{grid-column:1/-1}.progress__steps{display:flex}.image-choice--xlarge img{height:15rem}}@media (width<=30rem){.app-header__content{gap:.5rem}.app-header__home{gap:.4rem;font-size:1rem}.app-header__step{font-size:.8rem}.header-logo-right{height:48px}.welcome-hero{min-height:100dvh;padding:1.5rem 1rem}.welcome-hero__content h1{font-size:clamp(1.8rem,8.5vw,2.5rem)}.welcome-hero__content p{margin-bottom:.7rem;font-size:.95rem}.welcome-hero__summary{margin:.65rem 0 1rem;font-size:.92rem}.review-summary dl{grid-template-columns:1fr;gap:.15rem}.review-summary dd{margin-bottom:.65rem}.review-summary dd:last-child{margin-bottom:0}}@media (width>=60rem){.app-header__content,.app-footer__content,.page-container{width:min(100% - 2rem,70rem)}.choice-grid--large{grid-template-columns:repeat(3,1fr)}.image-choice--large img{height:13.75rem}.furniture-grid{grid-template-columns:repeat(3,1fr)}.image-choice--xlarge img{height:17.5rem}}
