/* Catalogue finishes and a single, spacious enquiry form for mini-pools. */
.mini-colours { margin:48px 0 0; padding:37px 0 0; border-top:1px solid #cfe3e0; }
.mini-colours-heading { max-width:810px; margin-bottom:26px; }
.mini-page .mini-colours-heading h2 { margin:14px 0 16px; color:#143c4a; font-size:clamp(1.85rem,4.6vw,2.65rem); font-weight:500; line-height:1.2; letter-spacing:-.025em; }
.mini-colours-heading p { margin:0; color:#355e68; font-size:1rem; line-height:1.75; }
.mini-colours-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.mini-colour { min-width:0; margin:0; }
.mini-colour-picture { position:relative; aspect-ratio:3 / 2; overflow:hidden; border-radius:8px; background:#d8ecee; }
.mini-colour-picture img { position:absolute; display:block; width:200%; height:200%; max-width:none; object-fit:fill; top:0; left:0; }
.mini-colour-white img { left:-100%; }
.mini-colour-blue img { top:-100%; }
.mini-colour-grey img { top:-100%; left:-100%; }
.mini-colour figcaption { display:flex; align-items:center; gap:9px; margin-top:13px; color:#254e5d; font-size:.94rem; line-height:1.5; }
.mini-colour .swatch { display:block; flex:none; width:19px; height:19px; }
.mini-colours-note { margin:22px 0 0; color:#536f79; font-size:.8rem; line-height:1.65; }
.mini-request { padding:clamp(48px,6vw,82px) 0; background:#fff; color:#173e4a; }
.mini-request-container { max-width:1100px; }
.mini-request-heading { max-width:780px; margin-bottom:34px; }
.mini-request h2 { margin:15px 0 22px; font-size:clamp(1.85rem,4.8vw,2.7rem); font-weight:500; line-height:1.2; letter-spacing:-.025em; }
.mini-request-heading p { margin:0; font-size:1rem; line-height:1.75; color:#42636f; }
.mini-request-heading .mini-request-promise { margin:0 0 14px; color:#087887; font-size:1.15rem; font-weight:500; line-height:1.6; }
.mini-request-form { display:grid; gap:34px; padding:34px; border:1px solid #cbdfe0; border-radius:12px; background:#f8fcfb; }
.mini-request-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.mini-request-form legend { width:100%; margin:0 0 20px; padding:0 0 13px; border-bottom:1px solid #d4e6e3; color:#173e4a; font-size:1.15rem; font-weight:500; line-height:1.5; }
.mini-request-form legend span { color:#536f79; font-size:.875rem; font-weight:400; }
.mini-request-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 26px; }
.mini-request-full { grid-column:1 / -1; }
.mini-request-form label { display:flex; flex-direction:column; align-items:stretch; gap:9px; min-width:0; color:#254d5e; font-size:.94rem; font-weight:500; line-height:1.55; }
.mini-request-form label span { color:#536f79; font-size:.875rem; font-weight:400; }
.mini-request-form :is(input:not([type="hidden"]),select,textarea) { display:block; min-width:0; width:100%; min-height:48px; padding:12px; border:1px solid #bed6da; border-radius:7px; background:#fff; color:#173e4a; font:400 1rem "DM Sans",Arial,sans-serif; line-height:1.4; }
.mini-request-form select { text-overflow:ellipsis; }
.mini-request-form textarea { resize:vertical; }
.mini-request-form :is(input,select,textarea):focus-visible { outline:2px solid #087887; outline-offset:3px; }
.mini-request-form small { color:#536f79; font-size:.82rem; font-weight:400; line-height:1.65; }
.mini-request-required,.mini-request-form .mini-request-small { margin:0; color:#536f79; font-size:.82rem; font-weight:400; line-height:1.65; }
.mini-request-access-note { margin:0; padding:14px 16px; border-left:3px solid #54b7b9; color:#315966; background:#edf7f5; font-size:.9rem; line-height:1.65; }
.mini-request-photos > p { margin:0 0 20px; color:#42636f; font-size:1rem; line-height:1.75; }
.mini-request-upload-grid { display:grid; gap:18px; margin-bottom:18px; }
.mini-request-form input[type="file"] { max-width:100%; padding:8px; overflow:hidden; font-size:.875rem; }
.mini-request-form input[type="file"]::file-selector-button { min-height:36px; margin-right:10px; padding:8px 10px; border:0; border-radius:4px; color:#174754; background:#e5f2f0; font:inherit; }
.mini-request-form .mini-request-error { margin:14px 0 0; color:#9c2626; font-size:.9rem; line-height:1.65; }
.mini-request-send { display:grid; gap:16px; }
.mini-request-submit { display:flex; justify-content:center; align-items:center; min-height:52px; padding:15px 20px; border:0; border-radius:7px; color:#fff; background:#087887; font:500 1rem "DM Sans",Arial,sans-serif; line-height:1.5; cursor:pointer; }
.mini-request-submit:hover { background:#065d69; }
.mini-request-submit:focus-visible { outline:2px solid #071e40; outline-offset:3px; }
.mini-request-submit:disabled { cursor:wait; opacity:.75; }
.mini-request-send p { margin:0; color:#536f79; font-size:.82rem; line-height:1.7; }
.mini-request-send a { text-decoration:underline; text-underline-offset:3px; }
.mini-request-feedback { padding:14px 16px; background:#e5f2f0; color:#174754; }
.mini-request [hidden] { display:none !important; }
@media(max-width:800px) { .mini-colours-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 16px; } }
@media(max-width:650px) { .mini-colours { margin-top:35px; padding-top:30px; } .mini-request-form { padding:25px 18px; gap:29px; } .mini-request-grid { grid-template-columns:minmax(0,1fr); gap:20px; } .mini-request-heading .mini-request-promise { font-size:1.05rem; } .mini-request-submit { padding:14px 10px; font-size:.94rem; } }
