/* EASY BASE 2026 / TACTICAL PREMIUM — public website only.
   Existing admin, Supabase, CMS blocks and navigation logic untouched. */
@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600&family=Rajdhani:wght@400;500;600&display=swap');
:root{--eb-premium-bg:#080b09;--eb-premium-surface:#111713;--eb-premium-line:#354b3b;--eb-premium-ink:#edf1eb;--eb-premium-sub:#a3b2a6;--eb-premium-accent:#98c8a5}
html{scroll-behavior:smooth}
body{background:#080b09;color:var(--eb-premium-ink);font:400 17px/1.5 'Exo 2',system-ui,sans-serif;letter-spacing:0}
body::before,body::after{display:none!important}
.shell{max-width:1648px;background:#080b09}
.shell>.banner{border:0!important;box-shadow:none!important}
.eb-header{background:#0b100df7!important;border-top:1px solid #344d3b!important;border-bottom:1px solid #344d3b!important;box-shadow:0 12px 35px #0005!important;min-height:74px;gap:24px}
.eb-header .brand{font:500 clamp(13px,1.35vw,19px)/1.3 'Exo 2',sans-serif!important;letter-spacing:.8px!important;color:#e7ede5!important}
.eb-header .muted{font:400 10px/1.4 'Exo 2',sans-serif;letter-spacing:1px;color:#9eb1a1}
.eb-header .status{color:#9cdbad}
.eb-header .lang button,.eb-header .actions a,.eb-mobile-toggle{background:#121b15!important;color:#dce8de!important;border:1px solid #3d5844!important;border-radius:6px!important;font:500 12px 'Exo 2',sans-serif!important;letter-spacing:.35px!important;box-shadow:none!important;transform:none!important}
.eb-header .lang button.active{background:#244332!important;border-color:#8bbd99!important;color:white!important}
.eb-header .lang button:hover,.eb-header .actions a:hover,.eb-mobile-toggle:hover{background:#21372a!important;border-color:#91cba4!important}
.eb-header .social-links a{border-radius:6px!important;transition:background .2s ease!important}
.eb-header .social-links a:hover{background:#1a2b20!important}
.shell>.page{background:linear-gradient(90deg,#101611,#080b09 7%,#080b09 93%,#101611)!important;border-color:#25382a!important;padding:clamp(32px,4vw,68px) clamp(18px,6vw,105px) 96px!important;overflow:hidden}
.shell>.page::before,.shell>.page::after{display:none!important}
#content{max-width:1260px;margin:0 auto}
#content>h1{font:500 clamp(31px,4vw,54px)/1.08 'Exo 2',sans-serif!important;letter-spacing:-1.2px!important;text-transform:none!important;color:#f3f4ef;text-shadow:none!important;margin:0 0 12px}
#content>p.muted{font:400 13px/1.6 'Exo 2',sans-serif!important;letter-spacing:1.1px!important;color:#a6b6a9!important;margin:0 0 30px}
.menu-grid.tactical-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin:26px 0 46px!important;align-items:stretch}
.menu-card.tactical-card{width:100%;min-width:0!important;min-height:138px!important;display:flex!important;align-items:center!important;gap:15px!important;padding:22px!important;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#17221a,#0d120f)!important;border:1px solid #344c3a!important;border-radius:9px!important;clip-path:none!important;box-shadow:none!important;transform:none!important;filter:none!important;transition:border-color .2s,background .2s,box-shadow .2s!important;text-decoration:none!important}
.menu-card.tactical-card::before{display:none!important}
.menu-card.tactical-card::after{display:none!important}
.menu-card.tactical-card:hover,.menu-card.tactical-card:focus-visible{border-color:#8eb89a!important;background:#1a2b20!important;box-shadow:0 10px 32px #0005!important;transform:none!important;filter:none!important;outline-offset:3px}
.menu-card .menu-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.72;transition:transform .5s ease,opacity .3s}
.menu-card:hover .menu-bg{transform:scale(1.035);opacity:.85}
.tactical-icon{flex:0 0 43px!important;width:43px!important;height:43px!important;font:400 22px/1 'Exo 2',sans-serif!important;border:1px solid #415d47!important;border-radius:8px!important;background:#101a13c9!important;box-shadow:none!important;color:#c4d8c8!important}
.tactical-copy{gap:7px!important}
.menu-card.tactical-card b{font:500 clamp(17px,1.45vw,22px)/1.15 'Exo 2',sans-serif!important;letter-spacing:.1px!important;white-space:normal!important;color:#f2f5ef!important;text-transform:none!important}
.menu-card.tactical-card small{font:400 11px/1.4 'Exo 2',sans-serif!important;letter-spacing:1px!important;color:#b2c2b5!important;white-space:normal!important}
.tactical-arrow{font:400 25px 'Exo 2',sans-serif!important;color:#a6cbb0!important;text-shadow:none!important}
#content .panel,#content .block,#content .item,#content .cms-content-block,#content .cms-card{background:#111813!important;border:1px solid #314538!important;border-radius:10px!important;clip-path:none!important;box-shadow:none!important}
#content .panel::before,#content .block::before{display:none!important}
#content h2,#content h3{font:500 clamp(22px,2.1vw,31px)/1.25 'Exo 2',sans-serif!important;letter-spacing:-.4px!important;text-transform:none!important}
#content p{line-height:1.7}
#content .btn,#content a.btn{font:500 13px/1.3 'Exo 2',sans-serif!important;letter-spacing:.25px!important;text-transform:none!important;border:1px solid #50705a!important;border-radius:7px!important;background:#1a3021!important;box-shadow:none!important;animation:none!important;padding:12px 18px!important;transform:none!important}
#content .btn:hover{background:#294b32!important;border-color:#a2d6ae!important;box-shadow:none!important}
#content img{border-radius:7px}
.submenu a{border-radius:6px!important;background:#131d16!important}
.footer{background:#080b09!important;border-top:1px solid #243629;color:#83998a;font:400 12px 'Exo 2',sans-serif!important;letter-spacing:.5px;padding:28px 15px}
.intro{background:radial-gradient(circle,#07120edc,#030705f5 75%),url('/assets/header-background.webp') center/cover!important}
.intro-card{clip-path:none!important;border-radius:14px!important;background:#0a130eeb!important;border:1px solid #4d7358!important;box-shadow:0 20px 75px #0009!important;animation:introAppear .5s ease both!important}
.intro-card::after{display:none!important}
.intro-card h1{font:500 clamp(31px,4.5vw,52px)/1.1 'Exo 2',sans-serif!important;letter-spacing:.4px!important}
.intro-card .btn.primary{animation:none!important;box-shadow:none!important;font:500 14px 'Exo 2',sans-serif!important;border-radius:7px!important}
.radar{width:145px;height:145px;box-shadow:0 0 20px #4abf7930!important}
@media(max-width:1050px){.menu-grid.tactical-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}.menu-card.tactical-card{min-height:125px!important}}
@media(max-width:800px){.eb-header{padding:12px 15px!important}.eb-header-controls{border-color:#314b38!important}.shell>.page{padding:30px 17px 65px!important}.menu-grid.tactical-nav{gap:11px!important;margin:24px 0 36px!important}.menu-card.tactical-card{padding:18px!important}.eb-header .brand{font-size:clamp(12px,3.2vw,16px)!important}}
@media(max-width:520px){.menu-grid.tactical-nav{grid-template-columns:1fr!important}.menu-card.tactical-card{min-height:102px!important;padding:17px 18px!important}.menu-card.tactical-card b{font-size:19px!important}.tactical-icon{width:40px!important;height:40px!important;flex-basis:40px!important}.shell>.banner{aspect-ratio:3.15/1!important}#content>h1{font-size:33px!important}.intro-card{padding:23px 18px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro-card{animation:none!important}.menu-card .menu-bg{transition:none!important}}

/* v2.8 – conversion, navigation, keyboard and mobile usability */
.footer-inner{max-width:1260px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-inner nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.footer-inner nav a{color:#bfd1c2;text-decoration:none}
.footer-inner nav a:hover{text-decoration:underline;color:white}
.mobile-ops-cta{display:none}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid #b5e5bc!important;outline-offset:3px}
@media(max-width:800px){.footer{padding-bottom:90px!important}.mobile-ops-cta{display:block;position:fixed;z-index:80;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));background:#a6d3ae;color:#0a170e;text-decoration:none;text-align:center;font:600 14px/1.2 'Exo 2',sans-serif;letter-spacing:.3px;border:1px solid #d0f4d4;border-radius:10px;padding:15px 18px;box-shadow:0 9px 30px #000b}.mobile-ops-cta:focus-visible,.mobile-ops-cta:hover{background:#c4e8c9;color:#071008}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v2.9 – search dialog */
.eb-search-trigger{background:#121b15;color:#dce8de;border:1px solid #3d5844;border-radius:6px;font:500 12px 'Exo 2',sans-serif;padding:11px 13px;cursor:pointer;white-space:nowrap}
.eb-search-trigger:hover{background:#21372a;border-color:#91cba4}
.eb-search-trigger kbd{font:10px 'Exo 2',sans-serif;opacity:.65;border:1px solid #607663;padding:2px 4px;border-radius:3px;margin-left:5px}
.eb-search-dialog[hidden]{display:none!important}
.eb-search-dialog{position:fixed;inset:0;z-index:9999;background:#020503d9;display:flex;align-items:flex-start;justify-content:center;padding:clamp(30px,10vh,100px) 14px 20px;overflow:auto}
.eb-search-panel{width:min(100%,650px);background:#101912;border:1px solid #5c8566;border-radius:14px;padding:22px;box-shadow:0 25px 90px #000d}
.eb-search-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.eb-search-top h2{margin:0 0 12px;font:600 23px 'Exo 2',sans-serif}
#ebSearchClose{background:#213629;color:white;border:1px solid #5c8566;border-radius:7px;padding:9px 13px;cursor:pointer}
#ebSearchLabel{display:block;font-size:12px;color:#b5cbb8;margin-bottom:8px}
#ebSearchInput{display:block;width:100%;box-sizing:border-box;background:#080e0a;color:#fff;border:1px solid #789b7e;border-radius:8px;padding:15px;font:16px 'Exo 2',sans-serif}
.eb-search-results{margin-top:15px;max-height:55vh;overflow:auto}
.eb-search-results a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:#edf6ed;padding:12px;border-bottom:1px solid #2b4430;border-radius:5px}
.eb-search-results a:hover,.eb-search-results a:focus-visible{background:#22392a}
.eb-search-results b,.eb-search-results small{display:block}
.eb-search-results small{font-size:12px;color:#b2c8b6;margin-top:3px}
.eb-search-results em{font-style:normal;font-size:10px;white-space:nowrap;color:#a2c8a9}
body.eb-search-open{overflow:hidden}
@media(max-width:800px){.eb-search-trigger{width:100%;text-align:left}.eb-search-panel{padding:16px}.eb-search-trigger kbd{display:none}}

/* v3.0: event cards */
.eb-events{display:grid;gap:14px;margin:20px 0}.eb-event{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:linear-gradient(120deg,#121b17,#0a0f0d);border:1px solid #344b3d;border-radius:14px;padding:20px 24px}.eb-event-date{color:#d7bf85;font-weight:700;letter-spacing:.04em;min-width:140px}.eb-event-body{flex:1;min-width:180px}.eb-event-body h3{margin:0 0 6px;font-size:1.2rem}.eb-event-body p{margin:0;color:#a9b9ae}.eb-event .btn{white-space:normal;text-align:center}@media(max-width:650px){.eb-event{align-items:stretch;gap:10px;padding:18px}.eb-event-date{min-width:0}.eb-event .btn{width:100%}}

/* v3.1.3: CMS menu artwork must paint above the card background, below its labels. */
.menu-card.tactical-card > .menu-bg{z-index:0!important;pointer-events:none}
.menu-card.tactical-card > :not(.menu-bg){position:relative;z-index:1}

/* v3.1.4: ensure Supabase menu images are visible in public menu cards */
.menu-grid .menu-card.tactical-card{isolation:isolate!important;background-color:#101b14!important}
.menu-grid .menu-card.tactical-card > .menu-bg{display:block!important;position:absolute!important;inset:0!important;z-index:0!important;opacity:1!important;background-position:center!important;background-size:cover!important;pointer-events:none!important}
.menu-grid .menu-card.tactical-card > :not(.menu-bg){position:relative!important;z-index:2!important}

/* v3.1.6: keep uploaded menu artwork visible beneath menu text */
.menu-card.tactical-card > .menu-bg{display:block!important;position:absolute!important;inset:0!important;z-index:0!important;opacity:1!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;pointer-events:none!important}
.menu-card.tactical-card > :not(.menu-bg){position:relative!important;z-index:2!important}

/* v3.1.7: use real image element, independent of background-image stacking */
.menu-grid .menu-card.tactical-card{position:relative!important;isolation:isolate!important;overflow:hidden!important}
.menu-grid .menu-card.tactical-card > img.menu-photo{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;z-index:0!important;pointer-events:none!important;max-width:none!important;filter:none!important;transform:none!important}
.menu-grid .menu-card.tactical-card > :not(img.menu-photo){position:relative!important;z-index:2!important}
.menu-grid .menu-card.tactical-card > img.menu-photo + .tactical-icon{background:#112217cc!important}

/* v3.1.8 – readable titles on photo-backed navigation cards.
   Scope to cards with photos; leave image visibility, opacity and CMS settings intact. */
.menu-grid .menu-card.tactical-card:has(> img.menu-photo) .tactical-copy{
  background:linear-gradient(90deg,rgba(3,10,7,.82) 0%,rgba(3,10,7,.66) 76%,rgba(3,10,7,.42) 100%)!important;
  padding:10px 13px!important;
  margin-left:-6px!important;
  border-radius:7px!important;
  min-width:0;
  max-width:calc(100% - 74px);
  box-shadow:0 2px 16px rgba(0,0,0,.23);
}
.menu-grid .menu-card.tactical-card:has(> img.menu-photo) .tactical-copy b{
  color:#fff!important;
  font-weight:650!important;
  text-shadow:0 2px 4px rgba(0,0,0,.95),0 0 9px rgba(0,0,0,.65)!important;
}
.menu-grid .menu-card.tactical-card:has(> img.menu-photo) .tactical-copy small{
  color:#e2f2e6!important;
  text-shadow:0 1px 3px #000!important;
}
@media(max-width:520px){
  .menu-grid .menu-card.tactical-card:has(> img.menu-photo) .tactical-copy{padding:8px 10px!important;max-width:calc(100% - 60px)}
}

/* v3.2.0 – small-screen safety, keep the established tactical visual design */
@media(max-width:800px){
 .shell,.shell>.page,#content{min-width:0;max-width:100%}
 .menu-grid.tactical-nav{min-width:0}
 .menu-card.tactical-card{min-width:0;max-width:100%}
 .menu-card.tactical-card .tactical-copy{min-width:0;overflow-wrap:anywhere}
 .ops-event-grid,.ops-event-card,.ops-event-info{min-width:0;max-width:100%}
 .ops-event-card img{max-width:100%;height:auto}
 .eb-header-controls.is-open{max-height:calc(100dvh - 85px);overflow-y:auto}
}
@media(max-width:520px){
 .menu-card.tactical-card:has(>img.menu-photo) .tactical-copy{max-width:calc(100% - 60px)}
 .ops-event-card .btn{max-width:100%;white-space:normal;text-align:center}
}
