/* LIFE Products: booking form. Uses the theme's colour presets, with fallbacks. */
.lmcp-book { max-width: 760px; margin: 0 auto var(--wp--preset--spacing--80, 6rem); background: var(--wp--preset--color--white, #fff); border: 1px solid var(--wp--preset--color--sand, #E4DACD); border-radius: 16px; padding: clamp(1.25rem, 3vw, 2.25rem); color: var(--wp--preset--color--primary, #001A70); position: relative; }
.lmcp-eyebrow { margin: 0 0 .35rem; font-size: .75rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--secondary, #8E1566); }
.lmcp-summary { display: grid; gap: 1.25rem; padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--wp--preset--color--sand, #E4DACD); }
.lmcp-summary.has-image { grid-template-columns: minmax(0, 150px) minmax(0, 1fr); align-items: center; }
.lmcp-summary__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; }
.lmcp-summary__title { margin: 0 0 .4rem; font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-size: clamp(1.5rem, 3vw, 1.9rem); line-height: 1.15; color: var(--wp--preset--color--contrast, #0B1650); }
.lmcp-summary__desc { margin: 0 0 .6rem; font-size: .95rem; color: var(--wp--preset--color--walnut, #55505F); }
.lmcp-summary__price { margin: 0; font-weight: 600; color: var(--wp--preset--color--secondary, #8E1566); }
.lmcp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.lmcp-field--full { grid-column: 1 / -1; }
.lmcp-field label { display: block; margin-bottom: .35rem; font-size: .9rem; font-weight: 600; color: var(--wp--preset--color--contrast, #0B1650); }
.lmcp-req { color: var(--wp--preset--color--secondary, #8E1566); }
.lmcp-field input, .lmcp-field select, .lmcp-field textarea { width: 100%; box-sizing: border-box; font: inherit; color: var(--wp--preset--color--contrast, #0B1650); background: var(--wp--preset--color--base, #F8F4EF); border: 1px solid var(--wp--preset--color--sand, #E4DACD); border-radius: 10px; padding: .75rem .9rem; }
.lmcp-field textarea { resize: vertical; min-height: 5.5rem; }
.lmcp-field input:focus, .lmcp-field select:focus, .lmcp-field textarea:focus { outline: none; border-color: var(--wp--preset--color--gold, #C49A5A); box-shadow: 0 0 0 3px rgba(196, 154, 90, .25); }
.lmcp-submit { width: 100%; margin-top: 1.4rem; cursor: pointer; text-align: center; }
.lmcp-fine, .lmcp-muted { font-size: .85rem; color: var(--wp--preset--color--walnut, #55505F); }
.lmcp-fine { margin: .9rem 0 0; text-align: center; }
.lmcp-error { margin: 0 0 1.25rem; padding: .85rem 1rem; border-radius: 10px; border-inline-start: 3px solid var(--wp--preset--color--secondary, #8E1566); background: var(--wp--preset--color--wine-soft, #F5EAEF); color: var(--wp--preset--color--secondary, #8E1566); font-weight: 500; }
.lmcp-hp { position: absolute !important; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lmcp-thanks { text-align: center; }
.lmcp-thanks .lmcp-eyebrow { justify-content: center; }
.lmcp-wa { display: inline-block; text-decoration: none; }
.lmcp-back { font-size: .9rem; color: var(--wp--preset--color--secondary, #8E1566); }
@media (max-width: 640px) { .lmcp-grid { grid-template-columns: minmax(0, 1fr); } .lmcp-summary.has-image { grid-template-columns: minmax(0, 1fr); } .lmcp-summary__media { max-width: 260px; } }
