/* Calendar feature page: native editable blocks and separate device frames. */
.calendar-hero { overflow: hidden; }
.calendar-hero .section-inner { padding-bottom: 75px; }
.luingo-home .calendar-hero h1 { max-width: 1020px; font-size: clamp(2.7rem,4.5vw,4.2rem); }
.calendar-hero .section-inner > p:not(.eyebrow) { max-width: 760px; color: var(--luingo-muted); }
.calendar-hero .section-inner > h1 + p { font-size: 1.12rem; margin-top: 25px; }
.calendar-hero .section-inner > .calendar-note { font-size: .78rem; margin-top: 24px; }
.calendar-hero-visual { position: relative; margin-top: 42px; padding-right: 80px; padding-bottom: 65px; }
.calendar-capture { min-width: 0; }
.calendar-browser { background: #102d38; border: 1px solid #3d5961; border-radius: 12px; padding: 28px 5px 5px; box-shadow: 0 14px 30px #0c293515; position: relative; }
.calendar-browser::before { content: ''; position: absolute; top: 11px; left: 13px; width: 5px; height: 5px; background: #8ca4ab; border-radius: 50%; box-shadow: 10px 0 #8ca4ab,20px 0 #8ca4ab; }
.calendar-browser .wp-block-image { margin: 0; }
.calendar-image img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 4px; }
.calendar-phone { width: min(220px,100%); padding: 5px; border: 1px solid #3d5961; background: #102d38; border-radius: 19px; box-shadow: 0 12px 25px #0c293519; margin-inline: auto; }
.calendar-phone .wp-block-image { margin: 0; }
.calendar-phone img { border-radius: 13px; }
.calendar-capture-caption { margin-top: 14px !important; color: var(--luingo-muted); font-size: .74rem; line-height: 1.6; }
.calendar-hero-mobile { position: absolute; width: 145px; right: 0; bottom: 0; }
.calendar-hero-mobile .calendar-phone { width: 145px; }
.calendar-hero-mobile .calendar-capture-caption { font-size: .65rem; }
.calendar-hero-desktop .calendar-browser { margin-bottom: 0; }
.calendar-note { color: var(--luingo-muted); font-size: .82rem; }
.calendar-overview { background: #fff; }
.calendar-overview .section-lead { max-width: 850px; margin-top: 24px; }
.calendar-view-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.5fr); gap: 65px; margin-top: 42px; }
.calendar-view-selectors { display: grid; gap: 24px; align-content: start; }
.calendar-view-choice { margin-top: 0; }
.calendar-view-choice:first-child { margin-top: 0; }
.calendar-view-choice .wp-block-button { width: 100%; }
.calendar-view-choice .wp-block-button__link { width: 100%; text-align: left; border: 1px solid var(--luingo-line); font-size: .95rem; min-height: 54px; }
.calendar-views-enhanced .calendar-view-choice.is-active .wp-block-button__link { background: #134254; color: #fff; border-color: #134254; }
.calendar-view-question { color: var(--luingo-muted); font-size: .82rem; padding-inline: 4px; margin-top: 10px !important; }
.calendar-view-panel + .calendar-view-panel { margin-top: 35px; }
.calendar-views-enhanced .calendar-view-panels { min-height: 540px; }
.calendar-views-enhanced .calendar-view-panel { margin: 0; }
.calendar-view-panel h3 { font-size: 1.1rem; margin-top: 22px; }
.calendar-view-panel > p:not(.calendar-text-link) { color: var(--luingo-muted); font-size: .9rem; margin-top: 12px; }
.calendar-text-link { font-size: .84rem; font-weight: 650; margin-top: 25px !important; }
.calendar-detail:nth-of-type(even) { background: #f2f6f4; }
.calendar-detail-7 { background: #f7f4ed; }
.luingo-home .calendar-detail-columns { gap: 65px; align-items: center; }
.calendar-detail-columns > .wp-block-column { min-width: 0; }
.calendar-detail-columns h3 { font-size: 1rem; margin-top: 25px; }
.calendar-detail-columns p:not(.eyebrow):not(.calendar-text-link) { color: var(--luingo-muted); font-size: .9rem; }
.calendar-detail-columns h2 + p { margin-top: 25px; font-size: 1rem; }
.calendar-detail-crop { margin-top: 25px; max-width: 78%; margin-left: auto; }
.calendar-detail-crop .calendar-browser { border-radius: 8px; padding-top: 23px; box-shadow: 0 8px 20px #0c29350d; }
.calendar-detail-crop img { aspect-ratio: 3.5 / 1; object-fit: contain; background: #eaf2ed; }
.calendar-work-section { background: #f4f7f7; }
.calendar-work-section .section-inner > p:not(.eyebrow) { max-width: 840px; color: var(--luingo-muted); }
.luingo-home .calendar-work-types { gap: 30px; align-items: stretch; margin-top: 42px; }
.calendar-work-card { border: 1px solid var(--luingo-line); background: #fff; padding: 32px; border-radius: 14px; height: 100%; }
.calendar-work-card .calendar-emphasis { font-size: 1rem; font-weight: 650; color: #134254; }
.calendar-work-card > p { font-size: .9rem; color: var(--luingo-muted); margin-top: 16px; }
.calendar-work-card .calendar-capture { margin-top: 30px; }
.calendar-work-card .calendar-phone { width: 200px; }
.calendar-task-section .section-lead { margin-top: 22px; }
.luingo-home .calendar-task-grid { gap: 28px; margin-top: 30px; align-items: stretch; }
.calendar-task-card { border: 1px solid var(--luingo-line); border-radius: 12px; padding: 28px; height: 100%; }
.calendar-task-card h3 { margin-top: 24px; font-size: 1.07rem; }
.calendar-task-card > p { color: var(--luingo-muted); font-size: .88rem; }
.calendar-task-card .calendar-image img { aspect-ratio: 4 / 3; object-fit: contain; background: #eaf2ed; }
.calendar-pms-section { background: #e9f2ed; }
.luingo-home .calendar-pms-columns { gap: 90px; align-items: center; }
.calendar-pms-columns p:not(.eyebrow):not(.calendar-text-link) { color: var(--luingo-muted); font-size: .93rem; }
.calendar-pms-columns h2 + p { margin-top: 24px; }
.calendar-connection-label { margin-top: 25px !important; font-size: .8rem !important; }
.calendar-connection .integration-luingo { color: #134254 !important; }
.calendar-final .calendar-note { color: #cbdadd; max-width: 750px; margin-inline: auto; }
.calendar-final .section-inner > p:not(.eyebrow) { max-width: 750px; margin-inline: auto; }
.calendar-final .section-inner > h2 + p { color: #d1dfe0; margin-top: 24px; }
.luingo-calendars [id], .calendar-faq [id] { scroll-margin-top: 30px; }
.calendar-overview [hidden] { display: none !important; }
@media (max-width: 1100px) {
 .calendar-view-layout, .luingo-home .calendar-detail-columns, .luingo-home .calendar-pms-columns { gap: 35px; }
 .calendar-views-enhanced .calendar-view-panels { min-height: 470px; }
 .calendar-hero-visual { padding-right: 65px; }
}
@media (max-width: 781px) {
 .calendar-hero .section-inner { padding-bottom: 50px; }
 .calendar-hero-visual { padding-right: 0; padding-bottom: 0; margin-top: 30px; }
 .calendar-hero-mobile { position: static; width: 100%; display: flex; gap: 18px; align-items: center; margin-top: 22px; }
 .calendar-hero-mobile .calendar-phone { width: 110px; flex-shrink: 0; margin: 0; padding: 3px; border-radius: 14px; }
 .calendar-hero-mobile .calendar-capture-caption { font-size: .74rem; max-width: 220px; }
 .calendar-view-layout { display: flex; flex-direction: column; gap: 20px; }
 .calendar-view-panels { order: 1; }
 .calendar-view-selectors { order: 2; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--luingo-line); border-bottom: 1px solid var(--luingo-line); }
 .calendar-view-selectors > .calendar-view-option { margin-block: 0; min-width: 0; }
 .calendar-view-selectors .calendar-view-choice { margin: 0; gap: 0; }
 .calendar-view-selectors .calendar-view-choice .wp-block-button__link { padding: 12px 4px; font-size: .8rem; min-height: 48px; display: flex; align-items: center; justify-content: center; text-align: center; white-space: nowrap; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--luingo-muted); box-sizing: border-box; }
 .calendar-view-selectors .wp-block-button__link:hover { transform: none; }
 .calendar-views-enhanced .calendar-view-choice.is-active .wp-block-button__link { background: #eaf2ed; color: #134254; border-color: #134254; }
 .calendar-view-question { display: none; }
 /* Place the compact selectors immediately after the active screenshot. */
 .calendar-view-layout.calendar-views-enhanced { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; }
 .calendar-views-enhanced .calendar-view-panels, .calendar-views-enhanced .calendar-view-panel { display: contents; min-height: 0; }
 .calendar-views-enhanced .calendar-view-selectors { grid-row: 2; }
 .calendar-views-enhanced .calendar-view-panel > .calendar-capture { grid-row: 1; }
 .calendar-views-enhanced .calendar-view-panel .calendar-capture-caption { min-height: 60px; }
 .calendar-views-enhanced .calendar-view-panel .calendar-browser img { aspect-ratio: 16 / 10; object-fit: contain; }
 .calendar-view-panel h3 { margin-top: 0; }
 .calendar-view-panel > p:not(.calendar-text-link) { margin-top: 0; min-height: 3.4em; }
 .calendar-view-panel > .calendar-text-link { margin-top: 0 !important; }
 .calendar-detail-columns.calendar-media-first > .wp-block-column:first-child { order: 2; }
 .calendar-detail-columns.calendar-media-first > .wp-block-column:last-child { order: 1; }
 .calendar-detail-crop { max-width: 90%; }
 .calendar-work-card, .calendar-task-card { padding: 24px; }
 .calendar-work-card .calendar-phone { width: 190px; }
 .calendar-work-card .calendar-capture { margin-top: 23px; }
 .calendar-pms-columns .integration-card { max-width: 480px; margin-inline: auto; }
 .calendar-booking-story .wf-role, .calendar-office-story .wf-role { min-height: 44px; }
 .calendar-booking-story .wf-select, .calendar-office-story .wf-select { min-height: 70px; }
 .calendar-booking-story .wf-description { min-height: 105px; }
 .calendar-office-story .wf-description { min-height: 165px; }
 .calendar-booking-story .wf-heading, .calendar-office-story .wf-heading { margin-bottom: 26px; }
}
@media (prefers-reduced-motion: reduce) { .calendar-overview * { animation: none !important; transition: none !important; } }
/* Booking-focused workflow page. */
.booking-hero .section-inner{padding-bottom:35px}
.booking-demo-section{background:#f3f7f4}
.booking-demo-section .section-inner{padding-block:16px 30px}
.booking-handoff .section-inner>p:not(.eyebrow),.booking-comparison .section-inner>p:not(.eyebrow){max-width:850px;color:var(--luingo-muted);margin-top:24px}
.booking-benefits{gap:32px;margin-top:38px}
.booking-benefits h3{font-size:1.15rem}
.booking-benefits p{font-size:.9rem;color:var(--luingo-muted);margin-top:14px}
.booking-comparison{background:#f3f6f1}
.booking-evidence{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:36px}
.booking-evidence article{padding:30px;background:white;border:1px solid #dce5dc;border-radius:12px}
.booking-evidence h3{font-size:1.2rem}
.booking-evidence p{font-size:.87rem;color:var(--luingo-muted);margin-top:18px;line-height:1.8}
.booking-evidence .evidence-links{font-size:.72rem}
.booking-research-note{font-size:.75rem!important;max-width:100%!important}
@media(max-width:781px){.booking-evidence{grid-template-columns:1fr}.booking-evidence article{padding:24px}.booking-demo-section .section-inner{padding-inline:4px}.booking-demo-frame{height:900px!important}}

.booking-capture-pending{padding:40px;border:1px dashed #b6cac0;border-radius:14px;background:#fff}
.booking-capture-pending>p{color:var(--luingo-muted);margin-top:18px}
.booking-capture-pending ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;margin-top:32px;padding-left:20px}
.booking-capture-pending li{padding-left:5px;font-size:.85rem}
.booking-capture-pending li strong,.booking-capture-pending li span{display:block}
.booking-capture-pending li span{font-size:.78rem;color:var(--luingo-muted);margin-top:10px}
@media(max-width:781px){.booking-capture-pending{padding:26px}.booking-capture-pending ol{grid-template-columns:1fr;gap:20px}}

/* Reservations: one connected handover, presented as three equal cards. */
.luingo-calendars .booking-handoff{background:#f7f9f6}
.luingo-calendars .booking-handoff h2{max-width:780px;text-wrap:balance}
.luingo-calendars .booking-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px;counter-reset:handover}
.luingo-calendars .booking-benefits>.wp-block-column{position:relative;margin:0;padding:30px;border:1px solid #d8e4dc;border-radius:20px;background:#fff;box-shadow:0 12px 32px #13425407;counter-increment:handover}
.luingo-calendars .booking-benefits>.wp-block-column:before{content:'0' counter(handover);display:grid;place-items:center;width:48px;height:48px;margin-bottom:30px;border-radius:14px;background:#e9f1ea;color:#134254;font-size:.85rem;font-weight:800;letter-spacing:.04em}
.luingo-calendars .booking-benefits h3{font-size:1.3rem;line-height:1.25;margin:0;color:#134254}
.luingo-calendars .booking-benefits p{font-size:.93rem;line-height:1.8;margin:16px 0 0;color:#52656a}
.luingo-calendars .booking-benefits>.wp-block-column:last-child{background:#134254;border-color:#134254}
.luingo-calendars .booking-benefits>.wp-block-column:last-child h3{color:#fff}
.luingo-calendars .booking-benefits>.wp-block-column:last-child p{color:#e0ebe5}
.luingo-calendars .calendar-final p:not(.eyebrow){color:#52656a}
@media(max-width:781px){.luingo-calendars .booking-benefits{grid-template-columns:1fr;gap:16px}.luingo-calendars .booking-benefits>.wp-block-column{padding:26px}.luingo-calendars .booking-benefits>.wp-block-column:before{margin-bottom:22px}}
