/*
Theme Name: Ansjela Grid
Theme URI: https://ansjelagrid.com/
Author: Ansjela Grid
Description: Multilingual classic WordPress theme for Ansjela Grid.
Version: 1.0.0-rc1.22
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: ansjelagrid
*/

:root{
  --bg:#000;
  --navy:#0b1020;
  --purple:#5b2e83;
  --purple-dark:#35174e;
  --navy-rgb:11,16,32;
  --purple-rgb:91,46,131;
  --purple-dark-rgb:53,23,78;
  --purple-mid-rgb:106,58,155;
  --purple-frame-rgb:110,66,159;
  --purple-hover-rgb:122,72,177;
  --purple-hover2-rgb:126,75,182;
  --purple-hover-dark-rgb:70,31,99;
  --purple-deep-rgb:31,14,45;
  --gold:#d4af37;
  --silver:#c9c9cf;
  --max:1500px;
  --frame-gap:10px;
  --radius-pill:999px;
  --button-width:240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#000}
body{margin:0;min-height:100vh;background:#000;color:var(--silver);font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;letter-spacing:.01em}
body.ag-comfort-mode{font-size:20px;line-height:1.78}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{color:inherit}

.page-wrap{width:min(calc(100% - 16px),var(--max));margin:8px auto;padding:0;border:1px solid var(--gold);background:linear-gradient(145deg,rgba(var(--purple-frame-rgb),.98),rgba(var(--purple-dark-rgb),.98));box-shadow:0 22px 70px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06)}
.page-wrap-inner{margin:var(--frame-gap);border:1px solid var(--gold);background:#000;box-shadow:inset 0 3px 8px rgba(255,255,255,.04),inset 0 -14px 26px rgba(0,0,0,.82)}
.page-content{position:relative;display:grid;gap:22px;padding:22px}
.established{margin:-2px 0 -10px;color:rgba(212,175,55,.76);font-size:.78rem;letter-spacing:.18em;text-align:center;text-transform:uppercase}
.hero-frame{padding:8px;border:1px solid var(--gold);background:linear-gradient(180deg,rgba(var(--purple-mid-rgb),.96),rgba(var(--purple-dark-rgb),.96));box-shadow:inset 0 2px 3px rgba(255,255,255,.1),inset 0 -10px 20px rgba(0,0,0,.42)}
.hero-frame-inner{min-height:265px;display:flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid var(--gold);background:#000;box-shadow:inset 0 2px 2px rgba(255,255,255,.04),inset 0 -16px 30px rgba(0,0,0,.8)}
.hero-frame--compact .hero-frame-inner{min-height:215px}
.site-logo-link{width:min(100%,1200px);display:flex;align-items:center;justify-content:center}
.site-logo-link img{width:min(100%,1180px);max-height:210px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.55))}
.hero-frame--compact .site-logo-link img{max-height:165px}

.action-row{position:relative;z-index:30;display:flex;justify-content:center;align-items:flex-start;flex-wrap:nowrap;gap:14px}
.action-row-main{min-width:0;display:flex;justify-content:center;align-items:flex-start;flex:1 1 auto;flex-wrap:wrap;gap:14px}
.action-row-main>.pill-button,.action-row-main>.dropdown{flex:0 0 var(--button-width);width:var(--button-width)}
.pill-button,.small-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--gold);background:linear-gradient(180deg,rgba(var(--purple-mid-rgb),.48),rgba(var(--purple-dark-rgb),.54));color:var(--gold);cursor:pointer;box-shadow:inset 0 1px 1px rgba(255,255,255,.08),inset 0 -8px 12px rgba(0,0,0,.35);transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.pill-button{width:100%;min-height:54px;padding:12px 22px;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.11em;font-size:.96rem;line-height:1.1}
.pill-button::after{content:"";position:absolute;inset:6px;border:1px solid rgba(212,175,55,.4);border-radius:var(--radius-pill);pointer-events:none}
.small-button{min-height:40px;padding:8px 15px;border-radius:999px;font-size:.92rem}
.small-button--danger{border-color:#d96d6d;color:#ffbaba;background:rgba(183,28,28,.18)}
.pill-button:hover,.pill-button:focus-visible,.small-button:hover,.small-button:focus-visible{color:#fff4c2;background:linear-gradient(180deg,rgba(var(--purple-hover-rgb),.68),rgba(var(--purple-dark-rgb),.8));outline:none;box-shadow:inset 0 1px 1px rgba(255,255,255,.1),inset 0 -8px 12px rgba(0,0,0,.35),0 0 14px rgba(var(--purple-rgb),.34)}
.pill-button:focus-visible,.small-button:focus-visible{outline:2px solid rgba(212,175,55,.8);outline-offset:3px}
.dropdown{position:relative}
.dropdown-trigger{width:100%}
.dropdown-arrow{position:absolute;right:20px;top:50%;transform:translateY(-50%);transition:transform .18s}
.dropdown-trigger[aria-expanded="true"] .dropdown-arrow{transform:translateY(-50%) rotate(180deg)}
.dropdown-panel{position:absolute;top:calc(100% + 9px);left:50%;z-index:100;width:var(--button-width);display:grid;gap:9px;padding:11px;transform:translateX(-50%);border:1px solid var(--gold);border-radius:24px;background:linear-gradient(180deg,rgba(var(--navy-rgb),.99),rgba(0,0,0,.99));box-shadow:0 18px 34px rgba(0,0,0,.6),inset 0 0 0 6px rgba(var(--purple-rgb),.14)}
.dropdown-panel[hidden]{display:none}
.dropdown-option{min-height:42px;display:flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid rgba(212,175,55,.6);border-radius:999px;background:linear-gradient(180deg,rgba(var(--purple-rgb),.28),rgba(var(--purple-deep-rgb),.58));color:var(--gold);text-align:center;text-transform:uppercase;letter-spacing:.07em;font-size:.9rem}
.dropdown-option:hover,.dropdown-option:focus-visible{color:#fff8d8;border-color:var(--gold);background:linear-gradient(180deg,rgba(var(--purple-hover2-rgb),.78),rgba(var(--purple-hover-dark-rgb),.92));outline:none}

.ag-inline-edit-link{position:absolute;right:30px;top:320px;z-index:40;display:none;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:50%;background:#050505;color:var(--gold);font-size:1.4rem}
body.ag-website-admin-mode .ag-inline-edit-link{display:flex}

.announcement-card,.front-intro-card,.front-slideshow,.wp-page-card,.gallery-intro,.gallery-photo,.legal-document{position:relative;overflow:hidden;border:1px solid var(--gold);background:linear-gradient(180deg,rgba(var(--navy-rgb),.75),rgba(0,0,0,.96))}
.ornate-frame::after{content:"";position:absolute;inset:8px;border:1px solid rgba(212,175,55,.4);pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),inset 0 -10px 18px rgba(0,0,0,.55)}
.announcement-card{padding:24px 30px;text-align:center}
.announcement-card h2,.front-intro-card h1,.wp-page-card h1,.gallery-intro h1,.legal-heading h1{position:relative;z-index:1;margin:0 0 14px;color:var(--gold);font-weight:500;text-transform:uppercase;letter-spacing:.075em}
.announcement-card p,.front-intro-card p,.wp-page-card p,.gallery-intro p{position:relative;z-index:1;line-height:1.82}
.eyebrow{position:relative;z-index:1;margin:0 0 10px;color:var(--gold);text-transform:uppercase;letter-spacing:.15em;font-size:.8rem}
.front-calm-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px}
.front-intro-card{min-height:390px;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,68px)}
.front-intro-card h1{font-size:clamp(1.8rem,3.3vw,3.2rem)}
.front-intro-card p{max-width:60ch}
.front-cta,.page-cta{width:auto;min-width:240px;align-self:flex-start;margin-top:22px}
.front-slideshow{min-height:390px;background:#000}
.slide-viewport{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#000;cursor:zoom-in}
.slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity 1.2s ease,visibility 1.2s ease}
.slide.is-active{opacity:1;visibility:visible}
.slide img{width:100%;height:100%;object-fit:cover}
.slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 55px 20px;color:#fff5cf;background:linear-gradient(transparent,rgba(0,0,0,.88));text-align:center;text-transform:uppercase;letter-spacing:.1em;font-size:.88rem}
.slide-arrow{position:absolute;top:50%;z-index:4;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid rgba(212,175,55,.78);border-radius:50%;color:var(--gold);background:rgba(0,0,0,.72);font-size:1.8rem;cursor:pointer;opacity:.7;transform:translateY(-50%)}
.slide-arrow--prev{left:15px}.slide-arrow--next{right:15px}
.slide-arrow:hover{background:rgba(var(--purple-rgb),.85);opacity:1}
.slide-dots{position:absolute;z-index:5;left:50%;bottom:10px;display:flex;gap:8px;transform:translateX(-50%)}
.slide-dot{width:10px;height:10px;padding:0;border:1px solid var(--gold);border-radius:50%;background:rgba(0,0,0,.8);cursor:pointer}
.slide-dot.is-active{background:var(--gold)}

.wp-page-card,.gallery-intro,.legal-document{padding:clamp(28px,4vw,58px)}
.wp-page-card{min-height:300px}
.wp-page-card h1{font-size:clamp(1.8rem,3vw,3rem)}
.wp-page-card h2,.legal-section h2{color:var(--gold);font-weight:500;text-transform:uppercase;letter-spacing:.06em}
.wp-page-card a,.legal-document a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.wp-page-card .pill-button{text-decoration:none;color:var(--gold)}
.wp-page-card .lead{font-size:1.15em;color:#eee4c3}
.soft-note{position:relative;z-index:1;margin:20px 0;padding:16px 18px;border-left:4px solid var(--gold);background:rgba(var(--purple-rgb),.14);line-height:1.72}
.public-price-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}
.public-price-grid>div{padding:20px;border:1px solid rgba(212,175,55,.45);background:rgba(var(--purple-rgb),.12)}
.public-price-grid strong{display:block;color:var(--gold);font-size:1.12rem}.public-price-grid span{color:var(--silver)}

.gallery-intro{text-align:center}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.gallery-photo{margin:0;padding:8px}
.gallery-photo img{width:100%;aspect-ratio:16/9;object-fit:cover}
.gallery-photo figcaption{padding:14px 10px 8px;color:var(--gold);text-align:center;text-transform:uppercase;letter-spacing:.09em}

.legal-document{line-height:1.82}
.legal-document::after{content:"";position:absolute;inset:10px;border:1px solid rgba(212,175,55,.38);pointer-events:none}
.legal-heading{position:relative;z-index:1;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid rgba(212,175,55,.34);text-align:center}
.legal-heading h1{font-size:clamp(1.8rem,4vw,3.4rem)}
.legal-updated{margin:0;color:rgba(201,201,207,.72);font-size:.9rem;letter-spacing:.05em}
.legal-section{position:relative;z-index:1;padding:22px 0 3px;border-top:1px solid rgba(212,175,55,.2)}
.legal-section h2{margin:0 0 12px;font-size:clamp(1.1rem,2vw,1.5rem)}
.legal-section p{margin:0 0 14px}

.site-footer{display:grid;gap:10px;padding:18px 8px 5px;text-align:center;color:rgba(201,201,207,.7)}
.site-footer p{margin:0}
.site-footer>p:first-child{color:rgba(212,175,55,.75);text-transform:uppercase;letter-spacing:.1em;font-size:.84rem}
.site-footer nav{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.site-footer a{color:rgba(212,175,55,.8);text-decoration:underline;text-underline-offset:3px}
.copyright{font-size:.82rem}

.photo-dialog{width:min(92vw,950px);padding:0;border:1px solid var(--gold);background:#000;color:var(--silver)}
.photo-dialog::backdrop{background:rgba(0,0,0,.9)}
.photo-dialog__content{position:relative;padding:12px}
.photo-dialog__content img{width:100%;max-height:76vh;object-fit:contain;background:#000}
.photo-dialog__content p{margin:12px;text-align:center;color:var(--gold)}
.photo-dialog__close{position:absolute;top:18px;right:18px;z-index:2;width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;background:rgba(0,0,0,.86);color:var(--gold);font-size:1.8rem;cursor:pointer}

/* Entrance seal — approved timing and once-per-tab behaviour. */
body.seal-locked{overflow:hidden}
html.seal-already-seen body.seal-locked{overflow:auto}
html.seal-already-seen .seal-overlay{display:none!important}
.seal-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-content:center;justify-items:center;padding:24px;overflow:hidden;background:radial-gradient(circle at center,rgba(var(--purple-rgb),.16),transparent 42%),#000;opacity:1;visibility:visible;transition:background 2.625s cubic-bezier(.20,.76,.18,1),opacity .7s ease,visibility 0s linear 3.375s}
.seal-stage{position:relative;width:min(82vw,calc(78vh * 1.37084),1120px);aspect-ratio:1405/1024;filter:drop-shadow(0 24px 54px rgba(0,0,0,.82));transition:filter .3s ease}
.seal-slice{--seal-x:0%;--seal-y:0%;position:absolute;inset:0;display:block;will-change:transform,opacity,filter;transform:translate3d(0,0,0);transition:transform 2.625s cubic-bezier(.20,.76,.18,1),opacity 2.625s cubic-bezier(.20,.76,.18,1),filter 2.625s ease}
.seal-slice img{width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;transition:filter .3s ease}
.seal-slice--top{--seal-y:-50%;clip-path:polygon(50% 50%,25% 0,75% 0)}
.seal-slice--top-right{--seal-x:35.36%;--seal-y:-35.36%;clip-path:polygon(50% 50%,75% 0,100% 25%)}
.seal-slice--right{--seal-x:50%;clip-path:polygon(50% 50%,100% 25%,100% 75%)}
.seal-slice--bottom-right{--seal-x:35.36%;--seal-y:35.36%;clip-path:polygon(50% 50%,100% 75%,75% 100%)}
.seal-slice--bottom{--seal-y:50%;clip-path:polygon(50% 50%,75% 100%,25% 100%)}
.seal-slice--bottom-left{--seal-x:-35.36%;--seal-y:35.36%;clip-path:polygon(50% 50%,25% 100%,0 75%)}
.seal-slice--left{--seal-x:-50%;clip-path:polygon(50% 50%,0 75%,0 25%)}
.seal-slice--top-left{--seal-x:-35.36%;--seal-y:-35.36%;clip-path:polygon(50% 50%,0 25%,25% 0)}
.seal-overlay.is-glowing .seal-stage{filter:drop-shadow(0 24px 54px rgba(0,0,0,.82)) drop-shadow(0 0 12px rgba(212,175,55,.2)) drop-shadow(0 0 26px rgba(212,175,55,.1))}
.seal-overlay.is-glowing .seal-slice img{filter:brightness(1.12) saturate(1.05)}
.seal-overlay.is-opening{background:radial-gradient(circle at center,rgba(var(--purple-rgb),.05),transparent 52%),rgba(0,0,0,0)}
.seal-overlay.is-opening .seal-slice{transform:translate3d(var(--seal-x),var(--seal-y),0);opacity:0;filter:drop-shadow(0 12px 18px rgba(0,0,0,.72))}
.seal-overlay.is-complete{opacity:0;visibility:hidden;pointer-events:none}
.admin-bar .seal-overlay{top:32px}

@media(max-width:1050px){.front-calm-grid{grid-template-columns:1fr}.front-slideshow{min-height:430px}.public-price-grid{grid-template-columns:1fr}.hero-frame-inner{min-height:230px}.hero-frame--compact .hero-frame-inner{min-height:195px}}
@media(max-width:780px){.page-content{padding:15px;gap:16px}.gallery-grid{grid-template-columns:1fr}.action-row{flex-wrap:wrap}.action-row-main{flex-basis:100%}.action-row-main>.pill-button,.action-row-main>.dropdown{flex-basis:min(100%,var(--button-width))}.front-intro-card{min-height:330px}.front-slideshow{min-height:330px}.admin-bar .seal-overlay{top:46px}}
@media(max-width:520px){:root{--button-width:100%}.action-row-main>.pill-button,.action-row-main>.dropdown,.dropdown-panel{width:100%;flex-basis:100%}.hero-frame-inner{min-height:180px}.hero-frame--compact .hero-frame-inner{min-height:170px}.site-logo-link img,.hero-frame--compact .site-logo-link img{max-height:145px}.front-cta,.page-cta{width:100%;min-width:0}.legal-document,.wp-page-card{padding:25px 21px}.seal-stage{width:min(94vw,calc(68vh * 1.37084))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide,.pill-button,.small-button,.seal-slice,.seal-overlay{transition-duration:.01ms!important;transition-delay:0s!important}}

/* =========================================================
   Ansjela Grid 2.2 — integrated four-language test build
   ========================================================= */

/* One consistent header size on every page. */
.hero-frame-inner,
.hero-frame--compact .hero-frame-inner{
  min-height:250px;
  padding:10px 18px;
}
.site-logo-link,
.hero-frame--compact .site-logo-link{
  width:min(100%,760px);
  min-width:0;
}
.site-logo-link img,
.hero-frame--compact .site-logo-link img{
  width:100%;
  max-height:205px;
  object-fit:contain;
}
.hero-frame-grid{
  display:grid;
  grid-template-columns:minmax(220px,.62fr) minmax(420px,1.5fr) minmax(220px,.62fr);
  gap:18px;
  align-items:stretch;
}
.header-side-card{
  position:relative;
  min-height:198px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px;
  border:1px solid rgba(212,175,55,.36);
  background:linear-gradient(180deg,rgba(var(--navy-rgb),.72),rgba(0,0,0,.92));
  overflow:hidden;
}
.header-side-card h2{
  margin:0 0 9px;
  color:var(--gold);
  font-size:1.05rem;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.header-side-card p{margin:0;line-height:1.6;font-size:.92rem}
.header-side-card .small-button{align-self:flex-start;margin-top:12px}
.header-shoutbox.is-empty{background:#000;border-color:rgba(212,175,55,.14)}
.header-stats{text-align:center;color:rgba(201,201,207,.72)}
.header-stats .eyebrow{text-align:center}


/* Grid Information uses the existing right-hand header card on every normal page. */
.header-stats .agga-grid-information{
  width:100%;
  display:grid;
  gap:6px;
  text-align:left;
}
.header-stats .agga-grid-information__title{
  margin:0;
  color:var(--gold);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.14em;
  line-height:1.2;
  text-align:center;
  text-transform:uppercase;
}
.header-stats .agga-grid-information__running{
  margin:0 0 2px;
  color:rgba(201,201,207,.76);
  font-size:.64rem;
  line-height:1.3;
  text-align:center;
}
.header-stats .agga-grid-information__running strong{
  color:#efe2b8;
  font-weight:600;
}
.header-stats .agga-grid-information__list{
  display:grid;
  gap:2px;
  margin:0;
  font-size:.64rem;
  line-height:1.25;
}
.header-stats .agga-grid-information__list>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:start;
  padding-top:2px;
  border-top:1px solid rgba(212,175,55,.10);
}
.header-stats .agga-grid-information__list dt,
.header-stats .agga-grid-information__list dd{
  margin:0;
}
.header-stats .agga-grid-information__list dt{
  color:rgba(201,201,207,.76);
}
.header-stats .agga-grid-information__list dd{
  color:#efe2b8;
  font-weight:600;
  text-align:right;
}
.header-stats .agga-grid-information__list dd small{
  display:block;
  color:rgba(201,201,207,.58);
  font-size:.84em;
  font-weight:400;
}
.header-stats [data-grid-status="online"]{color:#b9deb9}
.header-stats [data-grid-status="maintenance"]{color:var(--gold)}
.header-stats [data-grid-status="offline"]{color:#f0a0a0}
.header-stats [data-grid-status="unavailable"]{color:rgba(201,201,207,.72)}

/* Calm front page: introduction plus a smaller media column. */
.front-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  align-items:stretch;
}
.front-media-column{display:grid;grid-template-rows:245px auto;gap:14px}
.front-intro-card{min-height:0;padding:clamp(30px,4vw,58px)}
.front-slideshow{min-height:245px;height:245px}
.slideshow-text-card{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 22px;
  border:1px solid rgba(212,175,55,.62);
  background:linear-gradient(180deg,rgba(var(--navy-rgb),.7),rgba(0,0,0,.95));
}
.slideshow-text-card p{margin:0;line-height:1.65}
.slideshow-text-card .small-button{flex:0 0 auto}
.slide figcaption{padding:28px 50px 15px;font-size:.78rem}
.slide-arrow{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  font-size:0;
}
.slide-arrow span{
  display:block;
  margin-top:-4px;
  font-size:2rem;
  line-height:1;
}
.slide-arrow--prev span{margin-left:-2px}
.slide-arrow--next span{margin-right:-2px}

/* Inline editing is visible only after the administrator activates Admin Mode. */
.ag-editable-block{position:relative}
.ag-inline-edit-button{
  position:absolute;
  top:13px;
  right:13px;
  z-index:15;
  width:40px;
  height:40px;
  display:none;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid var(--gold);
  border-radius:50%;
  background:rgba(0,0,0,.92);
  color:var(--gold);
  font-size:1.25rem;
  cursor:pointer;
  box-shadow:0 5px 18px rgba(0,0,0,.45);
}
body.ag-website-admin-mode .ag-inline-edit-button{display:flex}
.header-side-card .ag-inline-edit-button{top:9px;right:9px}
.ag-inline-editor{width:min(96vw,1120px)}

/* Session visibility and comfort menu. */
.site-session{
  flex:0 0 156px;
  width:156px;
  min-height:54px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  margin:0;
  color:rgba(201,201,207,.72);
  font-size:.78rem;
  line-height:1.25;
  text-align:center;
  white-space:nowrap;
}
.site-session a{color:var(--gold)}
.site-session .site-logout-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 15px;border:1px solid rgba(213,91,91,.92);border-radius:999px;background:linear-gradient(180deg,rgba(124,27,35,.92),rgba(72,8,17,.96));color:#ffe4e4!important;font-weight:700;letter-spacing:.06em;text-decoration:none!important;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.site-session .site-logout-button:hover,.site-session .site-logout-button:focus{background:rgba(151,35,45,.98);color:#fff!important;outline:none;box-shadow:0 0 0 2px rgba(213,91,91,.22),inset 0 1px 0 rgba(255,255,255,.1)}
@media(max-width:780px){.site-session{flex-basis:100%;width:100%;margin-top:2px}}
.dropdown--comfort .comfort-panel{
  width:min(92vw,390px);
  left:50%;
  padding:18px;
  border-radius:18px;
}
.comfort-form{display:grid;gap:12px;text-align:left}
.comfort-form>label{display:grid;gap:6px;color:#efe2b8;font-size:.9rem}
.comfort-form select{
  width:100%;
  min-height:40px;
  padding:7px 10px;
  border:1px solid rgba(212,175,55,.5);
  border-radius:8px;
  background:#080808;
  color:#fff;
}
.comfort-check{display:flex!important;align-items:flex-start;grid-template-columns:none!important;gap:9px!important;color:var(--silver)!important}
.comfort-check input{width:18px;height:18px;margin-top:3px;flex:0 0 auto}
.comfort-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}
.comfort-actions .small-button{flex:1 1 145px}

/* Footer stays calm; establishment date lives here. */
.established-footer{
  color:rgba(212,175,55,.78)!important;
  text-transform:uppercase;
  letter-spacing:.14em!important;
  font-size:.78rem!important;
}

/* Three region cards per row. */
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-photo a{display:block}
.gallery-photo h2{margin:12px 10px 3px;color:var(--gold);font-size:1.05rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em}
.gallery-photo p{margin:0;padding:0 10px 12px;line-height:1.55;color:rgba(201,201,207,.8)}
.region-gallery-detail{display:grid;gap:20px}
.region-gallery-hero{position:relative;border:1px solid var(--gold);background:#000}
.region-gallery-hero img{width:100%;max-height:520px;aspect-ratio:16/8;object-fit:cover}
.region-gallery-copy{padding:clamp(24px,4vw,48px);border:1px solid var(--gold);background:linear-gradient(180deg,rgba(var(--navy-rgb),.76),rgba(0,0,0,.96))}
.region-gallery-copy h1{margin:0 0 14px;color:var(--gold);font-weight:500;text-transform:uppercase;letter-spacing:.07em}
.region-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.region-photo-grid button{padding:0;border:1px solid rgba(212,175,55,.55);background:#000;cursor:zoom-in}
.region-photo-grid img{width:100%;aspect-ratio:16/10;object-fit:cover}

/* Comfort and accessibility preferences. */
body.ag-text-large{font-size:20px}
body.ag-text-xlarge{font-size:23px}
body.ag-spacing{line-height:1.9;letter-spacing:.035em;word-spacing:.09em}
body.ag-spacing p,body.ag-spacing li{margin-bottom:1em}
body.ag-sans{font-family:Arial,Helvetica,sans-serif}
body.ag-contrast{--silver:#f2f2f2;--gold:#f1cf58}
body.ag-contrast .page-wrap-inner,body.ag-contrast .hero-frame-inner{background:#000}
body.ag-underline-links a:not(.pill-button):not(.small-button):not(.dropdown-option):not(.site-logo-link){text-decoration:underline!important;text-underline-offset:3px}
body.ag-motion-slow .slide{transition-duration:2.4s}
body.ag-motion-slow .seal-slice{transition-duration:4s}
body.ag-motion-reduced *,body.ag-motion-off *{scroll-behavior:auto!important}
body.ag-motion-reduced .seal-slice,body.ag-motion-reduced .seal-overlay{transition-duration:.25s!important}
body.ag-motion-off *,body.ag-motion-off *::before,body.ag-motion-off *::after{animation:none!important;transition:none!important}
body.ag-skip-seal .seal-overlay{display:none!important}

@media(max-width:1180px){
  .hero-frame-grid{grid-template-columns:minmax(180px,.55fr) minmax(360px,1.4fr) minmax(180px,.55fr);gap:12px}
  .header-side-card{padding:15px;min-height:185px}
}
@media(max-width:980px){
  .hero-frame-grid{grid-template-columns:1fr}
  .header-side-card{min-height:auto}
  .header-shoutbox.is-empty{display:none}
  .front-main-grid{grid-template-columns:1fr}
  .front-media-column{grid-template-rows:280px auto}
  .front-slideshow{height:280px;min-height:280px}
  .gallery-grid,.region-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .hero-frame-inner,.hero-frame--compact .hero-frame-inner{min-height:190px}
  .site-logo-link img,.hero-frame--compact .site-logo-link img{max-height:165px}
  .front-media-column{grid-template-rows:235px auto}
  .front-slideshow{height:235px;min-height:235px}
  .slideshow-text-card{align-items:flex-start;flex-direction:column}
  .gallery-grid,.region-photo-grid{grid-template-columns:1fr}
}

/* Ansjela Grid 2.2 gallery and comfort refinements. */
.gallery-grid--regions{align-items:stretch}
.ag-region-gallery-card{padding:0;min-height:100%}
.ag-region-gallery-card>a{height:100%;display:flex;flex-direction:column}
.ag-region-gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ag-region-gallery-card__body{display:flex;flex:1;flex-direction:column;gap:10px;padding:17px}
.ag-region-gallery-card__body h2{margin:0;color:var(--gold);font-size:1.15rem}
.ag-region-gallery-card__body p{margin:0 0 6px;line-height:1.65}
.ag-region-gallery-card__body .small-button{align-self:flex-start;margin-top:auto}
.ag-gallery-detail-head{display:grid;gap:10px}
.ag-gallery-detail-head h1,.ag-gallery-detail-head p{margin:0}
.ag-public-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ag-public-photo{padding:8px;border:1px solid var(--gold);background:rgba(0,0,0,.8);cursor:zoom-in}
.ag-public-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ag-gallery-lightbox{width:min(94vw,1200px);max-height:92vh;padding:12px;border:1px solid var(--gold);background:#000;color:var(--silver)}
.ag-gallery-lightbox::backdrop{background:rgba(0,0,0,.9)}
.ag-gallery-lightbox img{display:block;width:100%;max-height:86vh;object-fit:contain}
.ag-gallery-lightbox .ag-dialog-close{z-index:2}
body.ag-text-large{font-size:1.1rem}
body.ag-text-xlarge{font-size:1.22rem}
body.ag-spacing{letter-spacing:.035em;word-spacing:.12em}
body.ag-spacing p,body.ag-spacing li,body.ag-spacing dd{line-height:1.95}
body.ag-sans{font-family:Arial,Helvetica,sans-serif}
body.ag-contrast{--silver:#f3f3f3;background:#000}
body.ag-contrast .page-wrap-inner,body.ag-contrast .ag-card{background:#000}
body.ag-underline-links a{text-decoration:underline!important;text-underline-offset:3px}
body.ag-motion-slow *,body.ag-motion-slow *::before,body.ag-motion-slow *::after{animation-duration:1.6s!important;transition-duration:.7s!important}
body.ag-motion-reduced *,body.ag-motion-reduced *::before,body.ag-motion-reduced *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
body.ag-motion-off *,body.ag-motion-off *::before,body.ag-motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

@media(max-width:900px){.gallery-grid,.ag-public-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.gallery-grid,.ag-public-photo-grid{grid-template-columns:1fr}}

/* Ansjela Grid 2.5 region gallery detail and photo descriptions. */
.ag-region-owner{color:var(--silver)}
.ag-gallery-cover-wrap{border:1px solid var(--gold);background:#000;padding:10px}
.ag-gallery-cover{position:relative;display:block;width:100%;padding:0;border:0;background:#000;cursor:zoom-in}
.ag-gallery-cover img{width:100%;max-height:560px;aspect-ratio:16/8;object-fit:cover}
.ag-public-photo{position:relative;overflow:hidden;text-align:left}
.ag-photo-caption{display:grid;gap:4px;padding:12px;color:#fff5cf;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.92));text-align:left}
.ag-photo-caption strong{font-size:1rem}
.ag-photo-caption small{color:#e7e7e7;line-height:1.45}
.ag-gallery-cover .ag-photo-caption{position:absolute;left:0;right:0;bottom:0;padding:30px 18px 16px}
.ag-gallery-lightbox{position:relative}
.ag-gallery-lightbox figure{display:grid;gap:10px;margin:0}
.ag-gallery-lightbox figcaption{display:grid;gap:5px;padding:4px 54px 8px;text-align:center}
.ag-gallery-lightbox figcaption strong{color:var(--gold);font-size:1.1rem}
.ag-gallery-lightbox figcaption span{line-height:1.55}
.ag-gallery-lightbox-arrow{position:absolute;top:50%;z-index:3;width:46px;height:46px;display:grid;place-items:center;padding:0;border:1px solid var(--gold);border-radius:50%;background:rgba(0,0,0,.82);color:var(--gold);font-size:2rem;line-height:1;cursor:pointer;transform:translateY(-50%)}
.ag-gallery-lightbox-arrow--prev{left:18px}
.ag-gallery-lightbox-arrow--next{right:18px}
.ag-gallery-lightbox-arrow:hover,.ag-gallery-lightbox-arrow:focus-visible{background:rgba(var(--purple-rgb),.9);color:#fff5cf;outline:none}
@media(max-width:620px){.ag-gallery-cover img{aspect-ratio:4/3}.ag-gallery-lightbox-arrow{width:40px;height:40px}.ag-gallery-lightbox-arrow--prev{left:8px}.ag-gallery-lightbox-arrow--next{right:8px}.ag-gallery-lightbox figcaption{padding-inline:44px}}

/* RC1.10f: calm Events counter inside the existing approved pill. */
.pill-button--events{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.pill-button--events .ag-nav-count{margin-left:0}

/* Alpha6: calm event counter also inside Navigate. */
.dropdown-option--counted{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dropdown-option--counted .ag-nav-count{margin-left:auto}

/* rc1.15a — MY PORTAL is now the scalable home for member navigation. */
.dropdown--portal .portal-panel{
  max-height:min(68vh,620px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.dropdown--portal .dropdown-option.is-active{
  color:#fff8d8;
  border-color:var(--gold);
  background:linear-gradient(180deg,rgba(var(--purple-hover2-rgb),.78),rgba(var(--purple-hover-dark-rgb),.92));
}
.ag-portal-menu-label{display:inline-flex;align-items:center;gap:8px;min-width:0}
.ag-portal-menu-lamp{
  flex:0 0 auto;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(212,175,55,.10),0 0 9px rgba(212,175,55,.34);
}

/* Grid Information polish: two helper lines become labels so the numbers can breathe. */
.header-stats .agga-grid-information__title{font-size:.84rem}
.header-stats .agga-grid-information__running{font-size:.69rem;line-height:1.34}
.header-stats .agga-grid-information__list{font-size:.72rem;line-height:1.3;gap:3px}
.header-stats .agga-grid-information__list>div{padding-top:3px}
.header-stats .agga-grid-information__list dt{padding-right:6px}

/* rc1.16a — keep every MY PORTAL entry visually centred on every page. */
.dropdown--portal .portal-panel .dropdown-option{position:relative;justify-content:center;text-align:center}
.dropdown--portal .portal-panel .ag-portal-menu-label{width:100%;justify-content:center;text-align:center;padding-inline:18px}
.dropdown--portal .portal-panel .ag-nav-count{position:absolute;right:12px;margin:0}
.dropdown--portal .portal-panel .ag-portal-menu-lamp{position:absolute;left:14px}

/* rc1.16b — stable header centring and Ansjela Grid scrollbar for MY PORTAL. */
html{scrollbar-gutter:stable both-edges}
.dropdown--portal .portal-panel{
  scrollbar-width:thin;
  scrollbar-color:rgba(212,175,55,.82) rgba(var(--navy-rgb),.96);
}
.dropdown--portal .portal-panel::-webkit-scrollbar{width:10px}
.dropdown--portal .portal-panel::-webkit-scrollbar-track{
  background:linear-gradient(180deg,rgba(var(--navy-rgb),.98),rgba(0,0,0,.98));
  border-radius:999px;
}
.dropdown--portal .portal-panel::-webkit-scrollbar-thumb{
  border:1px solid rgba(212,175,55,.92);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(var(--purple-mid-rgb),.96),rgba(var(--purple-dark-rgb),.98));
}
.dropdown--portal .portal-panel::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,rgba(var(--purple-hover2-rgb),.98),rgba(var(--purple-hover-dark-rgb),.98));
}
.dropdown--portal .portal-panel::-webkit-scrollbar-button{display:none;width:0;height:0}


/* rc1.16c — keep the rectangular header logo centred on the viewport. */
.site-logo-link,
.hero-frame--compact .site-logo-link{
  margin-inline:auto;
  justify-self:center;
}

/* rc1.2 — keep the single site-wide session control in a dedicated right-hand column.
   The navigation buttons may wrap inside their own group without pushing LOG OUT below them. */
.action-row>.site-session{align-self:flex-start}


/* rc1.3 — World Map step 1: keep the five-button navigation stable,
   move Comfort into Language, and provide the 75% house-style map shell. */
.dropdown--language-comfort .language-comfort-panel{
  width:min(92vw,390px);
  max-height:min(72vh,680px);
  left:50%;
  padding:18px;
  overflow-y:auto;
  overscroll-behavior:contain;
  border-radius:18px;
  scrollbar-width:thin;
  scrollbar-color:rgba(212,175,55,.82) rgba(var(--navy-rgb),.96);
}
.dropdown--language-comfort .language-comfort-panel::-webkit-scrollbar{width:10px}
.dropdown--language-comfort .language-comfort-panel::-webkit-scrollbar-track{
  background:linear-gradient(180deg,rgba(var(--navy-rgb),.98),rgba(0,0,0,.98));
  border-radius:999px;
}
.dropdown--language-comfort .language-comfort-panel::-webkit-scrollbar-thumb{
  border:1px solid rgba(212,175,55,.92);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(var(--purple-mid-rgb),.96),rgba(var(--purple-dark-rgb),.98));
}
.language-comfort-languages{display:grid;gap:9px}
.language-comfort-divider{
  height:1px;
  margin:8px 2px 4px;
  background:linear-gradient(90deg,transparent,rgba(212,175,55,.82),transparent);
}
.language-comfort-heading{
  margin:0;
  color:var(--gold);
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
}

body.ag-world-map-open{overflow:hidden}
.ag-world-map-dialog{
  width:75vw;
  height:75vh;
  max-width:none;
  max-height:none;
  margin:auto;
  padding:0;
  overflow:visible;
  border:0;
  background:transparent;
  color:var(--silver);
}
.ag-world-map-dialog::backdrop{
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(1.5px);
}
.ag-world-map-shell{
  width:100%;
  height:100%;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  padding:9px;
  border:1px solid var(--gold);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(var(--purple-frame-rgb),.98),rgba(var(--purple-dark-rgb),.98));
  box-shadow:0 26px 80px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.08);
}
.ag-world-map-header{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding:8px 64px;
  border:1px solid rgba(212,175,55,.76);
  border-bottom:0;
  border-radius:18px 18px 0 0;
  background:linear-gradient(180deg,rgba(var(--navy-rgb),.98),rgba(0,0,0,.98));
}
.ag-world-map-header h2{
  margin:0;
  color:var(--gold);
  font-size:1.08rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.ag-world-map-close{
  position:absolute;
  top:9px;
  right:12px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0 0 3px;
  border:1px solid var(--gold);
  border-radius:50%;
  background:linear-gradient(180deg,rgba(var(--purple-mid-rgb),.76),rgba(var(--purple-dark-rgb),.92));
  color:var(--gold);
  font-size:1.65rem;
  line-height:1;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.ag-world-map-close:hover,.ag-world-map-close:focus-visible{
  color:#fff4c2;
  background:linear-gradient(180deg,rgba(var(--purple-hover2-rgb),.95),rgba(var(--purple-hover-dark-rgb),.98));
  outline:2px solid rgba(212,175,55,.72);
  outline-offset:2px;
}
.ag-world-map-stage{
  min-width:0;
  min-height:0;
  border:1px solid rgba(212,175,55,.76);
  border-radius:0 0 18px 18px;
  background:
    radial-gradient(circle at 50% 50%,rgba(var(--purple-rgb),.13),transparent 46%),
    linear-gradient(180deg,rgba(var(--navy-rgb),.88),rgba(0,0,0,.98));
  box-shadow:inset 0 0 0 7px rgba(var(--purple-rgb),.10),inset 0 0 40px rgba(0,0,0,.72);
}
@media(max-width:900px){
  .ag-world-map-dialog{width:94vw;height:92vh}
  .ag-world-map-header{min-height:54px;padding-inline:58px}
}

/* rc1.4 · World Map step 2 · proven Big Map canvas navigation in public pop-over */
.ag-world-map-body{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  gap:10px;
  padding:12px;
  border:1px solid rgba(212,175,55,.76);
  border-radius:0 0 18px 18px;
  background:linear-gradient(180deg,rgba(var(--navy-rgb),.94),rgba(0,0,0,.985));
  box-shadow:inset 0 0 0 7px rgba(var(--purple-rgb),.08),inset 0 0 40px rgba(0,0,0,.72);
}
.ag-world-map-toolbar{
  display:flex;
  align-items:end;
  justify-content:center;
  gap:9px;
  flex-wrap:wrap;
  min-width:0;
}
.ag-world-map-tool{
  width:auto;
  min-width:96px;
  min-height:40px;
  padding:8px 14px;
  border-color:rgba(212,175,55,.82);
  background:linear-gradient(180deg,rgba(var(--purple-mid-rgb),.84),rgba(var(--purple-dark-rgb),.96));
  color:#f4e6b4;
}
.ag-world-map-tool:hover,.ag-world-map-tool:focus-visible{
  border-color:var(--gold);
  color:#fff4c2;
  background:linear-gradient(180deg,rgba(var(--purple-hover2-rgb),.96),rgba(var(--purple-hover-dark-rgb),.99));
}
.ag-world-map-zoom{min-width:44px;width:44px;padding-inline:0;font-size:1.25rem}
.ag-world-map-coordinate-field{
  display:grid;
  gap:4px;
  min-width:92px;
  color:rgba(244,230,180,.88);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ag-world-map-coordinate-field input{
  width:102px;
  min-height:40px;
  padding:7px 9px;
  border:1px solid rgba(212,175,55,.64);
  border-radius:10px;
  outline:none;
  background:rgba(75,0,37,.78);
  color:#f5f5f5;
  font:inherit;
  font-size:.9rem;
  text-transform:none;
  letter-spacing:0;
}
.ag-world-map-coordinate-field input:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(212,175,55,.13);
}
.ag-world-map-help{
  margin:0;
  color:rgba(201,201,207,.82);
  font-size:.78rem;
  text-align:center;
}
.ag-world-map-stage{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(212,175,55,.68);
  border-radius:14px;
  background:#000;
  box-shadow:inset 0 0 30px rgba(0,0,0,.82);
  cursor:grab;
  touch-action:none;
  outline:none;
}
.ag-world-map-stage:focus-visible{
  border-color:var(--gold);
  box-shadow:inset 0 0 30px rgba(0,0,0,.82),0 0 0 2px rgba(212,175,55,.18);
}
.ag-world-map-stage.is-dragging{cursor:grabbing}
.ag-world-map-canvas{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
@media(max-width:900px){
  .ag-world-map-body{padding:9px;gap:8px}
  .ag-world-map-toolbar{justify-content:flex-start;align-items:end}
  .ag-world-map-tool{min-width:88px}
  .ag-world-map-zoom{min-width:42px;width:42px}
  .ag-world-map-coordinate-field{min-width:82px}
  .ag-world-map-coordinate-field input{width:90px}
}
@media(max-width:560px){
  .ag-world-map-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
  .ag-world-map-tool,.ag-world-map-zoom{width:100%;min-width:0}
  .ag-world-map-coordinate-field{min-width:0}
  .ag-world-map-coordinate-field input{width:100%}
  .ag-world-map-help{font-size:.7rem;line-height:1.35}
}


/* rc1.5 · World Map step 2a · stable integer grid labels + empty-cell coordinate pop-over */
.ag-world-map-cell-popup{
  position:absolute;
  z-index:6;
  width:min(230px,calc(100% - 24px));
  padding:15px 16px 14px;
  border:1px solid rgba(212,175,55,.88);
  border-radius:16px;
  background:linear-gradient(155deg,rgba(var(--navy-rgb),.985),rgba(var(--purple-dark-rgb),.97));
  color:var(--silver);
  box-shadow:0 16px 34px rgba(0,0,0,.64),inset 0 0 0 4px rgba(var(--purple-rgb),.12);
  cursor:default;
}
.ag-world-map-cell-popup[hidden]{display:none!important}
.ag-world-map-cell-popup-title{
  margin:0 30px 10px 0;
  color:var(--gold);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.ag-world-map-cell-popup-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:0;
}
.ag-world-map-cell-popup-grid>div{
  padding:8px 10px;
  border:1px solid rgba(212,175,55,.34);
  border-radius:10px;
  background:rgba(0,0,0,.28);
}
.ag-world-map-cell-popup-grid dt{
  margin:0 0 2px;
  color:rgba(201,201,207,.78);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.ag-world-map-cell-popup-grid dd{
  margin:0;
  color:#f4e6b4;
  font-size:1rem;
  font-weight:700;
}
.ag-world-map-cell-popup-close{
  position:absolute;
  top:9px;
  right:9px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:0 0 2px;
  border:1px solid rgba(212,175,55,.72);
  border-radius:50%;
  background:linear-gradient(180deg,rgba(var(--purple-mid-rgb),.78),rgba(var(--purple-dark-rgb),.96));
  color:var(--gold);
  font-size:1.05rem;
  line-height:1;
  cursor:pointer;
}
.ag-world-map-cell-popup-close:hover,.ag-world-map-cell-popup-close:focus-visible{
  color:#fff4c2;
  border-color:var(--gold);
  outline:2px solid rgba(212,175,55,.34);
  outline-offset:1px;
}


/* rc1.6 · World Map step 3 · live region footprints via safe WordPress proxy */
.ag-world-map-info-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.ag-world-map-info-row .ag-world-map-help{margin:0}
.ag-world-map-region-status{
  margin:0;
  padding:5px 10px;
  border:1px solid rgba(212,175,55,.34);
  border-radius:999px;
  background:rgba(0,0,0,.26);
  color:rgba(201,201,207,.84);
  font-size:.72rem;
  line-height:1.25;
  white-space:nowrap;
}
.ag-world-map-region-status[data-state="ready"]{color:#f4e6b4;border-color:rgba(212,175,55,.62)}
.ag-world-map-region-status[data-state="selected"]{color:#f4e6b4;border-color:rgba(162,108,214,.7)}
.ag-world-map-region-status[data-state="loading"]{color:rgba(244,230,180,.82)}
.ag-world-map-region-status[data-state="error"]{color:#f2c4c4;border-color:rgba(194,82,82,.66)}
.ag-world-map-region-status[data-state="off"]{color:rgba(201,201,207,.64)}
@media(max-width:760px){
  .ag-world-map-info-row{align-items:flex-start}
  .ag-world-map-region-status{white-space:normal}
}


/* rc1.7 · World Map step 4 · centered help + guarded region detail pop-over */
.ag-world-map-info-row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:5px;
  align-items:center;
}
.ag-world-map-info-row .ag-world-map-help{
  width:100%;
  justify-self:center;
  text-align:center;
}
.ag-world-map-region-status{
  justify-self:end;
}
.ag-world-map-region-popup{
  position:absolute;
  z-index:7;
  width:min(310px,calc(100% - 24px));
  padding:16px;
  border:1px solid rgba(212,175,55,.9);
  border-radius:16px;
  background:linear-gradient(155deg,rgba(var(--navy-rgb),.99),rgba(var(--purple-dark-rgb),.975));
  color:var(--silver);
  box-shadow:0 18px 38px rgba(0,0,0,.68),inset 0 0 0 4px rgba(var(--purple-rgb),.13);
  cursor:default;
}
.ag-world-map-region-popup[hidden]{display:none!important}
.ag-world-map-region-popup-name{
  margin:0 34px 12px 0;
  color:#f4e6b4;
  font-size:1.15rem;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.ag-world-map-region-popup-grid{
  display:grid;
  gap:8px;
  margin:0;
}
.ag-world-map-region-popup-grid>div{
  display:grid;
  grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);
  gap:10px;
  align-items:center;
  padding:8px 10px;
  border:1px solid rgba(212,175,55,.34);
  border-radius:10px;
  background:rgba(0,0,0,.28);
}
.ag-world-map-region-popup-grid dt{
  margin:0;
  color:rgba(201,201,207,.78);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.ag-world-map-region-popup-grid dd{
  margin:0;
  color:#f4e6b4;
  font-size:.92rem;
  font-weight:700;
  text-align:right;
}
@media(max-width:760px){
  .ag-world-map-region-status{justify-self:stretch;white-space:normal;text-align:center}
}

/* rc1.9 · World Map step 6 · compact region details + 65vw/vh region-info layer */
.ag-world-map-region-popup{
  width:min(430px,calc(100% - 24px));
}
.ag-world-map-region-popup-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 34px 12px 0;
}
.ag-world-map-region-popup-name{
  flex:1 1 auto;
  min-width:0;
  margin:0;
}
.ag-world-map-region-info-open{
  flex:0 0 auto;
  width:auto;
  min-width:132px;
  min-height:34px;
  padding:6px 12px;
  border-color:rgba(212,175,55,.82);
  background:linear-gradient(180deg,rgba(var(--purple-mid-rgb),.84),rgba(var(--purple-dark-rgb),.96));
  color:#f4e6b4;
  white-space:nowrap;
}
.ag-world-map-region-info-open:hover,.ag-world-map-region-info-open:focus-visible{
  border-color:var(--gold);
  color:#fff4c2;
  background:linear-gradient(180deg,rgba(var(--purple-hover2-rgb),.96),rgba(var(--purple-hover-dark-rgb),.99));
}
.ag-world-map-region-popup-grid dd{
  white-space:nowrap;
}
.ag-region-info-dialog{
  width:65vw;
  height:65vh;
  max-width:none;
  max-height:none;
  margin:auto;
  padding:0;
  overflow:visible;
  border:0;
  background:transparent;
  color:var(--silver);
}
.ag-region-info-dialog::backdrop{
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(1px);
}
.ag-region-info-shell{
  width:100%;
  height:100%;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  padding:9px;
  border:1px solid var(--gold);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(var(--purple-frame-rgb),.98),rgba(var(--purple-dark-rgb),.98));
  box-shadow:0 30px 90px rgba(0,0,0,.78),inset 0 1px 0 rgba(255,255,255,.08);
}
.ag-region-info-header{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 64px 10px 26px;
  position:relative;
  border:1px solid rgba(212,175,55,.76);
  border-bottom:0;
  border-radius:18px 18px 0 0;
  background:linear-gradient(180deg,rgba(var(--navy-rgb),.985),rgba(0,0,0,.985));
}
.ag-region-info-kicker{
  margin:0 0 3px;
  color:var(--gold);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ag-region-info-header h2{
  margin:0;
  color:#f4e6b4;
  font-size:1.35rem;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.ag-region-info-close{
  position:absolute;
  top:12px;
  right:14px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0 0 3px;
  border:1px solid var(--gold);
  border-radius:50%;
  background:linear-gradient(180deg,rgba(var(--purple-mid-rgb),.84),rgba(var(--purple-dark-rgb),.96));
  color:var(--gold);
  font-size:1.65rem;
  line-height:1;
  cursor:pointer;
}
.ag-region-info-close:hover,.ag-region-info-close:focus-visible{
  color:#fff4c2;
  background:linear-gradient(180deg,rgba(var(--purple-hover2-rgb),.96),rgba(var(--purple-hover-dark-rgb),.99));
  outline:2px solid rgba(212,175,55,.72);
  outline-offset:2px;
}
.ag-region-info-body{
  min-width:0;
  min-height:0;
  overflow:auto;
  padding:22px;
  border:1px solid rgba(212,175,55,.76);
  border-radius:0 0 18px 18px;
  background:
    radial-gradient(circle at 50% 30%,rgba(var(--purple-rgb),.15),transparent 48%),
    linear-gradient(180deg,rgba(var(--navy-rgb),.97),rgba(0,0,0,.99));
}
.ag-region-info-fallback{
  min-height:100%;
  display:grid;
  grid-template-columns:minmax(190px,280px) minmax(0,1fr);
  gap:34px;
  align-items:center;
  justify-content:center;
  max-width:900px;
  margin:0 auto;
  padding:20px;
}
.ag-region-info-seal{
  display:block;
  width:100%;
  max-width:280px;
  aspect-ratio:1;
  object-fit:contain;
  justify-self:center;
  border:1px solid rgba(212,175,55,.72);
  border-radius:24px;
  background:#000;
  box-shadow:0 18px 42px rgba(0,0,0,.44);
}
.ag-region-info-fallback-copy{
  min-width:0;
}
.ag-region-info-fallback-copy h3{
  margin:0 0 14px;
  color:#f4e6b4;
  font-size:1.45rem;
  line-height:1.25;
}
.ag-region-info-fallback-copy p{
  margin:0 0 22px;
  max-width:620px;
  color:rgba(201,201,207,.88);
  line-height:1.6;
}
.ag-region-info-join{
  width:auto;
  min-width:160px;
  display:inline-flex;
  justify-content:center;
}
@media(max-width:900px){
  .ag-region-info-dialog{width:92vw;height:90vh}
  .ag-region-info-fallback{grid-template-columns:1fr;text-align:center;gap:18px}
  .ag-region-info-seal{max-width:220px}
  .ag-region-info-join{margin-inline:auto}
}
@media(max-width:620px){
  .ag-world-map-region-popup-heading{align-items:flex-start;flex-direction:column;margin-right:34px}
  .ag-world-map-region-info-open{width:100%}
  .ag-world-map-region-popup-grid dd{white-space:normal}
  .ag-region-info-dialog{width:96vw;height:94vh}
  .ag-region-info-header{padding-left:18px}
  .ag-region-info-body{padding:12px}
  .ag-region-info-fallback{padding:8px}
}


/* rc1.12 · public World Map Gallery covers + Copy Hop-to link */
.ag-world-map-region-popup-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.ag-world-map-hop-copy{
  width:auto;
  min-width:132px;
  min-height:34px;
  padding:6px 12px;
  border-color:rgba(212,175,55,.82);
  background:linear-gradient(180deg,rgba(var(--purple-mid-rgb),.84),rgba(var(--purple-dark-rgb),.96));
  color:#f4e6b4;
  white-space:nowrap;
}
.ag-world-map-hop-copy:hover,.ag-world-map-hop-copy:focus-visible{
  border-color:var(--gold);
  color:#fff4c2;
  background:linear-gradient(180deg,rgba(var(--purple-hover2-rgb),.96),rgba(var(--purple-hover-dark-rgb),.99));
}
.ag-world-map-hop-copy[hidden]{display:none!important}
.ag-region-info-showcase{
  min-height:100%;
  display:grid;
  place-items:center;
  padding:8px;
}
.ag-region-info-showcase[hidden]{display:none!important}
.ag-region-info-cover{
  display:block;
  width:100%;
  height:100%;
  max-height:100%;
  object-fit:contain;
  border:1px solid rgba(212,175,55,.72);
  border-radius:18px;
  background:#000;
  box-shadow:0 18px 42px rgba(0,0,0,.44);
}
@media(max-width:620px){
  .ag-world-map-region-popup-actions{width:100%;justify-content:stretch}
  .ag-world-map-hop-copy,.ag-world-map-region-info-open{flex:1 1 100%;width:100%}
}

.ag-region-info-fallback[hidden]{display:none!important}


/* ============================================================
   AnsjelaGrid rc1.14 — optional Warm Heritage visitor palette
   Classic remains the untouched default.
   This palette is deliberately disabled while Website Admin Mode
   is active. Grid Admin has its own plugin stylesheet and is not
   changed by this theme.
   ============================================================ */
body.ag-color-heritage:not(.ag-website-admin-mode){
  --bg:#33230e;
  --navy:#544128;
  --purple:#87745b;
  --purple-dark:#544128;
  --navy-rgb:84,65,40;
  --purple-rgb:135,116,91;
  --purple-dark-rgb:84,65,40;
  --purple-mid-rgb:135,116,91;
  --purple-frame-rgb:135,116,91;
  --purple-hover-rgb:153,142,129;
  --purple-hover2-rgb:186,176,162;
  --purple-hover-dark-rgb:84,65,40;
  --purple-deep-rgb:51,35,14;
  --gold:#edd1ad;
  --silver:#f4eee6;
  background:#33230e;
  color:#f4eee6;
}
html:has(body.ag-color-heritage:not(.ag-website-admin-mode)){background:#33230e}

body.ag-color-heritage:not(.ag-website-admin-mode) .site-shell,
body.ag-color-heritage:not(.ag-website-admin-mode) .site-header,
body.ag-color-heritage:not(.ag-website-admin-mode) .site-footer{
  border-color:#87745b;
}
body.ag-color-heritage:not(.ag-website-admin-mode) .pill-button,
body.ag-color-heritage:not(.ag-website-admin-mode) .small-button,
body.ag-color-heritage:not(.ag-website-admin-mode) .dropdown-option{
  border-color:#edd1ad;
  background:linear-gradient(180deg,rgba(135,116,91,.72),rgba(84,65,40,.96));
  color:#fff8ef;
}
body.ag-color-heritage:not(.ag-website-admin-mode) .pill-button:hover,
body.ag-color-heritage:not(.ag-website-admin-mode) .small-button:hover,
body.ag-color-heritage:not(.ag-website-admin-mode) .dropdown-option:hover{
  background:linear-gradient(180deg,rgba(237,209,173,.34),rgba(84,65,40,.98));
  color:#fff;
}
body.ag-color-heritage:not(.ag-website-admin-mode) .dropdown-panel,
body.ag-color-heritage:not(.ag-website-admin-mode) .language-comfort-panel,
body.ag-color-heritage:not(.ag-website-admin-mode) .front-intro-card,
body.ag-color-heritage:not(.ag-website-admin-mode) .wp-page-card,
body.ag-color-heritage:not(.ag-website-admin-mode) .legal-card{
  border-color:#87745b;
  background:linear-gradient(180deg,rgba(84,65,40,.96),rgba(51,35,14,.99));
}
body.ag-color-heritage:not(.ag-website-admin-mode) .established,
body.ag-color-heritage:not(.ag-website-admin-mode) .eyebrow,
body.ag-color-heritage:not(.ag-website-admin-mode) h1,
body.ag-color-heritage:not(.ag-website-admin-mode) h2,
body.ag-color-heritage:not(.ag-website-admin-mode) h3,
body.ag-color-heritage:not(.ag-website-admin-mode) a{
  color:#edd1ad;
}
body.ag-color-heritage:not(.ag-website-admin-mode) .wp-page-card .lead{
  color:#f3e6d5;
}
body.ag-color-heritage:not(.ag-website-admin-mode) input:not([type="checkbox"]):not([type="radio"]),
body.ag-color-heritage:not(.ag-website-admin-mode) select,
body.ag-color-heritage:not(.ag-website-admin-mode) textarea{
  border-color:rgba(237,209,173,.72);
  background:#33230e;
  color:#fff8ef;
}
body.ag-color-heritage:not(.ag-website-admin-mode) input:focus,
body.ag-color-heritage:not(.ag-website-admin-mode) select:focus,
body.ag-color-heritage:not(.ag-website-admin-mode) textarea:focus{
  border-color:#edd1ad;
  box-shadow:0 0 0 3px rgba(237,209,173,.18);
}
body.ag-color-heritage:not(.ag-website-admin-mode) .ag-dialog{
  border-color:#edd1ad;
  background:#33230e;
  color:#f4eee6;
}
body.ag-color-heritage:not(.ag-website-admin-mode) .ag-dialog::backdrop{
  background:rgba(35,24,10,.9);
}


/* ============================================================
   AnsjelaGrid rc1.16 — additional visitor colour profiles.
   Soft Pastel is based on palette 1:
   #EDD1AD #EDBFAD #ADB5ED #ADD6ED #988770
   Calm Slate is based on palette 3:
   #ADD9ED #EDD0AD #8EA4AD #998E81 #3F5F6E

   Both profiles use a deliberately dark derived base for readable
   text contrast. Classic and Warm Heritage are unchanged.
   Website Admin Mode is excluded; Grid Admin remains independent.
   ============================================================ */
body.ag-color-soft-pastel:not(.ag-website-admin-mode){
  --bg:#302b25;
  --navy:#50483d;
  --purple:#988770;
  --purple-dark:#50483d;
  --navy-rgb:80,72,61;
  --purple-rgb:152,135,112;
  --purple-dark-rgb:80,72,61;
  --purple-mid-rgb:173,181,237;
  --purple-frame-rgb:152,135,112;
  --purple-hover-rgb:173,214,237;
  --purple-hover2-rgb:173,181,237;
  --purple-hover-dark-rgb:80,72,61;
  --purple-deep-rgb:48,43,37;
  --gold:#edd1ad;
  --silver:#f7f2eb;
  background:#302b25;
  color:#f7f2eb;
}
html:has(body.ag-color-soft-pastel:not(.ag-website-admin-mode)){background:#302b25}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .site-shell,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .site-header,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .site-footer{
  border-color:#988770;
}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .pill-button,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .small-button,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .dropdown-option{
  border-color:#edd1ad;
  background:linear-gradient(180deg,rgba(173,181,237,.54),rgba(80,72,61,.96));
  color:#fffaf3;
}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .pill-button:hover,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .small-button:hover,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .dropdown-option:hover{
  background:linear-gradient(180deg,rgba(173,214,237,.68),rgba(80,72,61,.98));
  color:#fff;
}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .dropdown-panel,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .language-comfort-panel,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .front-intro-card,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .wp-page-card,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .legal-card{
  border-color:#988770;
  background:linear-gradient(180deg,rgba(80,72,61,.96),rgba(48,43,37,.99));
}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .established,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .eyebrow,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) h1,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) h2,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) h3,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) a{color:#edd1ad}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .wp-page-card .lead{color:#f3e5d5}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) input:not([type="checkbox"]):not([type="radio"]),
body.ag-color-soft-pastel:not(.ag-website-admin-mode) select,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) textarea{
  border-color:rgba(237,209,173,.72);background:#302b25;color:#fffaf3;
}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) input:focus,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) select:focus,
body.ag-color-soft-pastel:not(.ag-website-admin-mode) textarea:focus{
  border-color:#add6ed;box-shadow:0 0 0 3px rgba(173,214,237,.18);
}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .ag-dialog{
  border-color:#edd1ad;background:#302b25;color:#f7f2eb;
}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .ag-dialog::backdrop{background:rgba(30,27,23,.9)}

body.ag-color-calm-slate:not(.ag-website-admin-mode){
  --bg:#263940;
  --navy:#3f5f6e;
  --purple:#8ea4ad;
  --purple-dark:#3f5f6e;
  --navy-rgb:63,95,110;
  --purple-rgb:142,164,173;
  --purple-dark-rgb:63,95,110;
  --purple-mid-rgb:142,164,173;
  --purple-frame-rgb:142,164,173;
  --purple-hover-rgb:173,217,237;
  --purple-hover2-rgb:173,217,237;
  --purple-hover-dark-rgb:63,95,110;
  --purple-deep-rgb:38,57,64;
  --gold:#edd0ad;
  --silver:#f2f5f6;
  background:#263940;
  color:#f2f5f6;
}
html:has(body.ag-color-calm-slate:not(.ag-website-admin-mode)){background:#263940}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .site-shell,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .site-header,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .site-footer{border-color:#8ea4ad}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .pill-button,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .small-button,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .dropdown-option{
  border-color:#edd0ad;
  background:linear-gradient(180deg,rgba(142,164,173,.72),rgba(63,95,110,.96));
  color:#fffaf3;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .pill-button:hover,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .small-button:hover,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .dropdown-option:hover{
  background:linear-gradient(180deg,rgba(173,217,237,.62),rgba(63,95,110,.98));color:#fff;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .dropdown-panel,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .language-comfort-panel,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .front-intro-card,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .wp-page-card,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .legal-card{
  border-color:#8ea4ad;
  background:linear-gradient(180deg,rgba(63,95,110,.96),rgba(38,57,64,.99));
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .established,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .eyebrow,
body.ag-color-calm-slate:not(.ag-website-admin-mode) h1,
body.ag-color-calm-slate:not(.ag-website-admin-mode) h2,
body.ag-color-calm-slate:not(.ag-website-admin-mode) h3,
body.ag-color-calm-slate:not(.ag-website-admin-mode) a{color:#edd0ad}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .wp-page-card .lead{color:#e4eef2}
body.ag-color-calm-slate:not(.ag-website-admin-mode) input:not([type="checkbox"]):not([type="radio"]),
body.ag-color-calm-slate:not(.ag-website-admin-mode) select,
body.ag-color-calm-slate:not(.ag-website-admin-mode) textarea{
  border-color:rgba(237,208,173,.72);background:#263940;color:#f8fbfc;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) input:focus,
body.ag-color-calm-slate:not(.ag-website-admin-mode) select:focus,
body.ag-color-calm-slate:not(.ag-website-admin-mode) textarea:focus{
  border-color:#add9ed;box-shadow:0 0 0 3px rgba(173,217,237,.18);
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .ag-dialog{
  border-color:#edd0ad;background:#263940;color:#f2f5f6;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .ag-dialog::backdrop{background:rgba(24,36,41,.9)}


/* rc1.15 — compact Language / Comfort / Colour style sections.
   Pure HTML <details>: no new JavaScript and no change to preference storage. */
.language-comfort-section{margin:0;display:block}
.language-comfort-section+ .language-comfort-section{margin-top:9px}
.language-comfort-section>summary{
  min-height:42px;display:flex;align-items:center;justify-content:center;gap:9px;
  padding:9px 38px 9px 14px;border:1px solid rgba(212,175,55,.6);border-radius:999px;
  background:linear-gradient(180deg,rgba(var(--purple-rgb),.28),rgba(var(--purple-deep-rgb),.58));
  color:var(--gold);text-align:center;text-transform:uppercase;letter-spacing:.07em;font-size:.9rem;
  cursor:pointer;list-style:none;position:relative
}
.language-comfort-section>summary::-webkit-details-marker{display:none}
.language-comfort-section>summary::after{content:"▾";position:absolute;right:17px;top:50%;transform:translateY(-50%);transition:transform .18s ease}
.language-comfort-section[open]>summary::after{transform:translateY(-50%) rotate(180deg)}
.language-comfort-section>summary:hover,.language-comfort-section>summary:focus-visible{
  color:#fff8d8;border-color:var(--gold);background:linear-gradient(180deg,rgba(var(--purple-hover2-rgb),.78),rgba(var(--purple-hover-dark-rgb),.92));outline:none
}
.language-comfort-section-body{display:grid;gap:10px;padding:11px 4px 2px}
.language-comfort-section-body .language-comfort-languages{display:grid;gap:9px}
.language-comfort-panel>.comfort-form{display:block}
.language-comfort-panel .comfort-form>.language-comfort-section{margin-top:9px}
.language-comfort-panel .comfort-form .comfort-section-fields{display:grid;gap:12px}
.language-comfort-panel .comfort-actions{position:sticky;bottom:-18px;z-index:3;margin:12px -4px -4px;padding:12px 4px 4px;background:linear-gradient(180deg,transparent 0,rgba(var(--navy-rgb),.96) 30%,rgba(0,0,0,.99) 100%)}
body.ag-color-heritage:not(.ag-website-admin-mode) .language-comfort-panel .comfort-actions{background:linear-gradient(180deg,transparent 0,rgba(84,65,40,.97) 30%,rgba(51,35,14,.99) 100%)}
body.ag-color-soft-pastel:not(.ag-website-admin-mode) .language-comfort-panel .comfort-actions{background:linear-gradient(180deg,transparent 0,rgba(80,72,61,.97) 30%,rgba(48,43,37,.99) 100%)}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .language-comfort-panel .comfort-actions{background:linear-gradient(180deg,transparent 0,rgba(63,95,110,.97) 30%,rgba(38,57,64,.99) 100%)}


/* ============================================================
   AnsjelaGrid rc1.17 — Calm Slate polish
   Scope: Calm Slate visitor/member presentation only.
   Classic, Warm Heritage, Soft Pastel and Website Admin remain untouched.
   ============================================================ */
body.ag-color-calm-slate:not(.ag-website-admin-mode){
  --calm-deep:#14252d;
  --calm-deeper:#0f1e25;
  --calm-panel:#1a3039;
  background:#14252d;
}
html:has(body.ag-color-calm-slate:not(.ag-website-admin-mode)){background:#14252d}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .page-wrap-inner,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .hero-frame-inner,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .site-header,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .site-footer{
  background:#14252d;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .hero-frame{
  background:linear-gradient(180deg,#29434e,#14252d);
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .announcement-card,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .front-intro-card,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .wp-page-card,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .gallery-intro,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .gallery-photo,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .legal-document,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .language-comfort-panel,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .dropdown-panel{
  background:linear-gradient(180deg,#1d3540,#14252d);
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .front-slideshow,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .slide-viewport,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .region-gallery-hero,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .region-photo-grid button,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .ag-public-photo,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .ag-gallery-lightbox,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .ag-gallery-cover-wrap,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .ag-gallery-cover,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .ag-region-info-seal,
body.ag-color-calm-slate:not(.ag-website-admin-mode) .ag-region-info-cover{
  background:#0f1e25;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .header-shoutbox.is-empty{
  background:#14252d;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .ag-dialog{
  background:#14252d;
}
.site-logo-calm-slate{display:none}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .site-logo-default{display:none}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .site-logo-calm-slate{display:block}

/* rc1.18 — Calm Slate polish. Website Admin and Grid Admin excluded. */
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)).ag-public-wide-page .page-wrap{
  /* Same outer width as My Portal after markWideHosts() in member-flow.js. */
  width:100%;
  max-width:none;
  min-width:0;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .photo-dialog,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-gallery-lightbox,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-world-map-region-popup,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-world-map-cell-popup{
  background:#14252d;
  color:#f2f5f6;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .photo-dialog::backdrop,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-gallery-lightbox::backdrop,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-world-map-dialog::backdrop,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-region-info-dialog::backdrop,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-idle-dialog::backdrop{
  /* Existing Calm Slate .ag-dialog::backdrop, including Restart confirmation. */
  background:rgba(24,36,41,.9);
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .photo-dialog__content img,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-photo{
  background:#0f1e25;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-gallery-lightbox-arrow,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .photo-dialog__close{
  background:rgba(26,48,57,.94);
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-gallery-lightbox-arrow:hover,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-gallery-lightbox-arrow:focus-visible,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .photo-dialog__close:hover,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .photo-dialog__close:focus-visible{
  background:#3f5f6e;
  color:#fff5cf;
  outline:2px solid #edd0ad;
  outline-offset:2px;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-scroll-arrow{
  border-color:#edd0ad;
  background:linear-gradient(145deg,#29434e,#14252d);
  color:#f1dda0;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-scroll-arrow:hover,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-scroll-arrow:focus-visible{
  background:#3f5f6e;
  outline-color:#edd0ad;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .dropdown--portal .portal-panel,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .dropdown--language-comfort .language-comfort-panel,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-tile-body{
  scrollbar-color:#c5a578 #1a3039;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .dropdown--portal .portal-panel::-webkit-scrollbar-track,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .dropdown--language-comfort .language-comfort-panel::-webkit-scrollbar-track,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-tile-body::-webkit-scrollbar-track{
  background:#1a3039;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .dropdown--portal .portal-panel::-webkit-scrollbar-thumb,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .dropdown--language-comfort .language-comfort-panel::-webkit-scrollbar-thumb,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-tile-body::-webkit-scrollbar-thumb{
  border:1px solid #edd0ad;
  border-radius:999px;
  background:#52717b;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .dropdown--portal .portal-panel::-webkit-scrollbar-thumb:hover,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .dropdown--language-comfort .language-comfort-panel::-webkit-scrollbar-thumb:hover,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-tile-body::-webkit-scrollbar-thumb:hover{
  background:#8ea4ad;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-tile{
  background:linear-gradient(180deg,#1d3540,#14252d);
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-tile-head,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-tile-footer,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-region-info-header,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-region-info-body{
  background:#1a3039;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-readonly{
  background:#203b46;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-world-map-canvas{
  --ag-map-region-top:rgba(63,95,110,.96);
  --ag-map-region-bottom:rgba(26,48,57,.98);
  --ag-map-background-top:rgba(22,39,48,.98);
  --ag-map-background-bottom:rgba(15,30,37,.99);
  --ag-map-cell-fill:rgba(43,66,76,.28);
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-profile-box>img[src*="ansjelagrid-octagon-seal-profile-silver.png"]{
  background:transparent;
  object-fit:contain;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-photo img[src*="ansjelagrid-octagon-seal-profile-silver.png"]{
  object-fit:contain;
}
/* The member seal has transparent corners; let the page show through its holder. */
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-grid-profile-photo:has(> img[src*="ansjelagrid-octagon-seal-profile-silver.png"]){
  background:transparent;
  border-color:transparent;
}

/* rc1.19 — Full-height Calm Slate front page on larger screens. */
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)).ag-public-wide-page.home .page-wrap{
  min-height:calc(100vh - 16px);
  min-height:calc(100svh - 16px);
  display:flex;
  flex-direction:column;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)).ag-public-wide-page.home .page-wrap-inner{
  flex:1;
  display:flex;
  flex-direction:column;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)).ag-public-wide-page.home .page-content{
  flex:1;
  width:100%;
  grid-template-rows:auto auto minmax(0,1fr) auto;
}
@media (min-width:981px){
  body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)).ag-public-wide-page.home .front-media-column{
    grid-template-rows:minmax(245px,3fr) minmax(110px,1fr);
  }
  body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)).ag-public-wide-page.home .front-slideshow{
    height:auto;
  }
}

/* Feature master-switch unavailable state — Calm Slate, never legacy red. */
.ag-feature-unavailable{min-height:52vh;display:grid;place-items:center;padding:clamp(28px,6vw,72px);background:rgba(20,37,45,.62);backdrop-filter:blur(4px);border:1px solid rgba(142,164,173,.62);border-radius:28px}
.ag-feature-unavailable-card{width:min(680px,100%);padding:clamp(28px,5vw,52px);text-align:center;border:1px solid #8ea4ad;border-radius:26px;background:linear-gradient(180deg,rgba(38,57,64,.97),rgba(26,48,57,.98));box-shadow:0 24px 70px rgba(9,19,24,.42);color:#e4eef2}
.ag-feature-unavailable-card .ag-eyebrow,.ag-feature-unavailable-card h1{color:#edd0ad}


/* rc1.21 — Site-wide responsive viewport shell.
 * Geometry only: preserve approved palettes, borders, typography and components.
 * The outer site frame follows the browser width; short pages fill the viewport.
 * Grid Admin keeps its own layout through the .agga-shell exclusion.
 */
body:not(:has(.agga-shell)) .page-wrap{
  width:calc(100% - 16px);
  max-width:none;
  min-width:0;
  min-height:calc(100vh - 16px);
  min-height:calc(100svh - 16px);
  display:flex;
  flex-direction:column;
}
body:not(:has(.agga-shell)) .page-wrap-inner{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}
body:not(:has(.agga-shell)) .page-content{
  min-width:0;
  width:100%;
  flex:1 1 auto;
}
body:not(:has(.agga-shell)) .page-content > *{
  min-width:0;
  max-width:100%;
}
body:not(:has(.agga-shell)) .site-footer{
  margin-top:auto;
}

/* Keep readable prose comfortable inside the now responsive outer frame.
 * Cards and functional interfaces may use the full available width. */
body:not(:has(.agga-shell)) .ag-about-copy,
body:not(:has(.agga-shell)) .legal-document > .legal-section{
  max-width:78ch;
}

@media(max-width:780px){
  body:not(:has(.agga-shell)) .page-wrap{
    width:calc(100% - 10px);
    margin:5px auto;
    min-height:calc(100vh - 10px);
    min-height:calc(100svh - 10px);
  }
}

/* rc1.22 — Calm Slate modal + map polish. No functional changes. */
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-toast,
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-toast-stack .ag-toast{
  background:#14252d;
  color:#f2f5f6;
  border-color:#edd0ad;
  box-shadow:0 18px 52px rgba(5,15,20,.48);
}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-toast strong{color:#edd0ad}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-toast-close{border-color:rgba(237,208,173,.72);color:#edd0ad}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-world-map-stage{background:#14252d}
body.ag-color-calm-slate:not(.ag-website-admin-mode):not(:has(.agga-shell)) .ag-world-map-canvas{
  --ag-map-region-top:rgba(142,164,173,.94);
  --ag-map-region-bottom:rgba(63,95,110,.98);
  --ag-map-background-top:rgba(20,37,45,.99);
  --ag-map-background-bottom:rgba(15,30,37,.99);
  --ag-map-cell-fill:rgba(38,57,64,.30);
}

/* rc1.22: agreed portal polish. The seal artwork is unchanged. */
body.ag-color-calm-slate:not(.ag-website-admin-mode) .seal-overlay{
  background:#14252d;
}
body.ag-color-calm-slate:not(.ag-website-admin-mode) .seal-overlay.is-opening{
  background:transparent;
}
body:not(.ag-website-admin-mode):not(:has(.agga-shell)) .legal-document{
  text-align:center;
}
body:not(.ag-website-admin-mode):not(:has(.agga-shell)) .legal-document > .legal-section{
  margin-left:auto;
  margin-right:auto;
}
body:not(.ag-website-admin-mode):not(:has(.agga-shell)) .legal-document li{
  list-style-position:inside;
}
body:not(.ag-website-admin-mode):not(:has(.agga-shell)) .tos-version-nav{
  justify-content:center;
}
/* Editing controls keep their existing readable form alignment. */
.legal-document .ag-form{ text-align:left; }
