/* One desktop enquiry frame; selection and both columns share its geometry. */
#project-form{scroll-margin-top:190px}
#project-form .contact-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}
#project-form .contact-layout>*{min-width:0}
#project-form .contact-form,#project-form .contact-sidebar{height:auto;border-radius:14px;border-color:#e2dbd0}
#project-form .contact-primary-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#project-form .contact-primary-fields>*{min-width:0}
#project-form .contact-form .space-y-7> :not([hidden])~ :not([hidden]){margin-top:22px}
#project-form .contact-form textarea[name="message"]{min-height:120px}
#project-form .contact-primary-fields label>.relative{margin-top:7px}
#project-form .contact-primary-fields label>.relative select{margin-top:0}
#project-form .contact-sidebar{display:flex;flex-direction:column;align-self:start;gap:24px;padding:28px;background:linear-gradient(165deg,#fff 45%,#fcfaf5)}
#project-form .contact-sidebar-body{display:flex;flex-direction:column;flex:0 0 auto;min-width:0}
#project-form .contact-sidebar h2{font-size:clamp(27px,2.2vw,34px);line-height:1.15;margin:3px 0 0}
#project-form .contact-sidebar .contact-status{align-self:flex-start;max-width:100%;padding:7px 11px;line-height:1.6}
#project-form .contact-details{display:grid;flex:none;gap:0;margin-top:22px;padding:4px 16px;border:1px solid #e9e2d7;border-radius:12px;background:#faf8f3}
#project-form .contact-details>.contact-detail{display:flex;align-items:flex-start;gap:12px;padding:17px 0;min-width:0}
#project-form .contact-detail+.contact-detail{border-top:1px solid #e6dfd2}
#project-form .contact-detail>div:last-child{min-width:0}
#project-form .contact-details h4{font-size:13px;line-height:1.55}
#project-form .contact-details a{overflow-wrap:anywhere;font-size:13px;line-height:1.65}
#project-form .contact-details .contact-detail>div:first-child{flex:0 0 21px;color:#73644e}
#project-form .contact-details svg{width:21px;height:21px;color:inherit}
#project-form .contact-details .contact-detail>h4{min-width:0;padding-top:1px}
#project-form .contact-next-steps{display:block;margin:0;padding:0;border:0}
#project-form .contact-next-steps ol{gap:8px}
#project-form .contact-next-steps li{padding:12px 8px;gap:6px;background:#fff;border-radius:8px}
#project-form .contact-next-steps li p{font-size:11px;white-space:normal;line-height:1.45}
#project-form .contact-catalogue{margin-top:0;padding-top:0}
#project-form .contact-catalogue .jp-catalogue-card{padding:18px;gap:14px;background:#f5f0e6;box-shadow:none}
#project-form .contact-catalogue .jp-catalogue-card h3{font-size:19px;line-height:1.25}
#project-form .contact-catalogue .jp-catalogue-action{grid-column:1/-1;align-items:stretch}
#project-form .contact-catalogue .jp-catalogue-button{width:100%;min-height:44px;white-space:normal}
#project-form .contact-chat{margin:0;padding:20px;border-radius:12px;border-color:#e6dfd1;background:#fff}
#project-form .contact-chat>p:first-child{font-size:14px;line-height:1.5}
#project-form .contact-chat>p+p{font-size:13px;line-height:1.65}
#project-form .contact-chat .mt-5{margin-top:16px}
#project-form .contact-chat a{min-height:46px;background:#247a59;border-color:#247a59;box-shadow:none}
#project-form .contact-chat a:hover{background:#1d6549}
@media(min-width:1100px){#project-form .contact-layout{grid-template-columns:minmax(0,1fr) clamp(330px,29vw,420px);gap:28px}}
@media(min-width:640px) and (max-width:1099px){
 #project-form .contact-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
 #project-form .contact-sidebar-body{grid-column:1;grid-row:1/4}
 #project-form .contact-next-steps,#project-form .contact-catalogue,#project-form .contact-chat{grid-column:2;margin:0}
}
@media(max-width:639px){
 #project-form .contact-primary-fields{grid-template-columns:minmax(0,1fr)}
 #project-form .contact-sidebar{padding:22px;gap:22px}
 #project-form .contact-catalogue{margin-top:0;padding-top:0}
 #project-form .contact-details{padding:2px 14px}
 #project-form .contact-chat{padding:18px}
}
@media(max-width:767px){#project-form{scroll-margin-top:96px}}

/* Photograph-led selection summary, shared by single-SKU and multi-item enquiries. */
#project-form .contact-selection{padding:20px;border:1px solid #e4d9c7;border-radius:14px;background:#faf7f0;margin-bottom:8px}
#project-form .contact-layout>.contact-selection{grid-column:1/-1;margin:0}
#project-form .contact-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
#project-form .contact-selection h3{font-size:17px;font-weight:700;line-height:1.4;letter-spacing:-.02em;margin:0;color:#423522}
#project-form .contact-selection-heading>a{display:inline-flex;align-items:center;min-height:44px;flex:none;color:#9a7d52;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
#project-form .contact-selection-items{display:grid;gap:12px;max-height:360px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d8cbb4 transparent}
#project-form .contact-selected-item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:1px solid #e9e0d0;border-radius:11px;background:#fffdf9}
#project-form .contact-selected-image{display:block;border-radius:8px;overflow:hidden;background:#f6f2ea}
#project-form .contact-selected-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;padding:5px}
#project-form .contact-selected-body{min-width:0}
#project-form .contact-selected-title{display:inline-flex;align-items:center;font-size:16px;font-weight:700;line-height:1.45;color:#483c29;text-decoration:none;overflow-wrap:anywhere}
#project-form .contact-selected-title:hover{text-decoration:underline;text-underline-offset:4px}
#project-form .contact-selected-spec{font-size:12px;line-height:1.6;color:#998870;margin:4px 0 8px;overflow-wrap:anywhere}
#project-form .contact-selected-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;line-height:1.5;color:#8e7959}
#project-form .contact-selected-meta>span:first-child{background:#f1e7d5;padding:4px 8px;border-radius:5px;color:#8c7046}
#project-form .contact-selected-meta strong{font-weight:600;color:#615039}
#project-form .contact-selected-note{font-size:12px;color:#8d7e68;line-height:1.5;margin:6px 0 0;overflow-wrap:anywhere}
#project-form .contact-sidebar{gap:20px}
#project-form .contact-next-steps{padding-top:0}
@media(max-width:639px){
 #project-form .contact-selection{padding:14px}
 #project-form .contact-selection-heading{gap:8px;margin-bottom:10px}
 #project-form .contact-selection h3{font-size:16px}
 #project-form .contact-selected-item{grid-template-columns:66px minmax(0,1fr);padding:11px;gap:12px}
 #project-form .contact-selected-title{font-size:15px}
 #project-form .contact-selection-items{max-height:390px}
}

@media(min-width:1100px){
 #project-form .contact-layout{align-items:stretch;gap:0;border:1px solid #e2dbd0;border-radius:16px;background:#fff;box-shadow:0 12px 36px #44351e06}
 #project-form .contact-form,#project-form .contact-sidebar{align-self:stretch;border:0;border-radius:0;box-shadow:none;margin:0}
 #project-form .contact-form{padding:32px;min-height:0;background:transparent}
 #project-form .contact-sidebar{padding:28px;border-left:1px solid #e9e1d5;border-radius:0 16px 16px 0;background:linear-gradient(165deg,#fdfbf6,#f8f5ed);gap:18px}
 #project-form .contact-form-content{display:flex;flex-direction:column;flex:1;min-height:0}
 #project-form .contact-form-fields{display:flex;flex-direction:column;flex:1;gap:22px;min-height:0}
 #project-form .contact-form .contact-form-fields>:not([hidden])~:not([hidden]){margin-top:0}
 #project-form .contact-brief{display:flex;flex-direction:column;flex:1;min-height:160px}
 #project-form .contact-brief-heading{flex:none}
 #project-form .contact-brief textarea{flex:1;min-height:140px;resize:vertical}
 #project-form .contact-submit{flex:none;margin-top:0}
 #project-form .contact-details{margin-top:18px}
 #project-form .contact-details>.contact-detail{padding:12px 0}
 #project-form .contact-catalogue{display:flex;flex:1;min-height:0}
 #project-form .contact-catalogue .jp-catalogue-card{flex:1;width:100%;align-content:center;padding:16px;gap:12px}
 #project-form .contact-catalogue .jp-catalogue-card h3{font-size:17px}
 #project-form .contact-catalogue .jp-catalogue-card p{font-size:12px}
 #project-form .contact-chat{padding:16px}
 #project-form .contact-chat .mt-5{margin-top:12px}
 #project-form .contact-layout>.contact-selection{padding:24px 32px;border:0;border-bottom:1px solid #e9e1d5;border-radius:16px 16px 0 0;background:#fbf8f1}
 #project-form .contact-selection-items{grid-template-columns:repeat(2,minmax(0,1fr));max-height:288px}
 #project-form .contact-selected-item{grid-template-columns:72px minmax(0,1fr);padding:12px;gap:14px}
}
