/* The desktop order form's own pieces; its layout comes from booking.css (.booking-form). */
.desktop-form h3 { margin: 0; }
.desktop-form .roof-map { height: 380px; max-width: 520px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); cursor: crosshair; }
.desktop-form .roof-map.picked { border-color: var(--accent); }
.desktop-form .roof-map:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.desktop-form .box-handle { display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--surface); color: var(--accent); border: 2px solid var(--accent); font-size: 15px; line-height: 1; box-shadow: 0 1px 4px rgba(0, 0, 0, .3); }
.desktop-form .box-handle.move { cursor: move; }
.desktop-form .box-handle.resize { cursor: nesw-resize; }
.desktop-form .row-actions { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.desktop-form .photo-loading { position: absolute; z-index: 1000; top: 10px; left: 50%; transform: translateX(-50%); padding: 4px 12px; border-radius: 999px; background: var(--surface); color: var(--ink); font-size: .82rem; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); pointer-events: none; white-space: nowrap; }
.desktop-form .photo-loading[hidden] { display: none; }
.desktop-form .roof-map .leaflet-control-attribution { font-size: 10px; line-height: 1.3; }
/* On a phone the map runs into the form's padding, the widest it can be. */
@media (max-width: 560px) { .desktop-form .roof-map { margin-inline: -24px; max-width: none; border-radius: 0; border-inline: 0; } }
.desktop-form .drone-better { padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); background: color-mix(in srgb, var(--accent) 6%, transparent); border-radius: 12px; }
.desktop-form .drone-better p { margin: 0; }
.desktop-form .drone-better ul { margin: 6px 0 8px; padding-left: 18px; font-size: .88rem; line-height: 1.45; }
.desktop-form .drone-better li + li { margin-top: 3px; }
