/* Shared centred layout with flexible columns at every breakpoint. */
.wrap{width:min(1280px,calc(100% - 40px));margin-inline:auto}
.hero-grid>div:first-child,.section-head,.service-grid>div:first-child,.gift-banner-inner,.gift-page,.page:not(.form-grid),.shop-head{text-align:center}
.hero p,.gift-banner p,.gift-intro,.gift-information{margin-inline:auto}
.hero .actions,.hero .stats,.social-links{justify-content:center}
.section-head{justify-content:center;align-items:center;flex-wrap:wrap}
.service-list{text-align:center}
.gift-banner-inner{flex-direction:column;align-items:center;gap:24px}
.gift-page .gift-information{text-align:center}
.cat-grid,.product-grid,.steps{justify-content:center}
.card-body,.cat span{text-align:center}
.card-foot{justify-content:center;flex-wrap:wrap}
.foot{text-align:center}.foot img{display:block;margin-inline:auto}
form,.filters,.detail-copy,.cart-summary,.iq-controls,.gang-tools,.special-order{text-align:left}
.form-grid>div:first-child{text-align:center}
.search{margin-inline:auto}.search input{min-width:0}
.hero-grid,.service-grid,.detail-grid,.form-grid,.catalogue,.cart-layout,.gang-layout,.iq-layout,.special-detail-grid{min-width:0}
.hero-grid>*,.service-grid>*,.detail-grid>*,.form-grid>*,.catalogue>*,.cart-layout>*,.gang-layout>*,.iq-layout>*,.special-detail-grid>*{min-width:0}
input,select,textarea{max-width:100%}
@media(max-width:1100px){
 .designer-workspace{grid-template-columns:240px minmax(0,1fr) 110px}
 .hero-grid,.detail-grid{gap:28px}
 .iq-layout{grid-template-columns:minmax(0,1fr) 300px}
}
@media(max-width:900px){
 .wrap{width:calc(100% - 30px)}
 .hero-grid,.service-grid,.detail-grid,.form-grid,.cart-layout,.gang-layout,.iq-layout,.special-detail-grid{grid-template-columns:minmax(0,1fr)}
 .hero-grid{text-align:center}.hero-img{display:none}
 .filters{position:static}.cart-summary,.iq-summary{position:static}
 .catalogue{grid-template-columns:minmax(0,1fr)}.filters{display:none}.filters.open{display:block}.filter-toggle{display:block}
 .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .designer-workspace{display:flex;flex-direction:column}.designer-canvas{order:1}.designer-product{order:2}.designer-locations{order:3}
 .designer-bar{height:auto;flex-wrap:wrap}.designer-bar button,.designer-upload{min-width:0}
}
@media(max-width:600px){
 .wrap{width:calc(100% - 24px)}
 .product-grid,.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .section-head,.specials-head{flex-direction:column;align-items:center;text-align:center}
 .two,.three,.steps,.foot{grid-template-columns:minmax(0,1fr)}
 .hero h1{font-size:clamp(2rem,9vw,3.2rem);line-height:1.05}
 .page h1,.detail-copy h1,.shop-head h1{font-size:clamp(2rem,9vw,3.4rem);line-height:1.05}
 h2{font-size:clamp(1.7rem,7vw,2.5rem);line-height:1.1}
 .hero-grid{padding:44px 0}.hero .stats{gap:18px}
 .tool-shortcuts{grid-template-columns:1fr}.tool-shortcuts>a{font-size:.875rem}
 .search button{padding-inline:14px}.search input{width:0}
 .iq-layout{width:calc(100% - 24px)}.iq-header{flex-wrap:wrap;padding:12px}
 .special-detail{padding-inline:12px}.special-price{flex-wrap:wrap;gap:10px}
 .gang-heading{flex-direction:column;align-items:center;text-align:center}
 .designer-canvas{min-width:0;width:100%}.garment-stage{max-width:100%}
 .quote-record,.record{overflow-wrap:anywhere}
}

.gift-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;margin-top:36px;align-items:start;text-align:left}.gift-photo{text-align:center}.gift-photo>img{display:block;width:100%;max-width:600px;max-height:600px;object-fit:contain;margin:auto;border-radius:12px;background:white}.gift-photo h2{font-size:2rem;line-height:1.1}.gift-product form h2{font-size:1.7rem;line-height:1.2}.gift-product fieldset{border:1px solid var(--line);border-radius:8px;margin:20px 0;padding:18px;min-width:0}.gift-product fieldset[hidden]{display:none}.gift-product legend{font-weight:700}.gift-chart{display:block;margin-top:16px;text-align:center}.gift-chart img{width:100%;height:auto;max-width:614px}.gift-threads img{max-width:300px;display:block;margin:auto}.gift-chart span{display:block;text-decoration:underline;font-size:.875rem}.gift-total{font-size:1.5rem;font-weight:800;color:var(--b)}#gift-status a{text-decoration:underline}@media(max-width:900px){.gift-product{grid-template-columns:minmax(0,1fr);gap:24px}.gift-photo>img{max-height:420px}.gift-product form{width:100%;max-width:700px;margin-inline:auto}}

.gift-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px auto}.gift-choice{display:flex;flex-direction:column;gap:10px;padding:18px;background:white;border:2px solid var(--line);border-radius:10px;text-align:center}.gift-choice.selected,.gift-choice:hover{border-color:var(--b)}.gift-choice img{width:100%;height:200px;object-fit:contain}.gift-choice span{font-size:.875rem}.gift-choice:focus-visible{outline:3px solid var(--b);outline-offset:3px}@media(max-width:600px){.gift-choices{grid-template-columns:1fr;max-width:400px}.gift-choice img{height:180px}}

.gift-placement{margin:28px auto 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:white;text-align:center}.gift-placement h3{margin:0 0 16px;font-size:1.25rem}.gift-placement img{display:block;width:100%;max-width:500px;height:auto;margin:auto;border-radius:8px}.gift-placement a span{display:block;margin-top:10px;font-size:.875rem;text-decoration:underline}.gift-placement figcaption{margin-top:16px;font-size:1rem;line-height:1.6}

.gift-banner.gift-banner-photo{padding:0;background:#fff}.gift-banner-image{display:block;width:100%}.gift-banner-image img{display:block;width:100%;height:auto;max-width:2048px;margin-inline:auto}.gift-banner-action{text-align:center;padding:20px 16px 28px}.gift-banner-image:focus-visible{outline:3px solid #173f6b;outline-offset:-3px}

.gift-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0;border-bottom:1px solid var(--line);padding-bottom:12px}.gift-tabs a{display:block;padding:12px 20px;border:1px solid var(--line);border-radius:6px;font-weight:600;font-size:1rem;background:white}.gift-tabs a.active{background:var(--b);color:white;border-color:var(--b)}.gift-tabs a:focus-visible{outline:3px solid var(--b);outline-offset:3px}
