/* Drone service: supplied model and kit photographs, v10. */
.drone-hero-link{display:block;position:relative;overflow:hidden;background:#e7e9ec;line-height:0}
.drone-hero-link>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.drone-photo-open{position:absolute;right:15px;bottom:15px;display:inline-flex;align-items:center;gap:20px;padding:12px 15px;color:var(--paper);background:var(--dark);font-size:11px;line-height:1.5}
.drone-photo-open>span{font-size:19px;line-height:1}
.drone-hero-link:focus-visible,.drone-photo-link:focus-visible{outline:3px solid var(--blue-dark);outline-offset:4px}
.drone-photo-section{margin:0 0 45px;padding:30px 0 0;border-top:1px solid var(--line);scroll-margin-top:110px}
.drone-photo-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;align-items:end;margin-bottom:25px}
.drone-photo-heading h2{font-size:33px;letter-spacing:-.035em;line-height:1.2;margin-top:12px}
.drone-photo-heading>p{font-size:12px;line-height:1.8;color:var(--muted);max-width:520px;justify-self:end}
.drone-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.drone-photo-grid figure{margin:0;min-width:0}
.drone-photo-link{display:block;overflow:hidden;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.drone-photo-frame{display:block;position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#fff}
.drone-photo-frame>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.drone-photo-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:50px;padding:12px 14px;border-top:1px solid var(--line);background:var(--paper);font-size:12px;line-height:1.5}
.drone-photo-caption>span{font-size:20px;flex:none;color:var(--blue-dark)}
.drone-photo-grid figcaption{font-size:11px;line-height:1.7;color:var(--muted);margin-top:11px}
.drone-photo-link:hover .drone-photo-caption{background:#eaf0ec}
@media(max-width:760px){.drone-photo-section{margin-bottom:32px;padding-top:25px}.drone-photo-heading{grid-template-columns:1fr;gap:15px;margin-bottom:22px}.drone-photo-heading h2{font-size:30px}.drone-photo-heading>p{justify-self:start;max-width:none}.drone-photo-grid{gap:16px}.drone-photo-caption{font-size:11px;padding:10px;gap:8px}.drone-photo-grid figcaption{font-size:10px}.drone-photo-open{right:12px;bottom:12px}}
@media(max-width:600px){.drone-photo-grid{grid-template-columns:1fr}.drone-photo-caption{font-size:12px;padding:12px 14px}.drone-photo-grid figcaption{font-size:11px;margin-top:9px}.drone-photo-grid figure+figure{margin-top:8px}}

/* Calendar and enquiry, v13. Confirmed availability is never inferred from an empty calendar. */
.drone-rates>div>strong{font-size:clamp(21px,2.6vw,32px);white-space:nowrap}
.drone-booking{margin-top:68px;padding-top:46px;border-top:1px solid var(--line);scroll-margin-top:115px}
.drone-booking-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:30px}
.drone-booking-heading h2{font-size:clamp(30px,3.4vw,46px);line-height:1.12;letter-spacing:-.04em;margin-top:13px}
.drone-booking-heading h2 em{font-family:var(--serif);font-weight:400;color:var(--blue-dark)}
.drone-booking-heading>p{font-size:14px;line-height:1.8;max-width:500px;color:var(--muted)}
.drone-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.drone-calendar-panel{padding:27px;background:#edf1ec;border:1px solid #d6dfd5;min-width:0}
.drone-calendar-notice{min-height:64px;margin:0 0 20px;font-size:13px;line-height:1.8;color:#405b50}
.drone-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.drone-calendar-toolbar h3{font-size:20px;font-weight:500;text-transform:capitalize;text-align:center}
.drone-calendar-arrow{width:40px;height:40px;flex:none;border:1px solid #bac9bd;color:var(--ink);background:transparent;font:inherit;font-size:20px;cursor:pointer}
.drone-calendar-arrow:disabled{opacity:.35;cursor:default}
.drone-calendar-table{width:100%;border-spacing:4px;table-layout:fixed;margin:0 -4px}
.drone-calendar-table th{font-size:10px;font-weight:500;text-align:center;padding:7px 0;color:var(--muted)}
.drone-calendar-table td{padding:0;text-align:center;height:48px}
.drone-day{position:relative;display:block;min-width:0;width:100%;height:48px;border:1px solid transparent;font:inherit;font-size:14px;cursor:pointer;color:var(--ink);background:#fff}
.drone-day::after{content:"";position:absolute;left:calc(50% - 2px);bottom:5px;width:4px;height:4px;border-radius:50%;background:#c4a975}
.drone-day--needs_confirmation{background:#f7f4ec;border-color:#e8ddca}
.drone-day--provisionally_available{background:#e0eade;border-color:#c4d7c4}
.drone-day--provisionally_available::after{background:#49754e}
.drone-day--blocked{color:#826d67;background:repeating-linear-gradient(135deg,#e8dfda,#e8dfda 5px,#eee7e3 5px,#eee7e3 7px);text-decoration:line-through;border-color:#d6c6bc;cursor:not-allowed}
.drone-day--blocked::after{background:#976b5c}
.drone-day--past{background:transparent;color:#a2aaa0;cursor:default}
.drone-day--past::after{display:none}
.drone-day[aria-current="date"]{box-shadow:inset 0 0 0 1px #52675b}
.drone-day.is-in-range:not(.drone-day--blocked){background:#cedbd4;border-color:#c2d0c8}
.drone-day.is-selected{background:var(--dark);color:#fff;border-color:var(--dark);box-shadow:none}
.drone-day.is-selected::after{background:#fff}
.drone-calendar-arrow:focus-visible,.drone-day:focus-visible{outline:3px solid #4c7c8a;outline-offset:2px;z-index:1}
.drone-calendar-legend{display:flex;flex-wrap:wrap;gap:10px 17px;margin:22px 0 17px;font-size:10px;line-height:1.5}
.drone-calendar-legend>span{display:flex;align-items:center;gap:7px}
.drone-dot{display:inline-block;width:9px;height:9px;flex:none;border-radius:50%;background:#c4a975}
.drone-dot-free{background:#49754e}.drone-dot-blocked{background:#976b5c}.drone-dot-unknown{background:#c4a975}
.drone-calendar-help{line-height:1.75;margin-bottom:12px}
.drone-calendar-panel .text-link{margin-top:16px}
.drone-request-form{padding:26px 0 0;min-width:0}
.drone-request-form h3{font-size:24px;font-weight:500;margin:0 0 26px;letter-spacing:-.025em}
.drone-date-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.drone-request-form .field{margin-bottom:20px}
.drone-request-form input,.drone-request-form select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.drone-request-form input[type=date]{min-height:46px;font-size:14px}
.drone-request-form .button{margin:7px 0 14px;white-space:normal;text-align:left;justify-content:space-between;width:100%;line-height:1.6}
.drone-date-summary{font-size:13px;line-height:1.8;border-left:2px solid #a9bcb2;background:#edf1ec;padding:14px 16px;margin:4px 0 18px}
.drone-delivery-note{font-size:12px;line-height:1.75;background:#f3edde;padding:13px 16px;margin:0 0 18px;color:#6b583d}
.drone-date-error{font-size:13px;line-height:1.7;color:#8b3c25;margin:0 0 12px}
.drone-request-form>.small-note{line-height:1.75}
.drone-request-fallback{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.drone-request-fallback label{display:block;font-size:12px;margin-bottom:10px}
.drone-request-fallback textarea{width:100%;padding:12px;border:1px solid var(--line);background:#fff;font:inherit;font-size:12px;line-height:1.7;resize:vertical;box-sizing:border-box}
.drone-logistics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:42px 0 36px}
.drone-logistics-grid article{padding-top:22px;border-top:1px solid var(--line)}
.drone-logistics-grid h3{font-size:21px;font-weight:500;line-height:1.35;margin:13px 0 13px;letter-spacing:-.025em}
.drone-logistics-grid article>p:last-child{font-size:12px;line-height:1.8;color:var(--muted)}
.drone-booking [hidden]{display:none!important}
@media(max-width:900px){.drone-booking-layout{gap:24px}.drone-calendar-panel{padding:19px}.drone-logistics-grid{gap:20px}.drone-date-fields{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){.drone-booking{margin-top:45px;padding-top:32px}.drone-booking-heading{grid-template-columns:1fr;gap:20px}.drone-booking-heading>p{font-size:13px}.drone-booking-layout{grid-template-columns:1fr;gap:8px}.drone-calendar-notice{min-height:0}.drone-request-form{padding-top:28px}.drone-date-fields{grid-template-columns:1fr 1fr;gap:14px}.drone-logistics-grid{grid-template-columns:1fr;gap:21px;margin-top:34px}.drone-logistics-grid h3{font-size:23px}.drone-logistics-grid article>p:last-child{font-size:13px}}
@media(max-width:390px){.drone-calendar-panel{padding:15px}.drone-calendar-table{border-spacing:2px}.drone-calendar-table td,.drone-day{height:41px}.drone-date-fields{grid-template-columns:1fr;gap:0}.drone-calendar-legend{font-size:9px;gap:10px}.drone-calendar-toolbar h3{font-size:18px}}

/* Shipping and transparent quotation, v14. */
.drone-quote{margin:0 0 26px;padding:20px;border:1px solid var(--line);background:#fafbf8}
.drone-cost-breakdown,.drone-date-breakdown{margin:0}
.drone-cost-breakdown>div,.drone-date-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(95px,.7fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}
.drone-cost-breakdown dt,.drone-date-breakdown dt{font-size:12px;line-height:1.6;color:var(--muted)}
.drone-cost-breakdown dd,.drone-date-breakdown dd{margin:0;font-size:13px;line-height:1.6;text-align:right;font-weight:500;overflow-wrap:anywhere}
.drone-cost-breakdown>div:first-child dd{font-size:22px;letter-spacing:-.03em;color:var(--ink)}
.drone-quote>.small-note{margin-top:12px;font-size:11px;line-height:1.8}
.drone-planning{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}
.drone-planning h4{font-size:17px;font-weight:500;margin-bottom:14px}
.drone-planning>p{font-size:12px;line-height:1.8;margin-top:12px}
.drone-planning .drone-short-notice{color:#8b3c25}
.drone-condition-docs{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;margin:35px 0 10px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.drone-condition-docs h3{font-size:26px;font-weight:500;line-height:1.3;margin:13px 0;letter-spacing:-.03em}
.drone-condition-docs p:last-child{font-size:13px;line-height:1.85;max-width:690px;color:var(--muted)}
.drone-condition-docs .button{white-space:normal;max-width:300px;line-height:1.6}
[data-drone-destination]>.small-note{margin-top:-10px;margin-bottom:22px;line-height:1.75}
@media(max-width:760px){.drone-condition-docs{grid-template-columns:1fr;gap:23px}.drone-condition-docs .button{max-width:none;justify-content:space-between}.drone-quote{padding:16px}}
@media(max-width:390px){.drone-cost-breakdown>div,.drone-date-breakdown>div{grid-template-columns:minmax(0,1fr) minmax(84px,.8fr);gap:10px}.drone-cost-breakdown dt,.drone-date-breakdown dt{font-size:11px}}

.drone-rates small{display:block;max-width:220px;margin-top:10px;font-size:12px;line-height:1.7;color:var(--muted);font-weight:400;letter-spacing:0}
.drone-booking-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.drone-booking-actions .button{flex:1 1 210px;justify-content:center}
