.complutum-legal { color:#696077; background:#fff; padding-bottom:72px; }
.complutum-legal__intro { padding:70px 0 48px; background:linear-gradient(180deg,#f0f4e9,white); }
.complutum-legal__intro h1 { max-width:900px; font-size:36px; font-weight:400; line-height:1.15; color:#5d536d; letter-spacing:0; margin:20px 0; }
.complutum-legal__intro p:not(.complutum-legal__eyebrow) { max-width:720px; font-size:17px; line-height:1.7; }
.complutum-legal__intro small { display:block; margin-top:24px; font-size:12px; }
.complutum-legal__eyebrow { display:flex; align-items:center; gap:12px; color:#718939; font-size:12px; font-weight:600; text-transform:uppercase; }
.complutum-legal__eyebrow::before { content:""; width:28px; height:1px; background:currentColor; }
.complutum-legal__layout { display:grid; gap:36px; }
.complutum-legal__index { display:flex; flex-direction:column; gap:12px; font-size:14px; padding-bottom:28px; border-bottom:1px solid #dde3d5; }
.complutum-legal a { color:#52682c; text-underline-offset:4px; }
.complutum-legal__index a { text-decoration:none; }
.complutum-legal__body { min-width:0; max-width:76ch; }
.complutum-legal__body section { scroll-margin-top:calc(var(--complutum-header-offset, 100px) + 24px); padding-bottom:32px; }
.complutum-legal__body h2 { color:#5d536d; font-size:25px; line-height:1.3; font-weight:400; letter-spacing:0; margin:0 0 20px; }
.complutum-legal__body p, .complutum-legal__body li, .complutum-legal__body dd { font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.complutum-legal__body li { margin-bottom:14px; }
.complutum-legal__body ul { padding-left:22px; }
.complutum-legal__review { padding:20px 0 20px 20px; border-left:2px solid #8fa84a; margin:0 0 40px; }
.legal-inventory dt { color:#5d536d; font-weight:600; overflow-wrap:anywhere; margin-top:28px; }
.legal-inventory dd { margin:8px 0 24px; border-bottom:1px solid #e6eadd; padding-bottom:24px; }
.complutum-privacy-action { display:inline-block; padding:12px 18px; background:#fff; border:1px solid #b1be96; border-radius:4px; color:#52682c; font-size:14px; text-decoration:none; }
.complutum-map-permission { position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; text-align:center; background:#f1f4eb; color:#5d536d; }
.complutum-map-permission p { max-width:290px; margin:12px 0 20px; font-size:14px; line-height:1.6; }
.complutum-map-permission strong { max-width:300px; }
.complutum-map-permission[hidden] { display:none; }
.contact-location { position:relative; }
.complutum-privacy-dialog { box-sizing:border-box; border:1px solid #dbe2d0; border-radius:8px; width:min(540px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:32px 24px 24px; color:#696077; background:#fff; box-shadow:0 24px 80px #20291b33; }
.complutum-privacy-dialog::backdrop { background:#18241566; }
.complutum-privacy-dialog h2 { font-size:25px; font-weight:400; line-height:1.25; color:#5d536d; padding-right:15px; margin:8px 0 18px; }
.complutum-privacy-dialog p { font-size:15px; line-height:1.7; }
.complutum-privacy-dialog a { color:#52682c; text-underline-offset:4px; }
.complutum-privacy-close { position:absolute; right:8px; top:8px; width:36px; height:36px; background:none; border:0; font-size:26px; color:#5d536d; cursor:pointer; }
.complutum-privacy-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
.complutum-privacy-choices button { background:#eff3e8; color:#425823; border:1px solid #acbb8c; border-radius:4px; padding:14px 8px; font:inherit; font-size:14px; cursor:pointer; }
.complutum-privacy-choices button:hover { background:#e0e8d4; }
.complutum-privacy-status:empty { display:none; }
.complutum-form__privacy-summary { font-size:12px; line-height:1.65; color:#696077; margin:12px 0; }
.complutum-form__privacy-summary a { color:#52682c; text-decoration:underline; text-underline-offset:3px; }
.complutum-cookie-bar { position:fixed; inset:auto 0 0; z-index:100000; background:linear-gradient(115deg,#fff 35%,#f5f8ef); color:#696077; border:1px solid #dce5cc; border-bottom:0; border-radius:28px 28px 0 0; box-shadow:0 -14px 44px #38442b1c,0 -3px 12px #38442b0a,inset 0 2px 0 #fff; padding:24px 22px calc(22px + env(safe-area-inset-bottom, 0px)); max-height:80dvh; overflow-y:auto; overscroll-behavior:contain; }
.complutum-cookie-bar[hidden] { display:none; }
.complutum-cookie-bar__inner { max-width:1320px; margin:0 auto; display:grid; gap:16px; }
.complutum-cookie-bar h2 { font-size:19px; line-height:1.3; font-weight:600; color:#5d536d; margin:0 0 8px; letter-spacing:0; }
.complutum-cookie-bar p { font-size:13px; line-height:1.65; margin:0; }
.complutum-cookie-bar a, .complutum-cookie-nojs a { color:#52682c; text-decoration:underline; text-underline-offset:3px; }
.complutum-cookie-bar__actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.complutum-cookie-bar__actions button, .complutum-cookie-save { font:inherit; font-size:14px; min-height:46px; padding:12px 16px; border:1px solid #52682c; border-radius:16px; color:#fff; background:linear-gradient(#657d39,#52682c); box-shadow:0 5px 12px #52682c24,inset 0 1px 0 #ffffff35; cursor:pointer; }
.complutum-cookie-bar__actions button:hover, .complutum-cookie-save:hover { background:#405421; }
.complutum-cookie-bar__actions [data-map-settings] { grid-column:1/-1; background:#fff; color:#52682c; }
.complutum-cookie-bar__actions [data-map-settings]:hover { background:#f0f4e9; }
.complutum-cookie-bar button:focus-visible, .complutum-privacy-dialog button:focus-visible, .complutum-privacy-dialog input:focus-visible { outline:2px solid #5d536d; outline-offset:3px; }
.complutum-privacy-dialog { overscroll-behavior:contain; border-radius:24px; box-shadow:0 24px 70px #30293d2b,0 5px 16px #30293d12; }
.complutum-cookie-category { border-top:1px solid #dce3d1; padding:18px 0 0; margin-top:18px; }
.complutum-cookie-category > span { float:right; color:#52682c; font-size:12px; }
.complutum-cookie-category label { display:flex; gap:12px; align-items:center; cursor:pointer; }
.complutum-cookie-category label span { margin-left:auto; font-size:12px; }
.complutum-cookie-category input { accent-color:#52682c; width:22px; height:22px; flex:0 0 22px; }
.complutum-cookie-category p { margin:10px 0 16px; font-size:14px; }
.complutum-cookie-save { width:100%; margin-top:12px; }
.complutum-cookie-nojs { padding:24px; font-size:14px; background:#f0f4e9; }
@media(min-width:600px) {
 .complutum-cookie-bar__actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .complutum-cookie-bar__actions [data-map-settings] { grid-column:auto; }
}
@media(min-width:1100px) {
 .complutum-cookie-bar { padding:26px 36px calc(26px + env(safe-area-inset-bottom, 0px)); border-radius:40px 40px 0 0; }
 .complutum-cookie-bar__inner { grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:center; }
 .complutum-cookie-bar__actions { min-width:360px; }
}
@media(prefers-reduced-motion:no-preference) {
 .complutum-cookie-bar__actions button,.complutum-cookie-save { transition:transform .2s ease,box-shadow .2s ease; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .complutum-cookie-bar__actions button:hover,.complutum-cookie-save:hover { transform:translateY(-2px); box-shadow:0 8px 18px #52682c2b,inset 0 1px 0 #ffffff35; }
}
@media(min-width:768px) {
 .complutum-legal__intro { padding:80px 0 60px; }
 .complutum-legal__intro h1 { font-size:48px; }
 .complutum-legal__layout { grid-template-columns:220px minmax(0,1fr); gap:48px; align-items:start; }
 .complutum-legal__index { position:sticky; top:calc(var(--complutum-header-offset, 100px) + 24px); border:0; }
}
@media(min-width:1200px) {
 .complutum-legal__layout { gap:100px; grid-template-columns:240px minmax(0,1fr); }
 .complutum-legal__intro h1 { font-size:56px; }
}
