/* Low specificity lets Elementor containers and Custom CSS override all defaults.
   No fixed columns, card backgrounds, font sizes, borders or button colors. */
:where(.glf-portal, .glf-map-widget) {
 color: var(--glf-text-color, var(--e-global-color-text, inherit));
 font-family: var(--glf-font-family, var(--e-global-typography-text-font-family, inherit));
 font-weight: var(--glf-font-weight, var(--e-global-typography-text-font-weight, inherit));
}
:where(.glf-portal h2, .glf-portal h3) {
 color: var(--glf-heading-color, var(--e-global-color-primary, inherit));
 font-family: var(--glf-heading-font-family, var(--e-global-typography-primary-font-family, inherit));
 font-weight: var(--glf-heading-font-weight, var(--e-global-typography-primary-font-weight, inherit));
}
:where(.glf-portal a) { color: var(--glf-link-color, var(--e-global-color-accent, inherit)); }
:where(.glf-portal input, .glf-portal select, .glf-portal textarea, .glf-map-search) {
 box-sizing: border-box;
 max-width: 100%;
 font: inherit;
}
:where(.glf-input, .glf-map-search) { width: 100%; }
:where(.glf-portal button, .glf-map-result) { font: inherit; cursor: pointer; }
:where(.glf-board-card) { min-width: 0; }
:where(.glf-board-image img) { max-width: 100%; height: auto; }
:where(.glf-tiles a, .glf-map-result) { display: block; }
/* Leaflet requires a nonzero height. This is the only functional fixed dimension. */
:where(.glf-map-canvas) { width: 100%; height: var(--glf-map-height, 480px); overflow: hidden; }
:where(.glf-map-list) { max-height: var(--glf-map-list-height, 230px); overflow: auto; }
:where(.glf-map-result) { width: 100%; text-align: start; }

/* GLF medlemsområde — samme farver og typografi som hovedsiden. */
.glf-member-shell {
 --glf-text-color:#1e3c2f; --glf-heading-color:#1e3c2f; --glf-link-color:#8b6514;
 --glf-font-family:'Poppins',sans-serif; --glf-heading-font-family:'Josefin Sans',sans-serif;
 color:#1e3c2f; font-family:'Poppins',sans-serif; font-size:18px; line-height:1.65;
 max-width:1200px; margin:0 auto; padding:48px 32px 80px;
}
body.glf-member-page { background:#fff9f2; }
body.glf-member-page main#content { width:100%; max-width:none; padding:0; }
body.glf-member-page main > .page-header { display:none; }
body.glf-member-page .page-content { padding:0 !important; max-width:none !important; }
.glf-member-shell *, .glf-member-shell *::before, .glf-member-shell *::after { box-sizing:border-box; }
.glf-member-hero { max-width:820px; padding:24px 0 36px; }
.glf-member-shell .glf-eyebrow { font-size:13px; font-weight:600; letter-spacing:.13em; margin:0 0 16px; color:#577c7e; }
.glf-member-shell h1 { font-family:'Josefin Sans',sans-serif; color:#1e3c2f; font-size:clamp(32px,4.5vw,54px); font-weight:700; line-height:1.12; margin:0 0 20px; text-transform:uppercase; overflow-wrap:anywhere; }
.glf-member-shell h2 { font-family:'Josefin Sans',sans-serif; font-size:28px; font-weight:600; line-height:1.25; color:#1e3c2f; margin:0 0 16px; }
.glf-member-shell h3 { font-family:'Josefin Sans',sans-serif; font-size:23px; font-weight:600; line-height:1.3; margin:32px 0 12px; }
.glf-member-shell p { margin:0 0 20px; }
.glf-member-shell a { color:#765713; text-underline-offset:4px; }
.glf-member-nav { display:flex; gap:8px; align-items:center; flex-wrap:wrap; border-block:1px solid #c8d2ca; padding:16px 0; margin:0 0 36px; }
.glf-member-nav a { font-size:15px; font-weight:500; color:#1e3c2f; padding:10px 15px; text-decoration:none; border-radius:30px; }
.glf-member-nav a[aria-current=page],.glf-member-nav a:hover { background:#1e3c2f; color:#fff9f2; }
.glf-member-nav .glf-logout { margin-left:auto; text-decoration:underline; }
.glf-member-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.glf-member-card { display:flex; flex-direction:column; align-items:flex-start; background:#fff; border:1px solid #d8dfd7; border-top:4px solid #9fbbbc; padding:28px; border-radius:4px; }
.glf-member-card p { font-size:16px; margin-bottom:28px; }
.glf-member-shell .glf-member-button,.glf-member-shell button { border:1px solid #1e3c2f; border-radius:100px; background:#1e3c2f; color:#fff9f2; padding:13px 23px; font:600 15px/1.4 'Poppins',sans-serif; text-decoration:none; cursor:pointer; min-height:48px; }
.glf-member-card .glf-member-button { margin-top:auto; }
.glf-member-shell button:hover,.glf-member-shell .glf-member-button:hover { background:#577c7e; border-color:#577c7e; color:white; }
.glf-member-shell :is(a,button,input,select,textarea):focus-visible { outline:3px solid #cd961b; outline-offset:4px; }
.glf-member-note { background:#e8eeea; padding:30px; margin-top:36px; border-left:4px solid #577c7e; }
.glf-member-note p { max-width:76ch; font-size:16px; }
.glf-member-note h2 { font-size:25px; }
.glf-member-panel { background:#fff; border:1px solid #d8dfd7; border-radius:4px; padding:36px; }
.glf-member-panel .glf-portal > h2, .glf-member-panel .glf-board > h2 { display:none; }
.glf-member-shell .glf-portal { font-family:'Poppins',sans-serif; color:#1e3c2f; }
.glf-member-shell label { display:block; font-size:16px; font-weight:500; }
.glf-member-shell input:not([type=checkbox]):not([type=hidden]), .glf-member-shell select,.glf-member-shell textarea { width:100%; max-width:100%; min-height:50px; padding:12px 14px; background:#fffdf9; border:1px solid #97aaa0; border-radius:4px; color:#1e3c2f; font:400 17px/1.5 'Poppins',sans-serif; margin-top:7px; }
.glf-member-shell input[type=checkbox] { width:20px; height:20px; accent-color:#1e3c2f; vertical-align:middle; margin-right:8px; }
.glf-member-shell textarea { min-height:180px; resize:vertical; }
.glf-member-shell .glf-form { max-width:760px; }
.glf-part-login { max-width:620px; }
.glf-part-login > h3 { border-top:1px solid #d8dfd7; padding-top:28px; }
.glf-member-shell .glf-form-profile h3 { border-top:1px solid #d8dfd7; padding-top:28px; }
.glf-member-shell .glf-message { background:#edf4eb; border-left:4px solid #577c7e; padding:16px 20px; }
.glf-member-shell .glf-board-filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-bottom:28px; }
.glf-member-shell .glf-board-filters label { flex:1 1 200px; }
.glf-member-shell .glf-board-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:24px; }
.glf-member-shell .glf-board-card { border:1px solid #d8dfd7; border-radius:4px; overflow:hidden; }
.glf-member-shell .glf-board-image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.glf-member-shell .glf-board-content { padding:24px; }
.glf-member-shell .glf-board-content h3 { margin:16px 0 12px; }
.glf-member-shell .glf-board-category { color:#577c7e; font-size:13px; text-transform:uppercase; letter-spacing:.08em; }
.glf-member-shell .glf-board-meta,.glf-member-shell .glf-board-expiry { font-size:13px; color:#526457; }
.glf-member-shell .glf-board-body { font-size:16px; margin:18px 0; overflow-wrap:anywhere; }
.glf-member-shell .glf-map-result { color:#1e3c2f; background:white; border-radius:4px; border:1px solid #d8dfd7; margin:8px 0; text-align:left; }
.glf-member-shell .glf-map-result:hover { color:white; background:#577c7e; }
.glf-member-menu > a { text-decoration-thickness:2px; }
@media(max-width:1024px){.glf-member-shell{padding-inline:24px}.glf-member-cards{grid-template-columns:1fr}.glf-member-card{padding:28px}.glf-member-nav .glf-logout{margin-left:0}}
@media(max-width:767px){.glf-member-shell{padding:32px 20px 48px;font-size:17px}.glf-member-hero{padding:16px 0 24px}.glf-member-shell .glf-eyebrow{font-size:11px;letter-spacing:.09em}.glf-member-panel,.glf-member-card,.glf-member-note{padding:22px}.glf-member-nav{gap:6px;margin-bottom:24px}.glf-member-nav a{padding:9px 12px;font-size:14px}.glf-member-shell h2{font-size:25px}.glf-member-shell h3{font-size:22px}.glf-member-shell .glf-board-filters{display:block}.glf-member-shell .glf-board-filters label{margin-bottom:16px}.glf-member-shell .glf-board-filters button{width:100%}.glf-member-shell .glf-board-content{padding:20px}}

.glf-subscription,.glf-mail-preview { background:#edf1ec; border-left:4px solid #577c7e; margin-top:32px; padding:24px; }
.glf-subscription h3,.glf-mail-preview h3 { margin-top:0; }
.glf-admin-tools hr { border:0; border-top:1px solid #d8dfd7; margin:36px 0; }
.glf-mail-preview { overflow-wrap:anywhere; }

.glf-directory-only { padding:0; max-width:none; }
.glf-directory-only .glf-map-canvas { height:540px; border-radius:4px; margin-top:20px; }
.glf-directory-only .glf-map-result { display:block; width:100%; padding:16px; margin:8px 0; background:#fff9f2; color:#1e3c2f; border:1px solid #d8dfd7; border-radius:4px; font:inherit; text-align:left; }
@media(max-width:767px){.glf-directory-only{padding:0}.glf-directory-only .glf-map-canvas{height:400px}}

body.glf-member-page .glf-member-shell .glf-member-nav a { color:#1e3c2f; text-decoration:none; }
body.glf-member-page .glf-member-shell .glf-member-nav a[aria-current=page],body.glf-member-page .glf-member-shell .glf-member-nav a:hover { color:#fff9f2; }
body.glf-member-page .glf-member-shell a:not(.glf-member-button):not(.glf-member-nav a) { color:#765713; }
