/* Shared visual rules for every LFD language and page. */
:root{--lfd-action:#2563eb;--lfd-action-hover:#1d4ed8;--lfd-ink:#153e43;--lfd-muted:#52686b;--lfd-line:#cdd9d8;--lfd-paper:#fff;--coral:#2563eb;--ink:#153e43;--muted:#52686b;--line:#cdd9d8;--radius:3px}
html body{background:#fff;color:var(--lfd-ink);font-family:Arial,'Helvetica Neue',sans-serif;line-height:1.65}
html body h1,html body h2,html body h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--lfd-ink)}
html body .shell{width:min(calc(100% - 80px),1160px)}
html body .site-header{background:#fff;border-bottom:1px solid var(--lfd-line);box-shadow:none;backdrop-filter:none}
html body .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 24px;padding:16px 0 12px;min-height:0}
html body .brand{display:flex;align-items:center;gap:12px;font:600 16px/1.3 Arial,sans-serif;color:var(--lfd-ink)}
html body .brand img{width:102px;height:40px;object-fit:contain;border-radius:0}
html body .brand small{display:block;font:400 11px/1.4 Arial,sans-serif;color:var(--lfd-muted);margin-top:3px}
html body .nav-cta{display:flex;grid-row:1;grid-column:2;gap:12px;align-items:center}
html body .nav-menu{grid-row:2;grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:8px 24px;padding:14px 0 0;border:0;font:400 13px/1.4 Arial,sans-serif}
html body .nav-menu>a{padding:8px 0;font-weight:400;color:var(--lfd-ink)}
html body .nav-toggle{display:none}
html body .btn,html body .sticky-btn,html body .lfd-primary,html body .lfd-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;height:auto;max-width:100%;padding:13px 22px!important;border:1px solid var(--lfd-line)!important;border-radius:3px!important;box-shadow:none!important;font:600 14px/1.35 Arial,'Helvetica Neue',sans-serif!important;letter-spacing:0!important;text-align:center;white-space:normal;overflow-wrap:break-word;text-decoration:none!important;transition:background-color .15s,border-color .15s;transform:none!important}
html body .btn-primary,html body .sticky-book,html body .lfd-primary,html body #courses .course-card-actions .btn-primary{background:var(--lfd-action)!important;border-color:var(--lfd-action)!important;color:#fff!important}
html body .btn-primary:hover,html body .sticky-book:hover,html body .lfd-primary:hover{background:var(--lfd-action-hover)!important;border-color:var(--lfd-action-hover)!important;color:#fff!important;filter:none!important}
html body .btn-soft,html body .btn-whatsapp,html body .btn-messenger,html body .sticky-wa,html body .sticky-msg,html body .lfd-secondary{background:#fff!important;border-color:#b8c6c8!important;color:var(--lfd-ink)!important}
html body .btn-soft:hover,html body .btn-whatsapp:hover,html body .btn-messenger:hover,html body .sticky-wa:hover,html body .lfd-secondary:hover{background:#f4f7f6!important;border-color:#849d9f!important;color:var(--lfd-ink)!important;filter:none!important}
html body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #3b82f6!important;outline-offset:3px}
html body .hero-actions,html body .availability-actions,html body .course-page-nav,html body .centered-actions,html body .cta-buttons,html body .course-card-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px;margin-top:24px}
html body .course-card-actions .btn{width:auto}
html body .sticky-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:50%;right:auto;bottom:16px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);padding:8px;background:#fff;border:1px solid var(--lfd-line);border-radius:5px;box-shadow:0 3px 14px #153e4312;z-index:100}
html body .sticky-cta .sticky-btn{min-width:0;padding:12px 18px!important}
html body .sticky-msg{display:none!important}
html body .site-footer{background:#fff;color:var(--lfd-muted);padding:48px 0 104px;border-top:1px solid var(--lfd-line)}
html body .site-footer a{color:var(--lfd-ink)}
html body .section{padding:72px 0}
html body .course-page-hero{padding:64px 0 48px;background:#fff;border-bottom:1px solid var(--lfd-line)}
html body .course-page-hero h1{font-size:clamp(38px,5.2vw,68px);line-height:1.15;letter-spacing:-.025em}
html body .course-page-hero .lead{max-width:760px;font-size:18px;font-weight:400;line-height:1.65;color:var(--lfd-muted)}
html body .course-page-grid{gap:32px}
html body .course-page-card,html body .included-grid article,html body .card,html body .price-clarity-card{border-radius:0;box-shadow:none;background:#fff;border:0;border-top:1px solid var(--lfd-line)}
html body .course-summary,html body .booking-total{margin-top:40px;margin-bottom:40px}
html body .course-summary table,html body .booking-total table{border-collapse:collapse;background:#fff}
html body .course-summary th,html body .booking-total th{background:#f4f7f6;color:var(--lfd-ink)}
html body .final-cta{background:var(--lfd-ink);padding:64px 0;text-align:left}
html body .final-cta h2,html body .final-cta p,html body .final-cta .eyebrow{color:#fff}
html body .lfd-language{position:relative;margin-left:auto;min-width:110px}
html body .lfd-language summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--lfd-line);border-radius:3px;background:#fff;color:var(--lfd-ink);font:400 13px/1.4 Arial,sans-serif;min-height:40px}
html body .lfd-language summary::-webkit-details-marker{display:none}
html body .lfd-language summary::after{content:'⌄';font-size:14px}
html body .lfd-language-menu{position:absolute;right:0;top:calc(100% + 6px);display:grid;min-width:160px;padding:6px;background:#fff;border:1px solid var(--lfd-line);box-shadow:0 6px 20px #153e4312;z-index:110}
html body .lfd-language-menu a{display:block;padding:10px 12px;color:var(--lfd-ink);font:400 14px/1.4 Arial,sans-serif;text-decoration:none}
html body .lfd-language-menu a:hover,html body .lfd-language-menu a[aria-current=page]{background:#f4f7f6}
@media(max-width:1000px){html body .shell{width:calc(100% - 48px)}html body .nav-cta .btn-soft{display:inline-flex}}
@media(max-width:720px){html body .shell{width:calc(100% - 40px)}html body .nav{grid-template-columns:minmax(0,1fr) auto;padding:12px 0;gap:0}html body .brand{font-size:14px;gap:10px}html body .brand img{width:82px;height:34px}html body .brand small{display:none}html body .nav-toggle{display:flex;grid-column:2;grid-row:1;width:44px;height:44px;border:0;background:#fff}html body .nav-cta{display:none!important}html body .nav-menu{display:none;padding:12px 0 0}html body .nav.is-open .nav-menu{display:grid;grid-template-columns:1fr;grid-row:2;grid-column:1/-1;gap:0}html body .nav-menu>a{padding:12px 0;min-height:44px}html body .lfd-language{margin:12px 0 0;width:100%}html body .lfd-language-menu{position:static;margin-top:6px;box-shadow:none;grid-template-columns:1fr 1fr}html body .btn,html body .lfd-primary,html body .lfd-secondary{min-height:48px;padding:13px 18px!important}html body .hero-actions,html body .availability-actions,html body .course-page-nav,html body .centered-actions,html body .cta-buttons{align-items:stretch;gap:12px}html body .course-page-nav .btn{flex:1 1 140px}html body .course-page-nav .btn-primary{flex-basis:100%}html body .hero-availability-card .btn{width:100%}html body .sticky-cta{left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;border-radius:0;border-width:1px 0 0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}html body .sticky-cta .sticky-btn{font-size:12px!important;min-height:48px;padding:10px 8px!important;line-height:1.35!important}html body .section{padding:52px 0}html body .course-page-hero{padding:40px 0 32px}html body .course-page-hero h1{font-size:38px;line-height:1.2}html body .course-page-hero .lead{font-size:16px}html body .course-page-grid{gap:24px}html body .course-summary,html body .booking-total{margin-block:28px}html body .final-cta{padding:48px 0}html body .site-footer{padding-bottom:104px}}
@media(prefers-reduced-motion:reduce){html body .btn,html body .sticky-btn{transition:none}}
/* The embedded request form uses the same controls as the website. */
html body #requestForm button,html body #requestForm .chat{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border:1px solid #b8c6c8;border-radius:3px;font:600 14px/1.35 Arial,'Helvetica Neue',sans-serif;box-shadow:none;text-decoration:none}
html body #requestForm #send{background:#2563eb;border-color:#2563eb;color:#fff}
html body #requestForm #send:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}
html body #requestForm button[type=button],html body #requestForm .chat{background:#fff;border-color:#b8c6c8;color:#153e43}
html body #requestForm button[type=button]:hover,html body #requestForm .chat:hover{background:#f4f7f6}
html body #requestForm input,html body #requestForm select,html body #requestForm textarea{border-radius:3px;border-color:#b8c6c8;color:#153e43;font-family:Arial,'Helvetica Neue',sans-serif}
html body #requestForm .actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
html body #requestForm .actions #connection{flex-basis:100%}
html body #requestForm #send:disabled{opacity:.55;cursor:wait}
@media(max-width:560px){html body #requestForm .actions #send,html body #requestForm .actions .chat{width:100%}}

/* WhatsApp consultation actions, shared by all six languages. */
html body a:is(.btn,.sticky-btn,.chat)[href*="wa.me"],html body a:is(.btn,.sticky-btn,.chat)[href*="whatsapp.com"]{background:#25d366!important;border-color:#25d366!important;color:#103b24!important}
html body a:is(.btn,.sticky-btn,.chat)[href*="wa.me"]:hover,html body a:is(.btn,.sticky-btn,.chat)[href*="whatsapp.com"]:hover{background:#20c05c!important;border-color:#20c05c!important;color:#103b24!important;filter:none!important}

/* Booking is primary; consultation remains readable and easy to tap. */
html body a:is(.btn,.sticky-btn,.chat)[href*="wa.me"],html body a:is(.btn,.sticky-btn,.chat)[href*="whatsapp.com"]{min-height:44px;align-self:center;padding:10px 14px!important;font-size:13px!important;flex-grow:0}
html body .sticky-cta{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center}
html body .sticky-cta a.sticky-wa{min-height:44px;padding:10px 12px!important;font-size:13px!important}
@media(max-width:720px){html body .sticky-cta{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}html body .sticky-cta a.sticky-wa{min-height:44px;padding:8px 8px!important;font-size:12px!important}}
