/* Lions Club Merseburg e.V. — site styles
 * Canonical stylesheet for the header + footer layout.
 * Served at /fileadmin/templates/lions.css and linked from the Fluid layout.
 * (When the sitepackage is promoted to a Composer extension, move this into
 *  Resources/Public/Css/ and update the <link> in Layouts/Default.html.)
 */

:root{--lion-blue:#044e8e;--lion-gold:#fcc300;}
*{box-sizing:border-box;}
html{overflow-x:clip;}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#222;background:#fff;display:flex;flex-direction:column;min-height:100vh;overflow-x:clip;}
main{flex:1 0 auto;}

/* ---------- Header ---------- */
.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:14px 28px;background:var(--lion-blue);border-bottom:3px solid var(--lion-gold);box-shadow:0 1px 6px rgba(0,0,0,.15);}
.site-header .logo{display:inline-block;line-height:0;}
.site-header .logo img{display:block;height:64px;width:auto;}
.nav-toggle{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none;}
.nav-burger{display:none;cursor:pointer;color:#fff;font-size:30px;line-height:1;padding:4px 10px;user-select:none;order:3;}
.main-nav ul{list-style:none;margin:0;padding:0;}
.main-nav>ul.nav-top{display:flex;flex-wrap:wrap;gap:2px;}
.main-nav ul.nav-top>li{position:relative;}
.main-nav ul.nav-top>li>a{display:flex;align-items:center;gap:6px;padding:14px 16px;color:#fff;text-decoration:none;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.6px;}
.main-nav ul.nav-top>li.has-sub>a::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;}
.main-nav ul.nav-top>li:hover>a,.main-nav ul.nav-top>li.active>a{color:var(--lion-gold);}
.main-nav ul.submenu{position:absolute;left:0;top:100%;min-width:250px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.16);border-top:3px solid var(--lion-gold);padding:6px 0;display:none;z-index:100;}
.main-nav ul.nav-top>li:last-child>ul.submenu{left:auto;right:0;}
.main-nav ul.nav-top>li:hover>ul.submenu{display:block;}
.main-nav ul.submenu li a{display:block;padding:9px 20px;color:var(--lion-blue);text-decoration:none;font-size:14px;white-space:nowrap;}
.main-nav ul.submenu li a:hover{background:#f2f4f8;color:var(--lion-gold);}

/* ---------- Content ---------- */
main{padding:34px 20px 52px;}
main .frame{max-width:1120px;margin:0 auto;}
/* Large screens: wider content column, slimmer page padding */
@media(min-width:1280px){main{padding:24px 32px 40px;}main .frame{max-width:1440px;}}
main .frame + .frame{margin-top:6px;}
main .frame-type-header{margin-bottom:2px;}
main h1,main h2,main h3,main h4,main h5{color:var(--lion-blue);line-height:1.25;font-weight:700;}
main h1{font-size:30px;margin:.2em 0 .5em;border-bottom:2px solid var(--lion-gold);padding-bottom:.3em;}
main .frame-type-header h1,main .frame-type-header>header h2,main .frame-type-text>header h2{font-size:27px;margin:.1em 0 .1em;border-bottom:2px solid var(--lion-gold);padding-bottom:.3em;color:var(--lion-blue);}
main h2{font-size:23px;margin:1.3em 0 .5em;}
main h3{font-size:19px;margin:1.5em 0 .5em;color:var(--lion-blue);}
main h4{font-size:16px;margin:1.2em 0 .4em;color:#333;}
main h5{font-size:15px;margin:1.1em 0 .35em;color:#333;}
main p{line-height:1.75;margin:0 0 1.05em;font-size:16px;}
main a{color:var(--lion-blue);text-decoration:underline;text-underline-offset:2px;}
main a:hover{color:var(--lion-gold);}
main img{max-width:100%;height:auto;border-radius:8px;}
main .frame:first-child p:first-child img{width:100%;object-fit:cover;box-shadow:0 6px 22px rgba(0,0,0,.12);}
main ul,main ol{line-height:1.75;padding-left:1.25em;margin:0 0 1.1em;}
main li{margin:.3em 0;}
main table{border-collapse:collapse;width:100%;margin:.2em 0 1.4em;font-size:15px;box-shadow:0 1px 4px rgba(0,0,0,.06);}
main th,main td{border:1px solid #e2e6ee;padding:9px 13px;text-align:left;vertical-align:top;}
main th{background:var(--lion-blue);color:#fff;font-weight:700;}
main tbody tr:nth-child(even){background:#f5f8fc;}
main td p{margin:0;}
/* Tables typed into a rich-text field are wrapped by CKEditor in
 * <figure class="table">, which inherits the browser's default 40px side margins
 * and stops the table filling the column. Reset it so the table spans full width. */
main figure.table{margin:.2em 0 1.4em;width:100%;}
main figure.table>table{margin:0;}
/* Table style "aligned": the first two columns are fixed thirds (the last column
 * always takes the rest), so stacked tables with 2 or 3 columns line up */
main table.ce-table-aligned{table-layout:fixed;}
main table.ce-table-aligned :is(td,th):not(:last-child):is(:nth-child(1),:nth-child(2)){width:calc(100% / 3);}
/* Table style "Adventskalender-Gewinne" (ce-table-advent): the 4-column prize
 * tables (Preis | Sponsor | Gewinn | Kalender-Nr.) get one fixed column layout,
 * so a stack of them lines up instead of each sizing its columns to itself. */
main table.ce-table-advent{table-layout:fixed;}
main table.ce-table-advent :is(td,th):nth-child(1){width:11%;}
main table.ce-table-advent :is(td,th):nth-child(2){width:35%;}
main table.ce-table-advent :is(td,th):nth-child(3){width:34%;}
main table.ce-table-advent :is(td,th):nth-child(4){width:20%;word-break:break-word;}
/* "Weiterlesen…" call-to-action links */
main p>a[href^="/der-club"]:only-child,main a.readmore{display:inline-block;margin-top:.2em;font-weight:700;text-decoration:none;color:var(--lion-gold);}
main p>a[href^="/der-club"]:only-child:hover{color:var(--lion-blue);}

/* ---------- Home page modules ----------
 * Built from standard content elements in the Page module. Each module is a
 * "Frame" choice (Appearance > Frame, see Sets/LionsSitepackage/page.tsconfig)
 * which fluid_styled_content renders as a frame-<key> class on the wrapper.
 */
/* Titelbild: Text & Media element rendered as a layered slide (like the old
 * Revolution Slider). 1st image = background, 2nd image = logo layer (top
 * right), Subheader = black label, Header = headline, Text = thin intro line.
 * The frame is a grid: the text layers sit in a left column that ends before
 * the logo (so they can never run into it), anchored to the bottom so extra
 * lines grow upwards. Sizes follow the element width (cqw, 1170px grid) with
 * minimums; if the text needs more room, the slide grows taller. The frame's
 * own sizes use % — cqw there would resolve against an ancestor, not itself. */
main .frame.frame-home-hero{--hero-max-h:520px;position:relative;container-type:inline-size;width:100%;aspect-ratio:1170/569;max-height:var(--hero-max-h);display:grid;grid-template-columns:4% minmax(0,54%) 1fr;grid-template-rows:1fr auto auto;row-gap:clamp(8px,1.4vw,16px);padding-bottom:max(18px,4.5%);margin-bottom:28px;border-radius:8px;box-shadow:0 6px 22px rgba(0,0,0,.12);background:#f3e6d6;}
main .frame-home-hero :is(.ce-textpic,.ce-gallery,.ce-outer,.ce-inner,.ce-row,.ce-column,figure){display:contents;}
main .frame-home-hero img{display:block;border-radius:0;box-shadow:none;max-width:none;margin:0;}
/* Background photo */
main .frame-home-hero .ce-row:first-child img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:inherit;z-index:0;}
/* Logo layer: 38.7% wide, top right — the text column ends at 58cqw, the logo starts at ~60cqw.
 * Also limited to ~74% of the capped height (logo is 710x659) so it never gets cut off. */
main .frame-home-hero .ce-row:nth-child(2) img{position:absolute;right:.85cqw;top:.85cqw;width:min(38.7cqw,calc(var(--hero-max-h) * .795));height:auto;z-index:1;}
/* Text layers */
main .frame.frame-home-hero>header{grid-column:2;grid-row:2;position:relative;z-index:2;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:max(8px,1.6cqw);margin:0;}
main .frame.frame-home-hero>header :is(h1,h2,h3,h4,h5){margin:0;padding:0;border:0;}
main .frame.frame-home-hero>header :is(h1,h2):first-child{font-size:clamp(22px,4.6cqw,54px);line-height:1.08;font-weight:800;color:#000;overflow-wrap:break-word;}
main .frame.frame-home-hero>header :is(h2,h3,h4):last-child:not(:first-child){display:inline;max-width:5.2em;font-family:Arial,Helvetica,sans-serif;font-size:clamp(16px,3.08cqw,36px);line-height:1;font-weight:700;letter-spacing:-.04em;color:#fff;background:#000;padding:.03em .11em 0;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
main .frame-home-hero .ce-bodytext{grid-column:2;grid-row:3;position:relative;z-index:2;margin:0;}
main .frame-home-hero .ce-bodytext p{margin:0;font-size:clamp(13px,1.37cqw,16px);line-height:1.6;font-weight:300;color:#101010;}
/* Phones: label + headline stay layered on the picture and scale with it;
 * only the intro line moves below. The ::before box reserves the picture area
 * (row 1), the text line gets row 2. */
@media(max-width:700px){
main .frame.frame-home-hero{aspect-ratio:auto;max-height:none;grid-template-columns:4% minmax(0,56%) 1fr;grid-template-rows:auto auto;row-gap:14px;padding:0;background:none;box-shadow:none;border-radius:0;}
main .frame.frame-home-hero::before{content:"";grid-column:1/-1;grid-row:1;aspect-ratio:1170/569;border-radius:8px;background:#f3e6d6;box-shadow:0 6px 22px rgba(0,0,0,.12);}
main .frame-home-hero .ce-row:first-child img{inset:0 0 auto 0;height:auto;aspect-ratio:1170/569;border-radius:8px;}
main .frame.frame-home-hero>header{grid-row:1;align-self:end;margin-bottom:5%;gap:1.4cqw;}
main .frame.frame-home-hero>header :is(h1,h2):first-child{font-size:5.4cqw;}
main .frame.frame-home-hero>header :is(h2,h3,h4):last-child:not(:first-child){font-size:3.7cqw;}
main .frame-home-hero .ce-bodytext{grid-column:1/-1;grid-row:2;}
main .frame-home-hero .ce-bodytext p{font-size:16px;}
}
/* Einleitungstext: Text element without header */
main .frame-home-lead{margin-bottom:26px;}
main .frame-home-lead p{font-size:17px;line-height:1.7;}
/* Box: Text / Bullet list / Form element; its header becomes the blue band */
main .frame.frame-home-box{margin-bottom:26px;}
main .frame.frame-home-box>header :is(h1,h2,h3,h4,h5),main .frame.frame-home-checklist>header :is(h1,h2,h3,h4,h5){background:var(--lion-blue);color:#fff;border:0;border-left:6px solid var(--lion-gold);padding:12px 18px;margin:0 0 15px;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;border-radius:0 3px 3px 0;}
main .frame-home-box>:last-child>:last-child{margin-bottom:0;}
/* A paragraph holding only a link ("Weiterlesen") renders as a button */
main .frame-home-box p>a:only-child,main .frame-home-box button[type=submit]{display:inline-block;background:var(--lion-blue);color:#fff;text-decoration:none;padding:10px 22px;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.6px;border:0;border-radius:3px;cursor:pointer;transition:background .15s,color .15s;}
main .frame-home-box p>a:only-child:hover,main .frame-home-box button[type=submit]:hover{background:#063e77;color:var(--lion-gold);}
/* Motto-Banner: Header element */
main .frame.frame-serve-banner{background:var(--lion-gold);text-align:center;padding:36px 0;margin:36px 0 32px;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
main .frame.frame-serve-banner>*{max-width:1120px;margin:0 auto;padding:0 20px;}
main .frame.frame-serve-banner :is(h1,h2,h3,h4,h5){color:var(--lion-blue);font-size:33px;font-weight:700;font-style:italic;line-height:1.3;margin:0;padding:0;border:0;}
main .frame-serve-banner :is(h1,h2,h3,h4,h5)::before,main .frame-serve-banner :is(h1,h2,h3,h4,h5)::after{font-style:normal;font-weight:900;font-size:1em;opacity:.85;}
main .frame-serve-banner :is(h1,h2,h3,h4,h5)::before{content:"\201C";margin-right:.06em;}
main .frame-serve-banner :is(h1,h2,h3,h4,h5)::after{content:"\201D";margin-left:.06em;}
@media(min-width:1280px){main .frame.frame-serve-banner>*{max-width:1440px;}}
@media(max-width:1000px){main .frame.frame-serve-banner{padding:26px 0;}main .frame.frame-serve-banner>*{padding:0 16px;}main .frame.frame-serve-banner :is(h1,h2,h3,h4,h5){font-size:26px;}}
/* Kennzahlen: Bullet List (definition list) — "value|label" per line */
main .frame.frame-home-stats{background:var(--lion-blue);border-radius:8px;padding:28px 24px;margin-bottom:28px;}
main .frame-home-stats>header{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
main .frame-home-stats dl{display:grid;grid-template-rows:auto auto;grid-auto-flow:column;grid-auto-columns:1fr;column-gap:20px;margin:0;text-align:center;}
main .frame-home-stats dt{font-size:clamp(28px,3.2vw,40px);font-weight:800;line-height:1.1;color:var(--lion-gold);}
main .frame-home-stats dd{margin:6px 0 0;font-size:14px;line-height:1.4;color:#fff;letter-spacing:.3px;}
@media(max-width:700px){main .frame-home-stats dl{display:block;}main .frame-home-stats dd{margin-bottom:18px;}main .frame-home-stats dd:last-child{margin-bottom:0;}}
/* Cards: Text & Media with icon image. main becomes a wrapping flex row only
 * on pages that contain cards; everything else keeps full width. */
main:has(>.frame-home-card){display:flex;flex-wrap:wrap;justify-content:center;column-gap:24px;align-content:flex-start;}
main:has(>.frame-home-card)>.frame{flex:0 0 100%;}
main:has(>.frame-home-card)>.frame.frame-home-card{flex:0 0 calc((min(100%,1440px) - 48px) / 3);max-width:none;margin:0 0 24px;display:flex;flex-direction:column;align-items:flex-start;background:#f5f8fc;border-top:4px solid var(--lion-gold);border-radius:8px;padding:24px;}
main .frame-home-card .ce-textpic{display:contents;}
main .frame-home-card .ce-gallery{order:-1;float:none;margin:0 0 14px;}
main .frame-home-card :is(.ce-outer,.ce-inner,.ce-row,.ce-column,figure){float:none;right:auto;margin:0;}
main .frame-home-card img{width:64px;height:64px;border-radius:0;box-shadow:none;}
main .frame-home-card>header :is(h2,h3){margin:0 0 10px;font-size:18px;text-transform:uppercase;letter-spacing:.6px;border:0;padding:0;}
main .frame-home-card .ce-bodytext{display:flex;flex-direction:column;flex:1;}
main .frame-home-card .ce-bodytext p:last-child{margin:auto 0 0;padding-top:6px;}
main .frame-home-card p>a:only-child{display:inline-block;background:var(--lion-blue);color:#fff;text-decoration:none;padding:10px 22px;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.6px;border-radius:3px;}
main .frame-home-card p>a:only-child:hover{background:#063e77;color:var(--lion-gold);}
@media(max-width:900px){main:has(>.frame-home-card)>.frame.frame-home-card{flex-basis:100%;}}
/* Checkliste: Bullet List in two columns with check marks */
main .frame.frame-home-checklist{margin-bottom:26px;}
main .frame-home-checklist ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;}
@media(max-width:700px){main .frame-home-checklist ul{grid-template-columns:1fr;}}
main .frame-home-checklist li{position:relative;margin:0;padding:14px 16px 14px 52px;background:#f5f8fc;border-radius:6px;line-height:1.55;}
main .frame-home-checklist li::before{content:"";position:absolute;left:14px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--lion-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23044e8e' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/16px no-repeat;}
/* Contact form (EXT:form) inside a box */
main .frame-home-box form{display:grid;gap:14px;}
main .frame-home-box form .form-group,main .frame-home-box form .form-check{display:flex;flex-direction:column;gap:5px;}
main .frame-home-box form label{font-weight:700;font-size:13px;color:#333;}
main .frame-home-box form .required{color:var(--lion-blue);}
main .frame-home-box form input:not([type=checkbox]):not([type=hidden]),main .frame-home-box form textarea{font:inherit;padding:10px 12px;border:1px solid #cdd4df;border-radius:4px;background:#fff;width:100%;}
main .frame-home-box form textarea{resize:vertical;min-height:120px;}
main .frame-home-box form input:focus,main .frame-home-box form textarea:focus{outline:none;border-color:var(--lion-blue);box-shadow:0 0 0 2px rgba(4,78,142,.25);}
main .frame-home-box form .form-check label,main .frame-home-box form label.add-on{display:flex;flex-direction:row;align-items:flex-start;gap:9px;font-weight:400;font-size:14px;}
main .frame-home-box form input[type=checkbox]{margin-top:3px;}
main .frame-home-box form .error,main .frame-home-box form .help-block,main .frame-home-box form .invalid-feedback{color:#b3261e;font-size:13px;}
main .frame-home-box form .actions,main .frame-home-box form nav{margin-top:2px;}

/* ---------- Modules for the content pages ----------
 * Same principle as the home page modules above: a "Frame" or "Table style"
 * choice on a standard content element (see Sets/LionsSitepackage/page.tsconfig).
 */
/* Navigationskarten: a "Menu > Subpages" element as a grid of link cards */
main .frame.frame-lions-nav-cards{margin-bottom:28px;}
main .frame-lions-nav-cards ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;}
main .frame-lions-nav-cards li{margin:0;}
main .frame-lions-nav-cards a{display:flex;align-items:center;gap:10px;height:100%;background:#f5f8fc;border-top:4px solid var(--lion-gold);border-radius:8px;padding:20px 18px;text-decoration:none;font-weight:700;font-size:15px;line-height:1.35;color:var(--lion-blue);text-transform:uppercase;letter-spacing:.5px;transition:background .15s;}
main .frame-lions-nav-cards a::after{content:"\203A";margin-left:auto;font-size:24px;line-height:1;color:var(--lion-gold);}
main .frame-lions-nav-cards a:hover{background:#eaf1fa;color:var(--lion-blue);}
/* Zeitleiste: Bullet List, type "Definition list", each line "Zeitpunkt|Text" */
main .frame.frame-lions-timeline{margin-bottom:28px;}
main .frame-lions-timeline dl{position:relative;margin:0;padding:4px 0 0 36px;}
main .frame-lions-timeline dl::before{content:"";position:absolute;left:10px;top:12px;bottom:12px;width:2px;background:#dbe4f2;}
main .frame-lions-timeline dt{position:relative;margin-top:20px;font-size:17px;font-weight:800;line-height:1.3;color:var(--lion-blue);}
main .frame-lions-timeline dt:first-child{margin-top:0;}
main .frame-lions-timeline dt::before{content:"";position:absolute;left:-36px;top:2px;width:22px;height:22px;border-radius:50%;background:var(--lion-gold);border:3px solid #fff;box-shadow:0 0 0 2px var(--lion-gold);}
main .frame-lions-timeline dd{margin:5px 0 0;line-height:1.7;}
/* Zitat: Text element as a pull quote with a gold bar */
main .frame.frame-lions-quote{background:#f5f8fc;border-left:6px solid var(--lion-gold);border-radius:0 8px 8px 0;padding:22px 26px;margin:8px 0 28px;}
main .frame-lions-quote>header :is(h1,h2,h3,h4,h5){margin:0 0 10px;padding:0;border:0;font-size:20px;font-style:italic;color:var(--lion-blue);}
main .frame-lions-quote p:last-child{margin-bottom:0;}
/* Kalenderkarte: Table element as an Advent-calendar door; two cards per row */
main:has(>.frame-lions-advent){display:flex;flex-wrap:wrap;justify-content:center;column-gap:24px;align-content:flex-start;}
main:has(>.frame-lions-advent)>.frame{flex:0 0 100%;}
main:has(>.frame-lions-advent)>.frame.frame-lions-advent{flex:0 0 calc((min(100%,1440px) - 24px) / 2);max-width:none;margin:0 0 24px;background:#f5f8fc;border-top:4px solid var(--lion-gold);border-radius:8px;padding:18px 20px 10px;}
main .frame-lions-advent>header :is(h2,h3){position:relative;margin:0 0 12px;padding:0 0 0 44px;border:0;font-size:18px;line-height:32px;color:var(--lion-blue);text-transform:uppercase;letter-spacing:.5px;}
main .frame-lions-advent>header :is(h2,h3)::before{content:"";position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--lion-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23044e8e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11h18v10H3zM3 7h18v4H3zM12 7v14M12 7S10.5 3 8 3a2.5 2.5 0 000 5M12 7s1.5-4 4-4a2.5 2.5 0 010 5'/%3E%3C/svg%3E") center/19px no-repeat;}
main .frame-lions-advent table{margin:0 0 10px;font-size:14px;box-shadow:none;}
main .frame-lions-advent :is(td,th){border:0;border-bottom:1px solid #e2e6ee;padding:8px 6px;}
main .frame-lions-advent tbody tr{background:transparent;}
main .frame-lions-advent tbody tr:last-child :is(td,th){border-bottom:0;}
main .frame-lions-advent td:first-child{white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#5b6b80;}
main .frame-lions-advent td:nth-child(2){font-weight:700;color:var(--lion-blue);}
main .frame-lions-advent td:last-child{white-space:nowrap;font-size:12.5px;color:#5b6b80;}
@media(max-width:900px){main:has(>.frame-lions-advent)>.frame.frame-lions-advent{flex-basis:100%;}}
/* Phones: a day's table has four columns — stack each prize as a block */
@media(max-width:700px){
main .frame-lions-advent :is(table,tbody,tr,td,th){display:block;}
main .frame-lions-advent tr{padding:8px 0;border-bottom:1px solid #e2e6ee;}
main .frame-lions-advent tr:last-child{border-bottom:0;}
main .frame-lions-advent :is(td,th){border:0;padding:1px 0;white-space:normal;}
}
/* Table style "persons": a name list as tiles (Vorname | Nachname [| Funktion]) */
main table.ce-table-persons{display:block;border:0;box-shadow:none;}
main table.ce-table-persons tbody{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;}
main table.ce-table-persons tr{display:block;background:#f5f8fc;border-left:4px solid var(--lion-gold);border-radius:6px;padding:12px 14px;}
main table.ce-table-persons :is(td,th){display:block;border:0;padding:0;background:none;color:inherit;}
main table.ce-table-persons td:first-child{font-size:13px;line-height:1.3;color:#5b6b80;}
main table.ce-table-persons td:nth-child(2){font-size:16px;font-weight:700;line-height:1.3;color:var(--lion-blue);}
main table.ce-table-persons td:nth-child(3):not(:empty){margin-top:5px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#8a6d00;}
/* Table style "contact": label/value pairs as tiles */
main table.ce-table-contact{display:block;border:0;box-shadow:none;}
main table.ce-table-contact tbody{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;}
main table.ce-table-contact tr{display:block;background:#f5f8fc;border-top:3px solid var(--lion-gold);border-radius:8px;padding:14px 16px;}
main table.ce-table-contact :is(td,th){display:block;border:0;padding:0;background:none;color:inherit;}
main table.ce-table-contact td:first-child{margin-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#5b6b80;}
main table.ce-table-contact td:last-child{font-size:16px;font-weight:700;line-height:1.45;color:var(--lion-blue);}

/* ---------- Footer ---------- */
.site-footer{flex-shrink:0;background:var(--lion-blue);color:#dbe4f2;border-top:3px solid var(--lion-gold);}
.site-footer .footer-cols{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:32px;padding:40px 28px;}
.site-footer .footer-col{flex:1 1 260px;min-width:0;}
.site-footer h3{margin:0 0 14px;color:#fff;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;border-bottom:2px solid var(--lion-gold);padding-bottom:8px;}
.site-footer p{margin:0;line-height:1.7;font-size:14px;}
.site-footer a{color:var(--lion-gold);text-decoration:none;}
.site-footer a:hover{text-decoration:underline;}
.site-footer .footer-bar{border-top:1px solid rgba(255,255,255,.15);padding:16px 28px;text-align:center;font-size:12.5px;color:#9fb4d1;}
.site-footer .footer-bar a{color:#cdd9ec;}

/* ---------- Mobile ---------- */
@media(max-width:1000px){
.nav-burger{display:block;}
.main-nav{flex-basis:100%;order:4;}
.main-nav>ul.nav-top{flex-direction:column;width:100%;gap:0;display:none;}
.nav-toggle:checked~.main-nav>ul.nav-top{display:flex;}
.main-nav ul.nav-top>li>a{padding:12px 2px;border-top:1px solid rgba(255,255,255,.18);}
.main-nav ul.nav-top>li.has-sub>a::after{margin-left:auto;}
.main-nav ul.submenu{position:static;display:block;box-shadow:none;border-top:0;padding:0 0 8px 16px;min-width:0;background:transparent;}
.main-nav ul.nav-top>li:last-child>ul.submenu{right:auto;}
.main-nav ul.submenu li a{color:#dbe4f2;padding:8px 2px;}
.site-footer .footer-cols{gap:24px;padding:28px 22px;}
}
