@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');:root{--g:#203b34;--cream:#f7f5f0;--muted:#61716b;--border:#e3e7e1;--warm:#a48b70}*{box-sizing:border-box}body{margin:0;color:#22342e;font:15px/1.6 'DM Sans',Arial,sans-serif;background:#fff}h1,h2,h3{line-height:1.16}h1,h2{font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.025em}h2{font-size:clamp(27px,3vw,40px)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;padding:12px;border:1px solid #cbd3cc;border-radius:7px;background:white}.wrap{max-width:1200px;margin:auto;padding:0 24px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#70867a}.top{background:var(--g);color:white;padding:7px;text-align:center;font-size:12px}.header{position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid var(--border)}.headerin{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}.logo{width:230px;max-width:52vw;height:auto;display:block}.nav{display:flex;gap:20px;flex-wrap:wrap;align-items:center;font-size:14px}.nav a:hover{color:#70867a}.btn{background:var(--g);color:#fff;border:1px solid var(--g);border-radius:6px;padding:13px 20px;font-weight:700;display:inline-block}.btn.alt{background:transparent;color:var(--g)}.btn:disabled{opacity:.45;cursor:not-allowed}.hero{background:var(--cream);padding:65px 0 75px}.heroin{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center}.hero p{font-size:17px;color:#5f6a63;max-width:540px}.visual{min-height:260px;background:linear-gradient(135deg,#edece5,#e2e8e1);border:1px solid #e5e4db;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px;color:#61726a}.visual svg{width:55px;height:55px;margin-bottom:12px}.visual img{width:100%;height:100%;object-fit:contain}.section{padding:65px 0}.section.light{background:var(--cream)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:white}.card .visual{min-height:220px;border-radius:0;border:0}.cardbody{padding:20px}.card h3{font-family:'DM Sans',Arial,sans-serif;font-size:18px;margin:0 0 8px}.small{font-size:13px;color:var(--muted)}.price{font-size:23px;font-weight:700}.label{font-size:13px;font-weight:700;margin:15px 0 6px;display:block}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.filter{border:1px solid #bec8c0;background:white;padding:9px 15px;border-radius:5px}.filter.selected{background:var(--g);color:white}.product{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;padding:50px 0}.product .visual{height:460px}.specs{width:100%;border-collapse:collapse}.specs td{padding:10px;border-bottom:1px solid var(--border)}.specs td:last-child{text-align:right}.panel{padding:22px;border:1px solid var(--border);border-radius:10px;background:#fff}.notice{padding:15px;border-left:3px solid #9f8768;background:#faf7f0;color:#5f5c50;margin:18px 0}.list{padding-left:20px}.footer{background:var(--g);color:white;padding:54px 0}.footer .logo{width:220px;filter:brightness(0) invert(1);opacity:.94}.footin{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:25px}.footer a{display:block;margin:6px 0}.steps{display:flex;gap:10px;align-items:center}.pill{padding:3px 10px;border-radius:30px;background:#eaf0eb;color:#38594b;font-size:12px}.cartline{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);padding:14px 0}.stack{display:grid;gap:15px}.hidden{display:none!important}.mobile{display:none}@media(max-width:830px){.nav{gap:10px;font-size:12px}.headerin{min-height:70px;flex-wrap:wrap;padding:9px 0}.heroin,.product,.footin{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.product .visual{height:320px}.hero{padding:35px 0}.footer{padding:35px 0}}@media(max-width:560px){.grid{grid-template-columns:1fr}.nav{width:100%;justify-content:space-between}.logo{width:180px}.section{padding:38px 0}.wrap{padding:0 16px}}

.bundle-steps{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.bundle-steps span{font-size:12px;border:1px solid #d5dfd5;border-radius:7px;padding:7px 10px;background:#f4f7f3}

/* Bed image integration */
.bedpreview-img{width:100%;max-height:580px;object-fit:contain;border-radius:10px;background:#faf9f5}.bed-thumbs{display:flex;gap:8px;overflow-x:auto;padding:12px 0}.thumb{border:1px solid #dde4dc;border-radius:9px;background:#fff;padding:5px;flex:0 0 85px;cursor:pointer}.thumb img{width:75px;height:62px;object-fit:contain}.component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.component-grid img{width:100%;height:120px;object-fit:contain}.component-grid>div{background:#faf9f5;padding:6px;border-radius:8px;text-align:center}

/* v4: consistent card aspect ratio, aligned details, non-cropping bed photographs */
.grid .card{display:flex;flex-direction:column;min-width:0}
.grid .card .visual{height:auto!important;min-height:0!important;aspect-ratio: 3 / 2;overflow:hidden;padding:0;background:#f8f7f3}
.grid .card .visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.grid .card .cardbody{display:flex;flex-direction:column;flex:1}
.grid .card .cardbody .price{margin-top:auto!important;padding-top:14px}
.bedpreview-img{display:block;aspect-ratio:3 / 2;object-fit:contain;background:#f8f7f3}
.product .bedpreview-img{max-height:530px;width:100%}
@media(max-width:560px){.grid .card .visual{aspect-ratio:3 / 2}}

/* v5 visible bed upholstery options */
.colour-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:9px;margin:10px 0 12px}
.colour-choice{font:inherit;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;padding:10px 7px;background:#fff;color:#263b34;border:2px solid #d8dfd8;border-radius:12px;min-height:91px;text-transform:capitalize;font-size:12px;line-height:1.2}
.colour-choice:hover{border-color:#728b7f}.colour-choice.selected{border-color:#263b34;box-shadow:0 0 0 2px #dfebe3}.colour-choice:focus-visible{outline:3px solid #5f9278;outline-offset:2px}
.colour-chip{display:block;width:39px;height:39px;border-radius:50%;border:1px solid #999;box-shadow:inset 0 1px 3px #0002}
@media(max-width:550px){.colour-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}

.hero-photo{padding:0!important;overflow:hidden;position:relative}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover}
.collection-photo{padding:0!important;overflow:hidden}
.collection-photo img{display:block;width:100%;height:100%;object-fit:cover}
