/* A compact, clear EcoNET layout. Store options remain admin-controlled. */
.public-site{background:radial-gradient(ellipse at 50% 0%,#16323e 0,transparent 65%),#0b121c}
.public-site header{background:#0b121ce0;border-color:#23313e}
.public-site .nav{max-width:1000px;min-height:64px;gap:28px}.public-site .nav .brand{font-size:23px}.public-site .nav .text-link{font-size:13px}
.public-site .simple-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:0;max-width:1000px;width:calc(100% - 40px);margin:0 auto;padding:28px 20px 32px;border:0;background:none;text-align:center;overflow:hidden}
.public-site .logo-stage{order:-1;position:relative;width:180px;max-width:100%;padding:0;margin:0 auto 8px}.public-site .server-logo{width:100%;margin:0;display:block;animation:none;filter:drop-shadow(0 8px 20px #0005)}
.public-site .orbit,.public-site .edition-tag{display:none}.public-site .hero-terrain{position:absolute;inset:0;z-index:-1;background:url('/landscape.svg') center bottom/cover;opacity:.07;pointer-events:none}
.public-site .hero-summary{width:100%}.public-site h1{font-size:38px;letter-spacing:-1px;line-height:1.2;margin:0 0 7px}.public-site #site-subtitle{max-width:none;font-size:14px;color:#9daebd;margin:0}
.public-site .hero-buttons{justify-content:center;gap:12px;margin:20px 0 0}.public-site .hero-buttons button{font-size:13px;padding:10px 18px;border-radius:8px;min-height:43px}.public-site .hero-buttons .discord-link{border:1px solid #344b63;background:#172a40;color:#bce5ff}
.public-site .server-pill{align-items:center;justify-content:center;gap:8px;margin-top:18px}.public-site #copy-address{font-size:14px;padding:9px 14px;min-height:40px;background:#101f2a;border-color:#314454}.public-site #home-state{font-size:12px;margin:0}
.public-site .simple-content{width:calc(100% - 40px);max-width:1000px;margin:0 auto 36px}.public-site .home-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.public-site .home-link{display:flex;flex-direction:column;align-items:stretch;gap:0;text-align:center;padding:25px 20px 20px;min-height:0;border:1px solid #2a3b49;background:#111f2b;border-radius:12px;box-shadow:none}
.public-site .home-link h2{font-size:21px;margin:0}.public-site .home-link p{color:#9baebb;font-size:13px;margin:5px 0 22px}.home-action{display:flex;justify-content:center;align-items:center;gap:15px;padding:10px 12px;border:1px solid #375442;border-radius:7px;background:#213a2e;color:#cbf7a2;font-size:13px;font-weight:700}.home-link:hover .home-action{background:#31543d;border-color:#95ca72}
.public-site:not([data-page=home]) .simple-hero{display:block;padding:30px 0 20px;text-align:center}.public-site:not([data-page=home]) .logo-stage{display:none}.public-site:not([data-page=home]) h1{font-size:32px;margin:0 0 7px}.public-site:not([data-page=home]) .server-pill{margin-top:15px;justify-content:center}.public-site:not([data-page=home]) #site-subtitle{font-size:13px}
.public-site .categories{justify-content:center;gap:8px;margin:20px 0;padding-bottom:16px;border-color:#233747}.public-site .categories button{border:1px solid #304555;border-radius:7px;padding:9px 16px;font-size:13px}
.public-site .product-grid{gap:16px}.public-site .product-card{background:#111f2b;border-color:#2b3c4b;border-radius:12px;text-align:center;box-shadow:none}.public-site .product-visual{height:125px;padding:12px;background:#142535!important}.public-site .product-visual:not(:has(img)){display:none}.public-site .product-body{padding:24px}.public-site .product-body h3{font-size:22px;margin:0 0 16px}.public-site .product-bottom{display:flex;flex-direction:column;align-items:stretch;gap:12px}.public-site .price{color:#b5e789;font-size:21px;margin:0}.public-site .product-bottom .secondary{width:100%;flex:0 0 auto;padding:10px 12px;font-size:13px;box-shadow:none}.public-site .perks-button{text-align:center;border:1px solid #2b4051;border-radius:6px;background:#0e1924;padding:9px;margin-top:9px;font-size:12px;color:#a8bdcd}
.public-site .notice{text-align:center;font-size:12px}.public-site .cart-button{padding:11px 18px;font-size:13px}.public-site dialog{padding:24px;background:#111f2b;border-color:#344959;border-radius:12px}.public-site .dialog-head h2{font-size:24px}
.public-site #status-page{max-width:760px;margin:15px auto 40px}.public-site .status-card{text-align:center;background:#111f2b;border-color:#304553}.public-site .status-details{margin:auto}
.public-site .document{width:calc(100% - 40px);max-width:760px;padding:24px;margin:25px auto;background:#111f2b;border:1px solid #304553;border-radius:12px}.public-site .document h1{font-size:30px}.public-site[data-page=terms] .simple-hero,.public-site[data-page=privacy] .simple-hero{display:none}
.public-site footer{max-width:1000px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;margin-top:30px!important;padding:24px 0;border-color:#263747}.public-site .footer-links{justify-content:center;flex-wrap:wrap;gap:12px 20px;font-size:12px}.public-site .footer-bottom{align-items:center;width:auto;margin:0;padding:0;gap:4px;font-size:11px}
@media(max-width:680px){.public-site .nav{width:calc(100% - 32px);gap:17px;min-height:58px}.public-site .nav .text-link{font-size:12px}.public-site .simple-hero{width:calc(100% - 28px);padding:22px 8px 28px}.public-site .logo-stage{width:145px}.public-site h1{font-size:32px}.public-site .simple-content{width:calc(100% - 28px)}.public-site .home-links{grid-template-columns:1fr;gap:10px}.public-site .home-link{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;padding:18px;column-gap:15px}.public-site .home-link h2{font-size:18px}.public-site .home-link p{margin:3px 0 0;font-size:12px}.home-action{grid-column:2;grid-row:1/3;font-size:12px;padding:10px}.home-action span{display:none}.public-site .product-grid{grid-template-columns:1fr}.public-site .product-body{padding:22px}.public-site:not([data-page=home]) h1{font-size:28px}.public-site .document{width:calc(100% - 28px);padding:20px}}
/* Store appearance settings controlled through the admin. */
.public-site[data-page=store]{--store-accent:#b6eb77;--store-ink:#152312}.public-site[data-store-accent=cyan]{--store-accent:#86ddf3;--store-ink:#0b2630}.public-site[data-store-accent=violet]{--store-accent:#c9a7ff;--store-ink:#28183b}.public-site[data-store-accent=gold]{--store-accent:#f2d57e;--store-ink:#332708}.public-site[data-page=store] .product-bottom .secondary,.public-site[data-page=store] .cart-button{background:var(--store-accent);color:var(--store-ink);border-color:var(--store-accent)}.public-site[data-page=store] .categories .selected{color:var(--store-accent);box-shadow:inset 0 0 0 1px var(--store-accent)}.public-site[data-page=store] .product-bottom .secondary:hover:not(:disabled){background:var(--store-accent);filter:brightness(1.1)}.product-badge{display:inline-block;margin-bottom:10px;background:#a9dc6820;border:1px solid #a9dc6840;color:var(--store-accent);border-radius:5px;padding:3px 8px;font-size:11px}.public-site[data-store-images=hide] .product-visual{display:none}.public-site[data-store-image-mode=cover] .product-visual img{object-fit:cover}.public-site[data-store-image-mode=contain] .product-visual img{object-fit:contain}#store-banner{width:100%;height:190px;object-fit:cover;border-radius:14px;margin-bottom:20px}.public-site[data-page=refunds] .simple-hero{display:none}.public-site .document .legal-copy{line-height:1.9}.public-site .document h2{margin-top:22px}.public-site .document a{text-decoration:underline;text-underline-offset:4px}.public-site .document .notice{padding:14px;border:1px solid #856b39;margin:20px 0;color:#e2c88e;background:#292619}
@media(min-width:901px){.public-site[data-store-columns='2'] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-site[data-store-columns='4'] .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.public-site[data-store-columns='4'] .product-body{padding:17px}.public-site[data-store-columns='4'] .product-body h3{font-size:18px}}
@media(min-width:681px){.public-site[data-store-layout=list] .product-grid{grid-template-columns:1fr}.public-site[data-store-layout=list] .product-card{display:flex;align-items:stretch}.public-site[data-store-layout=list] .product-visual{width:165px;height:auto;min-height:180px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.public-site[data-store-layout=list][data-store-images=hide] .product-visual{display:none}.public-site[data-store-layout=list] .product-body{flex:1}.public-site[data-store-layout=list] .product-bottom{max-width:380px}.public-site[data-store-layout=list] .perks-button{max-width:380px}}
@media(prefers-reduced-motion:reduce){.public-site *,.public-site *::before,.public-site *::after{animation:none!important;transition:none!important}}
/* List view keeps the artwork beside the purchase controls. */
@media(min-width:681px){.public-site[data-store-layout=list] .product-card{flex-direction:row}.public-site[data-store-layout=list] .product-body{min-width:0}.public-site[data-store-layout=list] .product-visual img{width:100%;height:100%;max-height:220px}}
.public-site .server-pill{display:flex;width:fit-content;max-width:100%;margin:18px auto 0;flex-direction:column;align-items:center}.public-site:not([data-page=home]) .server-pill{margin:15px auto 0;flex-direction:row;flex-wrap:wrap}
.public-site .hero-summary,.public-site .home-links{animation:none}
/* Categories are clear sections, each with its own row of products. */
.product-sections{display:flex;flex-direction:column;gap:34px}.store-section{min-width:0}.category-heading{display:flex;align-items:center;gap:18px;margin:0 0 18px!important;font-size:23px!important;letter-spacing:-.4px;color:#e4f2ef}.category-heading::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,#55776c,#26394a)}.category-heading span{position:relative;padding-left:13px}.category-heading span::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:4px;background:var(--store-accent,#b6eb77)}.public-site .store-section .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-site .product-card{background:linear-gradient(145deg,#172a36,#101d28);border-color:#334956}.public-site .product-body{position:relative}.public-site .product-body h3{line-height:1.35}.public-site .product-bottom .secondary{position:relative;overflow:hidden}.public-site .product-bottom .secondary::after{content:'';position:absolute;inset:-40% auto -40% -65%;width:35%;background:linear-gradient(90deg,transparent,#ffffff45,transparent);transform:skewX(-20deg);pointer-events:none}.public-site .home-link{background:linear-gradient(145deg,#162a36,#101d28)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.public-site .product-card:hover{transform:translateY(-4px);border-color:var(--store-accent,#8bba73);box-shadow:0 12px 28px #0004}.public-site .product-bottom .secondary:hover::after{animation:button-shine .65s ease}.public-site .home-link:hover{box-shadow:0 10px 25px #0003;border-color:#7fba8a}.public-site .home-action span{transition:transform .2s}.public-site .home-link:hover .home-action span{transform:translateX(4px)}@keyframes button-shine{to{left:135%}}}
@media(min-width:901px){.public-site[data-store-columns='2'] .store-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-site[data-store-columns='4'] .store-section .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:681px){.public-site[data-store-layout=list] .store-section .product-grid{grid-template-columns:1fr}}
@media(min-width:681px) and (max-width:900px){.public-site .store-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-site[data-store-layout=list] .store-section .product-grid{grid-template-columns:1fr}}
@media(max-width:680px){.public-site .store-section .product-grid{grid-template-columns:1fr}.product-sections{gap:26px}.category-heading{font-size:21px!important;margin-bottom:13px!important}}
.store-login{display:flex;align-items:center;justify-content:center;gap:16px;margin:18px 0 8px;color:#a6bac9;font-size:13px}.store-login a{color:#cbefa9;font-size:13px}.store-login strong{color:#e4f2ef}.store-login .secondary{padding:8px 15px}
