/* SISSY MAID — Elegant 3-Theme System */

[data-theme="dark"]{
    --bg:#0d0d0d;--bg2:#1a1a1a;--card:#1e1e1e;--nav-bg:#111;--input-bg:#1a1a1a;
    --text:#e0e0e0;--text2:#bbb;--muted:#888;
    --accent:#c49b5f;--accent2:#d4a86a;
    --gf:#c49b5f;--gt:#8b6f3a;
    --border:#2a2a2a;--nav-border:#c49b5f;
    --shadow:rgba(0,0,0,.3);
    --link:#c49b5f;--link-h:#d4a86a;
    --badge-bg:rgba(196,155,95,.1);--badge-border:rgba(196,155,95,.3);--badge-text:#c49b5f;
}
[data-theme="rose"]{
    --bg:#fdf2f4;--bg2:#fce8ec;--card:#fff;--nav-bg:#fff;--input-bg:#fdf2f4;
    --text:#333;--text2:#666;--muted:#999;
    --accent:#c4436c;--accent2:#e86a92;
    --gf:#e86a92;--gt:#c4436c;
    --border:#f0d0d8;--nav-border:#c4436c;
    --shadow:rgba(196,67,108,.06);
    --link:#c4436c;--link-h:#a3365a;
    --badge-bg:#fdf2f4;--badge-border:#f0d0d8;--badge-text:#c4436c;
}
[data-theme="royal"]{
    --bg:#f4f0fa;--bg2:#ece5f5;--card:#fff;--nav-bg:#fff;--input-bg:#f4f0fa;
    --text:#333;--text2:#666;--muted:#999;
    --accent:#6a3d9a;--accent2:#9b6fc7;
    --gf:#9b6fc7;--gt:#6a3d9a;
    --border:#d8c8e8;--nav-border:#6a3d9a;
    --shadow:rgba(106,61,154,.06);
    --link:#6a3d9a;--link-h:#5a3080;
    --badge-bg:#f4f0fa;--badge-border:#d8c8e8;--badge-text:#6a3d9a;
}

:root{--r:10px;--rs:6px;--fh:'Playfair Display',serif;--fb:'Inter',sans-serif;--mw:1100px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--fb);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;overflow-x:hidden}
a{color:var(--link);text-decoration:none;transition:color .15s}
a:hover{color:var(--link-h)}
h1,h2,h3,h4{font-family:var(--fh);color:var(--accent);line-height:1.3}
h1{font-size:1.7rem;margin-bottom:.4rem}h2{font-size:1.35rem;margin-bottom:.4rem}h3{font-size:1.05rem}
img{max-width:100%;height:auto}
.container{max-width:var(--mw);margin:0 auto;padding:0 1rem}
.section{padding:1.5rem 0}
.section-desc{color:var(--text2);margin-bottom:1rem;font-size:.9rem}

.tagline-bar{background:var(--card);text-align:center;padding:.2rem .5rem;border-bottom:1px solid var(--border);font-family:var(--fh);color:var(--accent2);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* HEADER */
.site-header{background:var(--nav-bg);border-bottom:2px solid var(--nav-border);position:sticky;top:0;z-index:100}
.header-bar{max-width:var(--mw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:50px;padding:0 .8rem}
.site-logo{display:flex;align-items:center;gap:.3rem;font-family:var(--fh);font-size:1.15rem;color:var(--accent);white-space:nowrap}
.header-right{display:flex;align-items:center;gap:.4rem}
.theme-dots{display:flex;gap:.2rem;align-items:center}
.tdot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);cursor:pointer;transition:all .2s;padding:0;font-size:0}
.tdot-dark{background:linear-gradient(135deg,#0d0d0d,#c49b5f)}
.tdot-rose{background:linear-gradient(135deg,#fdf2f4,#c4436c)}
.tdot-royal{background:linear-gradient(135deg,#f4f0fa,#6a3d9a)}
.tdot.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);transform:scale(1.15)}
.header-btn{display:inline-flex;align-items:center;gap:.2rem;padding:.25rem .65rem;border-radius:50px;font-size:.75rem;font-weight:600;white-space:nowrap;transition:all .2s}
.header-btn-ghost{background:transparent;color:var(--text2);border:1.5px solid var(--border)}
.header-btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.header-btn-primary{background:linear-gradient(135deg,var(--gf),var(--gt));color:#fff;border:none}
.header-btn-primary:hover{opacity:.9;color:#fff}
.unread-badge{background:var(--accent);color:#fff;font-size:.6rem;padding:.1rem .35rem;border-radius:10px;font-weight:700}
.hamburger{background:none;border:1.5px solid var(--border);border-radius:6px;width:34px;height:30px;cursor:pointer;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.hamburger span{display:block;width:16px;height:2px;background:var(--text);border-radius:2px;transition:all .25s}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.main-nav{display:none;flex-direction:column;background:var(--nav-bg);border-top:1px solid var(--border)}
.main-nav.open{display:flex}
.main-nav a{display:block;padding:.6rem 1rem;color:var(--text2);font-size:.85rem;border-bottom:1px solid var(--border);transition:all .15s}
.main-nav a:hover{background:var(--bg2);color:var(--accent);padding-left:1.2rem}
.main-nav a:last-child{border-bottom:none}
.desktop-only{display:none}.mobile-only{display:block}
@media(min-width:769px){
    .hamburger{display:none}.desktop-only{display:inline-flex}.mobile-only{display:none}
    .main-nav{display:flex!important;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:0;border-top:none;border-bottom:1px solid var(--border);max-width:var(--mw);margin:0 auto;padding:0 .5rem}
    .main-nav a{padding:.35rem .55rem;font-size:.78rem;border-bottom:none;border-radius:var(--rs);white-space:nowrap}
    .main-nav a:hover{padding-left:.55rem;background:var(--bg2)}
    .header-bar{height:52px;padding:0 1rem}.site-logo{font-size:1.2rem}
}

/* BUTTONS */
.btn{display:inline-block;padding:.45rem 1rem;border:none;border-radius:var(--rs);font-family:var(--fb);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;text-align:center}
.btn-primary{background:linear-gradient(135deg,var(--gf),var(--gt));color:#fff}
.btn-primary:hover{opacity:.9;transform:translateY(-1px);color:#fff}
.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}
.btn-lg{padding:.55rem 1.3rem;font-size:.92rem}.btn-block{display:block;width:100%}.btn-sm{padding:.2rem .5rem;font-size:.75rem}

/* HERO */
.hero{background:var(--card);text-align:center;padding:2rem 1rem;border-bottom:1px solid var(--border)}
[data-theme="dark"] .hero{background:linear-gradient(135deg,#111,#1a1a1a)}
.hero h1{font-size:1.8rem;margin-bottom:.3rem}.hero-tagline{color:var(--accent2);font-size:.92rem;margin-bottom:1rem}
.hero-buttons{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}

/* STATS */
.stats-bar{background:var(--bg);padding:1rem 0;border-bottom:1px solid var(--border)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;max-width:var(--mw);margin:0 auto;padding:0 .8rem}
.stat-item{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:.5rem .3rem;box-shadow:0 2px 6px var(--shadow)}
.stat-number{display:block;font-family:var(--fh);font-size:1.3rem;color:var(--accent);line-height:1.2}
.stat-label{color:var(--muted);font-size:.6rem;text-transform:uppercase;letter-spacing:.3px}
@media(min-width:769px){.stats-grid{gap:.7rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.68rem}}

/* CARDS & GRIDS */
.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
@media(min-width:600px){.photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.photo-grid{grid-template-columns:repeat(4,1fr)}}
.photo-card{background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--border);transition:transform .2s;box-shadow:0 2px 6px var(--shadow)}
.photo-card:hover{transform:translateY(-2px)}.photo-card img{width:100%;height:160px;object-fit:cover}
@media(min-width:600px){.photo-card img{height:180px}}
.photo-card-info{padding:.35rem .55rem;font-size:.75rem;display:flex;justify-content:space-between}
.photo-card-author{font-weight:600}.photo-card-time{color:var(--muted);font-size:.68rem}

.members-grid{display:grid;grid-template-columns:1fr;gap:.5rem}
@media(min-width:600px){.members-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.members-grid{grid-template-columns:repeat(3,1fr)}}
.member-card{display:flex;align-items:center;gap:.6rem;background:var(--card);padding:.65rem;border-radius:var(--r);border:1px solid var(--border);transition:all .2s;box-shadow:0 2px 6px var(--shadow)}
.member-card:hover{border-color:var(--accent);transform:translateY(-1px);color:var(--text)}
.member-avatar img,.member-avatar .avatar-placeholder{width:44px;height:44px;border-radius:50%;object-fit:cover}
.member-avatar .avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg2);font-size:1rem}
.member-info h3{font-size:.88rem;margin-bottom:.1rem}
.member-location{color:var(--muted);font-size:.72rem;margin-top:.15rem}
.member-bio{color:var(--text2);font-size:.72rem;margin-top:.1rem}

.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.7rem}
.feature-card{background:var(--card);padding:1rem;border-radius:var(--r);border:1px solid var(--border);text-align:center;transition:transform .2s,border-color .2s;box-shadow:0 2px 6px var(--shadow)}
.feature-card:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--text)}
.feature-icon{font-size:1.8rem;display:block;margin-bottom:.3rem}
.feature-card p{color:var(--text2);font-size:.8rem}

/* BADGES */
.user-badge{display:inline-block;padding:.08rem .38rem;border-radius:20px;font-size:.63rem;font-weight:600;background:var(--badge-bg);color:var(--badge-text);border:1px solid var(--badge-border);margin:.08rem;white-space:nowrap}
.badge{display:inline-block;padding:.1rem .45rem;border-radius:20px;font-size:.68rem;font-weight:600;background:var(--badge-bg);color:var(--badge-text);border:1px solid var(--badge-border)}
.badge-role{color:var(--accent);border-color:var(--accent)}

/* FORMS */
.form-container{max-width:560px;margin:0 auto}.form-container-sm{max-width:400px}
.form-group{margin-bottom:.85rem}
.form-group label{display:block;font-weight:600;margin-bottom:.2rem;font-size:.82rem}
.form-group input[type="text"],.form-group input[type="email"],.form-group input[type="password"],.form-group textarea,.form-group select{width:100%;padding:.5rem .7rem;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--rs);font-family:var(--fb);font-size:.85rem;transition:border-color .2s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(196,155,95,.15)}
.form-group small{color:var(--muted);font-size:.7rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.form-footer{text-align:center;margin-top:1rem;color:var(--text2)}
.role-selector{display:flex;gap:.6rem}
.role-option{cursor:pointer;flex:1}.role-option input{display:none}
.role-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem;border:2px solid var(--border);border-radius:var(--r);transition:all .2s;background:var(--card);text-align:center}
.role-option input:checked+.role-card{border-color:var(--accent);background:var(--badge-bg)}
.role-icon{font-size:1.5rem}.role-name{font-size:.78rem;font-weight:600}
.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:.25rem}
@media(min-width:600px){.checkbox-grid{grid-template-columns:repeat(3,1fr)}}
.checkbox-option{display:flex;align-items:center;gap:.3rem;cursor:pointer;padding:.22rem .4rem;border-radius:var(--rs);background:var(--card);border:1px solid var(--border);font-size:.78rem;transition:all .15s}
.checkbox-option:hover{border-color:var(--accent2)}
.search-bar{display:flex;gap:.35rem;margin-bottom:1rem;flex-wrap:wrap}
.search-bar input,.search-bar select{padding:.4rem .65rem;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--rs);font-size:.82rem}
.search-bar input{flex:1;min-width:140px}

/* ALERTS */
.alert{padding:.55rem .9rem;border-radius:var(--rs);margin:.7rem auto;max-width:var(--mw);font-size:.85rem}
.alert-success{background:rgba(110,207,110,.12);border:1px solid #6ecf6e;color:#4a9e4a}
.alert-error{background:rgba(255,107,107,.12);border:1px solid #ff6b6b;color:#d44}
[data-theme="dark"] .alert-success{color:#6ecf6e}[data-theme="dark"] .alert-error{color:#ff6b6b}

/* PROFILE */
.profile-header{display:flex;gap:1.2rem;align-items:flex-start;margin-bottom:1.2rem;flex-wrap:wrap}
.profile-avatar img,.profile-avatar .avatar-placeholder{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid var(--accent)}
.avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--card);color:var(--accent);font-family:var(--fh);font-size:2rem}
.profile-meta{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;margin:.25rem 0}
.profile-location,.profile-social,.profile-contact{color:var(--text2);font-size:.82rem;margin:.15rem 0}
.profile-joined{color:var(--muted);font-size:.78rem}
.profile-bio{margin-top:.4rem;color:var(--text2);font-size:.88rem}
.profile-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1rem;overflow-x:auto;scrollbar-width:none}
.profile-tabs::-webkit-scrollbar{display:none}
.tab{padding:.45rem .65rem;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;font-size:.73rem;transition:all .15s}
.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}
@media(max-width:500px){.profile-header{flex-direction:column;align-items:center;text-align:center}.profile-avatar img,.profile-avatar .avatar-placeholder{width:80px;height:80px}}

/* DIARY */
.diary-list{display:flex;flex-direction:column;gap:.7rem}
.diary-card{background:var(--card);padding:.8rem;border-radius:var(--r);border:1px solid var(--border);box-shadow:0 2px 6px var(--shadow);transition:border-color .2s}
.diary-card:hover{border-color:var(--accent2)}
.diary-card h3{font-size:.95rem;margin-bottom:.1rem}
.diary-meta{color:var(--muted);font-size:.73rem;margin-bottom:.25rem}
.diary-single{max-width:800px;margin:0 auto}.diary-body{margin:1rem 0;line-height:1.8}
.diary-form-toggle{margin-bottom:1rem}.diary-form-toggle summary{cursor:pointer}

/* COMMENTS */
.comments-section{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--border)}
.comment-form{margin-bottom:1rem}
.comment-form textarea{width:100%;padding:.45rem .65rem;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--rs);font-family:var(--fb);margin-bottom:.3rem;resize:vertical;font-size:.82rem}
.comments-list{display:flex;flex-direction:column;gap:.45rem}
.comment-item{background:var(--card);padding:.55rem;border-radius:var(--rs);border:1px solid var(--border)}
.comment-meta{display:flex;gap:.35rem;align-items:center;margin-bottom:.2rem}
.comment-author{font-weight:700;color:var(--accent);font-size:.82rem}
.comment-time{color:var(--muted);font-size:.68rem}
.comment-body{color:var(--text2);font-size:.82rem}
.login-prompt{color:var(--muted);padding:.5rem 0}.no-comments{color:var(--muted);font-style:italic}

/* MESSAGES */
.msg-thread-wrap{max-width:700px;margin:0 auto}
.msg-thread-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}
.msg-thread-header h2{flex:1;margin:0}
.msg-thread{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;min-height:200px}
.msg-bubble{max-width:80%;padding:.6rem .9rem;border-radius:var(--r);font-size:.85rem;line-height:1.5}
.msg-mine{align-self:flex-end;background:linear-gradient(135deg,var(--gf),var(--gt));color:#fff;border-bottom-right-radius:4px}
.msg-theirs{align-self:flex-start;background:var(--card);border:1px solid var(--border);border-bottom-left-radius:4px}
.msg-time{font-size:.62rem;color:rgba(255,255,255,.6);margin-top:.2rem;text-align:right}
.msg-theirs .msg-time{color:var(--muted)}
.msg-compose{display:flex;gap:.4rem;align-items:flex-end}
.msg-compose textarea{flex:1;padding:.45rem .65rem;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--rs);font-family:var(--fb);font-size:.85rem;resize:none}
.convo-list{display:flex;flex-direction:column;gap:.4rem}
.convo-card{display:flex;align-items:center;gap:.6rem;background:var(--card);padding:.65rem;border-radius:var(--r);border:1px solid var(--border);transition:all .15s}
.convo-card:hover{border-color:var(--accent);color:var(--text)}
.convo-unread{border-left:3px solid var(--accent)}
.convo-info{flex:1;min-width:0}
.convo-name{font-weight:600;font-size:.88rem;display:flex;align-items:center;gap:.35rem}
.convo-preview{color:var(--muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.convo-time{color:var(--muted);font-size:.68rem}

/* FORUMS */
.forum-categories{display:flex;flex-direction:column;gap:.5rem}
.forum-cat-card{display:flex;align-items:center;gap:.8rem;background:var(--card);padding:.9rem;border-radius:var(--r);border:1px solid var(--border);transition:all .2s}
.forum-cat-card:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}
.forum-cat-icon{font-size:1.8rem;flex-shrink:0}
.forum-cat-info h3{margin-bottom:.1rem;font-size:.95rem}
.forum-cat-info p{color:var(--text2);font-size:.8rem;margin-bottom:.15rem}
.forum-cat-count{color:var(--muted);font-size:.72rem}
.forum-list{display:flex;flex-direction:column;gap:.4rem}
.forum-post-card{display:block;background:var(--card);padding:.7rem .9rem;border-radius:var(--r);border:1px solid var(--border);transition:all .15s}
.forum-post-card:hover{border-color:var(--accent);color:var(--text)}
.forum-post-card h3{font-size:.92rem;margin-bottom:.1rem}
.forum-post-meta{color:var(--muted);font-size:.72rem}
.forum-op{background:var(--card);padding:1rem;border-radius:var(--r);border:1px solid var(--border);margin-bottom:1.2rem}
.forum-body{margin-top:.7rem;line-height:1.7}

/* PHOTO DETAIL */
.photo-detail{max-width:800px;margin:0 auto}
.photo-breadcrumb{display:inline-block;margin-bottom:.7rem;font-size:.82rem;color:var(--accent2)}
.photo-main-wrap{background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--border);box-shadow:0 4px 16px var(--shadow);margin-bottom:1rem}
.photo-main-img{width:100%;display:block;max-height:70vh;object-fit:contain;background:#000}
.photo-info-bar{background:var(--card);padding:.9rem;border-radius:var(--r);border:1px solid var(--border);margin-bottom:1rem}
.photo-info-bar h1{font-size:1.2rem;margin-bottom:.2rem}
.photo-meta{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;font-size:.78rem;color:var(--muted)}
.photo-meta a{color:var(--accent)}.photo-meta-sep{color:var(--border)}
.photo-description{margin-top:.5rem;color:var(--text2);font-size:.85rem;line-height:1.6}
.photo-ratings{background:var(--card);padding:.9rem;border-radius:var(--r);border:1px solid var(--border);margin-bottom:1rem}
.photo-ratings h3{margin-bottom:.5rem;font-size:.95rem}
.rating-form,.rating-display{display:flex;gap:.4rem;flex-wrap:wrap}
.rating-btn{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem .8rem;border-radius:var(--r);background:var(--bg2);border:2px solid var(--border);cursor:pointer;transition:all .2s;font-family:var(--fb);min-width:75px}
.rating-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.rating-btn.voted{opacity:.7;cursor:default}
.rating-emoji{font-size:1.3rem}.rating-label{font-size:.58rem;color:var(--muted);font-weight:600;text-transform:uppercase}
.rating-count{font-family:var(--fh);font-size:1rem;color:var(--accent)}
.photo-poster-card{display:flex;gap:.7rem;align-items:center;background:var(--card);padding:.7rem;border-radius:var(--r);border:1px solid var(--border);margin-bottom:1rem}
.poster-avatar img,.poster-avatar .avatar-placeholder{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}
.poster-info a{color:var(--accent)}.poster-badges{margin:.15rem 0}

/* TRIBUTE */
.tribute-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:769px){.tribute-grid{grid-template-columns:1fr 1fr}}
.tribute-card{background:var(--card);padding:1rem;border-radius:var(--r);border:1px solid var(--border);box-shadow:0 2px 6px var(--shadow)}
.tribute-card h2{margin-bottom:.3rem;font-size:1.15rem}
.tribute-card-featured,.tribute-card-wide{grid-column:1/-1}
.highlight-email{color:var(--accent)}
.giftcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.5rem}
@media(min-width:600px){.giftcard-grid{grid-template-columns:repeat(4,1fr)}}
.giftcard-item{background:var(--input-bg);padding:.35rem;border-radius:var(--rs);text-align:center;border:1px solid var(--border);color:var(--accent2);font-weight:600;font-size:.7rem;transition:all .2s}
.giftcard-item:hover{border-color:var(--accent);transform:translateY(-1px)}
.tribute-note{background:var(--card);padding:1.1rem;border-radius:var(--r);border:1px solid var(--accent);margin-top:1.2rem}
.tribute-note h3{margin-bottom:.35rem}

/* EMPTY STATE */
.empty-state{text-align:center;padding:1.8rem 1rem;background:var(--card);border-radius:var(--r);border:1px dashed var(--border)}
.empty-state p{color:var(--muted);margin-bottom:.5rem;font-size:.9rem}

/* AGE GATE */
.age-gate-body{display:flex;align-items:center;justify-content:center;min-height:100vh}
.age-gate{padding:1rem}.age-gate-card{background:var(--card);padding:1.8rem 1.4rem;border-radius:var(--r);border:1px solid var(--border);text-align:center;max-width:400px;box-shadow:0 4px 16px var(--shadow)}
.age-gate-card h1{margin-bottom:.25rem}.age-gate-sub{color:var(--accent2);margin-bottom:.5rem;font-family:var(--fh)}
.age-gate-buttons{display:flex;gap:.5rem;justify-content:center;margin-top:.8rem;flex-wrap:wrap}

/* FOOTER */
.site-footer{background:var(--card);border-top:1px solid var(--border);padding:1.2rem 0 .5rem;margin-top:2rem}
[data-theme="dark"] .site-footer{background:#111}
.footer-container{max-width:var(--mw);margin:0 auto;padding:0 1rem}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:.9rem}
@media(min-width:769px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-col h4{font-size:.85rem;margin-bottom:.35rem}
.footer-col a{display:block;color:var(--text2);padding:.08rem 0;font-size:.75rem}.footer-col a:hover{color:var(--accent)}
.footer-col p{font-size:.75rem;color:var(--text2)}
.footer-small{color:var(--muted);font-size:.68rem;line-height:1.4}
.footer-tagline{text-align:center;padding:.5rem 0;font-family:var(--fh);font-size:.9rem;color:var(--accent2)}
.footer-bottom{text-align:center;padding-top:.4rem;border-top:1px solid var(--border);color:var(--muted);font-size:.7rem}
