/* Entirely scoped. No theme, gallery or booking-form styles are replaced. */
.l4sap-module { --l4sap-green:#163c31; --l4sap-gold:#987348; --l4sap-paper:#f8f5ec; --l4sap-border:#dedfd2; box-sizing:border-box; color:var(--l4sap-green); font-family:var(--sans,Arial,sans-serif); font-size:15px; line-height:1.65; isolation:isolate; min-width:0; }
.l4sap-module *, .l4sap-review-card * { box-sizing:border-box; }
.l4sap-module .l4sap-shell { width:min(100%,calc(var(--max,1320px) + 2 * var(--gutter,40px))); max-width:none; margin-inline:auto; padding-inline:var(--gutter,clamp(20px,4vw,48px)); }
.l4sap-reviews { padding:76px 0 62px; margin:0; background:var(--l4sap-paper); border-top:1px solid var(--l4sap-border); }
.l4sap-module .l4sap-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; margin:0 0 36px; }
.l4sap-module .l4sap-section-head > div { max-width:790px; min-width:0; }
.l4sap-module .l4sap-kicker { margin:0 0 14px; color:var(--l4sap-gold); font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.l4sap-module .l4sap-section-head h2 { margin:0 0 17px; color:var(--l4sap-green); font-family:var(--serif,Georgia,serif); font-size:clamp(30px,3.1vw,47px); font-weight:400; line-height:1.13; letter-spacing:-.025em; }
.l4sap-module .l4sap-intro { margin:0; color:#657367; font-size:14px; line-height:1.65; max-width:620px; }
.l4sap-module .l4sap-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; padding:13px 23px; border:1px solid var(--l4sap-green); border-radius:2px; background:var(--l4sap-green); color:white; font-family:inherit; font-size:12px; line-height:1.4; font-weight:600; text-decoration:none; white-space:nowrap; transition:background .18s,color .18s; box-shadow:none; }
.l4sap-module .l4sap-button:hover { background:#285041; color:white; text-decoration:none; }
.l4sap-module .l4sap-button-outline { background:transparent; color:var(--l4sap-green); }
.l4sap-module .l4sap-button-outline:hover { background:var(--l4sap-green); color:white; }
.l4sap-module a:focus-visible, .l4sap-module button:focus-visible, .l4sap-module [tabindex]:focus-visible, .l4sap-plan-dialog button:focus-visible { outline:3px solid #af8250; outline-offset:4px; }
.l4sap-module .l4sap-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0; padding:0; list-style:none; min-width:0; }
.l4sap-module.l4sap-enhanced:not(.l4sap-reviews-list) .l4sap-track { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; scroll-padding-inline:0; padding:5px 4px 7px; margin-inline:-4px; }
.l4sap-module.l4sap-enhanced .l4sap-track::-webkit-scrollbar { display:none; }
.l4sap-review-card { --l4sap-green:#163c31; --l4sap-gold:#987348; --l4sap-border:#dedfd2; display:flex; flex-direction:column; min-width:0; margin:0!important; padding:27px 26px 24px; background:#fffefa; color:var(--l4sap-green); border:1px solid var(--l4sap-border); border-radius:3px; box-shadow:none; }
.l4sap-module.l4sap-enhanced:not(.l4sap-reviews-list) .l4sap-review-card { flex:0 0 calc((100% - 44px)/3); scroll-snap-align:start; }
.l4sap-review-card .l4sap-card-top { display:flex; align-items:center; gap:12px; margin:0; }
.l4sap-review-card .l4sap-avatar { flex:0 0 39px; height:39px; display:grid; place-items:center; background:#edf0e5; border-radius:50%; color:#5b6c57; font-size:11px; font-family:Arial,sans-serif; letter-spacing:.04em; }
.l4sap-review-card .l4sap-person { min-width:0; flex:1; }
.l4sap-review-card .l4sap-person h3 { margin:0 0 3px; color:var(--l4sap-green); font-family:inherit; font-size:13px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; text-transform:none; letter-spacing:0; }
.l4sap-review-card time { display:block; color:#687466; font-size:10px; line-height:1.5; }
.l4sap-review-card .l4sap-google-label { color:#66715f; font:500 10px/1.4 Arial,sans-serif; margin-left:auto; }
.l4sap-review-card .l4sap-stars { margin:24px 0 17px; color:var(--l4sap-gold); font-size:17px; letter-spacing:.15em; line-height:1; }
.l4sap-review-card .l4sap-quote { margin:0 0 24px!important; padding:0!important; background:none; border:0!important; border-radius:0; color:#344b3b; font-family:var(--serif,Georgia,serif); font-size:18px; line-height:1.6; box-shadow:none; }
.l4sap-review-card .l4sap-quote::before,.l4sap-review-card .l4sap-quote::after { content:none!important; }
.l4sap-review-card .l4sap-quote p { margin:0; font-size:inherit; line-height:inherit; color:inherit; }
.l4sap-review-card .l4sap-card-bottom { display:flex; justify-content:space-between; gap:12px; margin-top:auto; padding-top:12px; color:#7a7d6d; font-size:10px; line-height:1.5; }
.l4sap-review-card .l4sap-source { color:#5c6b54; text-decoration:underline; text-underline-offset:3px; font-size:10px; }
.l4sap-module .l4sap-carousel-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:25px 0 0; }
.l4sap-module .l4sap-carousel-controls[hidden] { display:none!important; }
.l4sap-module .l4sap-dots { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.l4sap-module .l4sap-dots button { display:grid; place-items:center; padding:0; width:30px; height:40px; border:0; background:none; cursor:pointer; }
.l4sap-module .l4sap-dots button::before { content:''; width:6px; height:6px; border-radius:50%; background:#bcc3b0; transition:width .2s,background .2s; }
.l4sap-module .l4sap-dots button[aria-current="true"]::before { width:23px; height:5px; border-radius:4px; background:var(--l4sap-green); }
.l4sap-module .l4sap-control-right { display:flex; align-items:center; gap:9px; }
.l4sap-module .l4sap-status { margin-right:12px; color:#6a7563; font-size:11px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.l4sap-module .l4sap-prev,.l4sap-module .l4sap-next { width:44px; height:44px; display:grid; place-items:center; border:1px solid #c6cdbb; border-radius:50%; background:transparent; color:var(--l4sap-green); padding:0; cursor:pointer; }
.l4sap-module .l4sap-prev svg { transform:rotate(180deg); }
.l4sap-module .l4sap-prev:disabled,.l4sap-module .l4sap-next:disabled { opacity:.32; cursor:default; }
.l4sap-module .l4sap-reviews-foot { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; margin-top:29px; padding-top:24px; border-top:1px solid var(--l4sap-border); }
.l4sap-module .l4sap-reviews-foot a { color:var(--l4sap-green); font-size:12px; text-decoration:none; }
.l4sap-module .l4sap-reviews-foot a:hover { text-decoration:underline; }
.l4sap-module .l4sap-disclosure { margin:9px 0 0; max-width:730px; color:#657360; font-size:10px; line-height:1.65; }
.l4sap-module .l4sap-plan-link { display:inline-flex; align-items:center; gap:15px; margin-top:1px; white-space:nowrap; }
.l4sap-module .l4sap-minimal-head { display:flex; justify-content:flex-end; margin-bottom:28px; }
.l4sap-plan { padding:20px 0 40px; }
.l4sap-plan .l4sap-plan-figure { margin:0; padding:0; }
.l4sap-plan .l4sap-plan-open { position:relative; display:block; width:min(100%,800px); margin:0 auto; padding:24px; border:1px solid var(--l4sap-border); border-radius:3px; background:white; text-align:center; color:var(--l4sap-green); text-decoration:none; cursor:zoom-in; }
.l4sap-plan .l4sap-plan-image { display:block; width:auto; height:auto; max-width:100%; max-height:860px; object-fit:contain; margin:0 auto; }
.l4sap-plan .l4sap-expand-label { display:inline-flex; align-items:center; gap:10px; padding:10px 16px; margin-top:18px; background:var(--l4sap-paper); font-size:12px; line-height:1.5; }
.l4sap-plan figcaption { margin:17px auto 0; width:min(100%,800px); color:#61725d; font-size:13px; line-height:1.6; text-align:left; }
.l4sap-plan .l4sap-plan-actions { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:24px auto 0; width:min(100%,800px); }
.l4sap-plan .l4sap-plan-note { max-width:380px; color:#657360; font-size:11px; line-height:1.6; }
.l4sap-plan-dialog { --l4sap-green:#163c31; box-sizing:border-box; position:fixed; inset:0; width:min(94vw,1340px); height:92dvh; max-width:94vw; max-height:92dvh; margin:auto; padding:0; border:0; border-radius:4px; color:var(--l4sap-green); background:#f5f3ea; box-shadow:0 12px 70px #0004; font:13px/1.5 Arial,sans-serif; }
.l4sap-plan-dialog:not([open]) { display:none; }
.l4sap-plan-dialog[open] { display:flex; flex-direction:column; }
.l4sap-plan-dialog::backdrop { background:#09231dea; }
.l4sap-plan-dialog .l4sap-dialog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex:none; padding:15px 20px; background:#fffdf6; border-bottom:1px solid #d8dccf; }
.l4sap-plan-dialog .l4sap-dialog-toolbar strong { font-size:14px; }
.l4sap-plan-dialog .l4sap-zoom-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.l4sap-plan-dialog button { display:inline-flex; align-items:center; justify-content:center; height:40px; min-width:40px; padding:0 10px; margin:0; border:1px solid #d8dccf; border-radius:3px; color:var(--l4sap-green); background:transparent; cursor:pointer; font:11px/1.4 Arial,sans-serif; }
.l4sap-plan-dialog button:hover { background:#e6ebdf; }
.l4sap-plan-dialog button:disabled { opacity:.4; }
.l4sap-plan-dialog .l4sap-zoom-value { font-size:11px; min-width:44px; text-align:center; }
.l4sap-plan-dialog .l4sap-plan-pan { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:24px; touch-action:pan-x pan-y pinch-zoom; }
.l4sap-plan-dialog .l4sap-plan-pan img { display:block; height:auto; max-width:none!important; margin:0 auto; background:white; }
.l4sap-page { padding-top:24px; padding-bottom:36px; }
.l4sap-page > .wp-block-group__inner-container { display:contents; }
.l4sap-page > :is(h2,p),.l4sap-page > .wp-block-group__inner-container > :is(h2,p) { width:min(var(--max,1320px),calc(100% - 2 * var(--gutter,40px))); margin:0 auto 18px; }
.l4sap-page .l4sap-page-kicker { color:#987348; font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.l4sap-page .l4sap-page-heading { color:#163c31; font-family:var(--serif,Georgia,serif); font-size:clamp(30px,4vw,49px); font-weight:400; line-height:1.13; margin-bottom:20px; }
.l4sap-page .l4sap-page-intro { max-width:1320px; font-size:15px; color:#61725d; }
@media(max-width:1040px) {
 .l4sap-module .l4sap-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .l4sap-module.l4sap-enhanced:not(.l4sap-reviews-list) .l4sap-review-card { flex-basis:calc((100% - 22px)/2); }
 .l4sap-module .l4sap-section-head { align-items:flex-start; gap:24px; }
 .l4sap-review-card { padding:24px 22px; }
}
@media(max-width:660px) {
 .l4sap-reviews { padding:48px 0 38px; }
 .l4sap-module .l4sap-section-head { flex-direction:column; gap:22px; margin-bottom:28px; }
 .l4sap-module .l4sap-track { grid-template-columns:minmax(0,1fr); }
 .l4sap-module.l4sap-enhanced:not(.l4sap-reviews-list) .l4sap-review-card { flex-basis:100%; }
 .l4sap-module .l4sap-reviews-foot { flex-direction:column; gap:21px; }
 .l4sap-module .l4sap-plan-link { white-space:normal; }
 .l4sap-review-card .l4sap-quote { font-size:18px; }
 .l4sap-module .l4sap-status { margin-right:4px; }
 .l4sap-plan .l4sap-plan-open { padding:14px; }
 .l4sap-plan .l4sap-plan-actions { flex-direction:column; align-items:flex-start; }
 .l4sap-plan-dialog .l4sap-dialog-toolbar { flex-wrap:wrap; padding:12px; }
 .l4sap-plan-dialog .l4sap-plan-pan { padding:14px; }
 .l4sap-plan-dialog .l4sap-zoom-tools { gap:5px; }
 .l4sap-plan-dialog .l4sap-dialog-toolbar strong { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .l4sap-module * { scroll-behavior:auto!important; transition:none!important; } }
@media print {
 .l4sap-module .l4sap-track,.l4sap-module.l4sap-enhanced .l4sap-track { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible!important; }
 .l4sap-module .l4sap-carousel-controls,.l4sap-plan-dialog { display:none!important; }
 .l4sap-review-card { break-inside:avoid; }
}
