/* Shared Opus service offer. Construction packages and PDF styles stay separate. */
.custom-guide-offer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; margin: 0 0 28px; border: 1px solid #D7D3CE; border-left: 4px solid #FF7828; border-radius: 12px; background: #FFF0E5; color: #292522; }
.custom-guide-offer h2 { font-family: "DynaPuff", "Trebuchet MS", sans-serif; font-weight: 500; font-size: 1.2rem; line-height: 1.3; margin: 0 0 6px; }
.custom-guide-offer p { margin: 0 0 6px; line-height: 1.5; }
.custom-guide-offer .custom-guide-price { margin-bottom: 0; }
.custom-guide-price { font-weight: 700; }
.custom-guide-price span { display: block; font-size: .82rem; font-weight: 400; color: #625D58; }
.custom-guide-offer > a { flex-shrink: 0; }
.hero-title .custom-guide-offer { display: block; padding: 16px 18px; margin: 20px 0 8px; font-size: .94rem; }
.hero-title .custom-guide-offer > a { margin-top: 12px; }
.custom-build-page { max-width: 1160px; }
.custom-request-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; gap:28px; }
.custom-request-layout > *, .custom-request-layout .work-panel { min-width:0; }
.custom-build-page .page-intro { max-width:850px; }
.custom-service-details h2 { font-size:1.25rem; margin-top:0; }
.custom-service-details .work-panel { padding:22px; }
.custom-process { padding-left:22px; }
.custom-process li { margin-bottom:14px; line-height:1.55; }
.custom-price-list > div + div { border-top:1px solid #D7D3CE; padding-top:14px; }
.custom-price-list dt { font-weight:700; }
.custom-price-list dd { margin:6px 0 16px; line-height:1.55; }
.custom-guide-example { display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid #D7D3CE; border-radius:12px; color:#292522; text-decoration:none; font-weight:700; }
.custom-guide-example img { width:100%; height:auto; border-radius:8px; }
.custom-guide-example:hover { background:#FFF0E5; }
.custom-optional { margin-bottom:22px; }
.custom-optional summary { padding:12px 0; cursor:pointer; font-weight:700; }
.custom-optional[open] summary { margin-bottom:14px; }
.custom-build-page [hidden] { display:none !important; }
.custom-build-page a:focus-visible, .custom-optional summary:focus-visible { outline:3px solid #974311; outline-offset:4px; }
@media (max-width:900px) { .custom-request-layout { grid-template-columns:minmax(0,1fr); gap:0; } }
.custom-build-page .page-intro { padding-bottom: 24px; }
.custom-build-page .work-panel { margin-bottom: 24px; overflow-wrap:anywhere; }
.custom-build-page #custom-request-saved { scroll-margin-top: 100px; }
.custom-build-page .field { margin-bottom: 18px; }
.custom-dimensions { min-width: 0; margin: 0 0 20px; padding: 18px; border: 1px solid #D7D3CE; border-radius: 12px; }
.custom-dimensions legend { padding: 0 8px; font-weight: 700; }
.custom-size-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.custom-size-grid input { width: 100%; min-width: 0; }
@media (max-width: 600px) {
  .custom-guide-offer { flex-direction: column; align-items: stretch; padding: 18px; gap: 14px; }
  .custom-guide-offer > a { text-align: center; }
  .hero-title .custom-guide-offer > a { display: flex; }
  .custom-size-grid { grid-template-columns: 1fr; gap: 0; }
  .custom-dimensions { padding: 14px; }
}
@media print { .custom-guide-offer { display: none !important; } }
