/*
Theme Name: Waifuchat AI
Theme URI: https://waifuchat-ai.com
Author: Waifuchat AI
Description: Custom theme for the Waifuchat AI companion chat site.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: waifuchat
*/

:root{
--bg:#fcfbf8;
--ink:#171512;
--ink-soft:#5c574f;
--line:#e7e2d8;
--card:#ffffff;
--accent:#f2662f;
--accent-dark:#d9541f;
--dark:#1b1a18;
--radius:14px;
--wrap:1180px;
--sans:"Manrope","Poppins","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-dark);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .6em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.4vw,3.1rem)}
h2{font-size:clamp(1.5rem,2.8vw,2.15rem)}
h3{font-size:1.2rem}
p{margin:0 0 1.1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:#fff;padding:10px;z-index:99}

.site-head{background:var(--dark);color:#f6f3ee;position:sticky;top:0;z-index:40}
.site-head .wrap{display:flex;align-items:center;gap:24px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;letter-spacing:.02em;text-decoration:none}
.brand:hover{text-decoration:none}
.brand img{width:30px;height:30px}
.brand span{font-size:1.05rem}
.nav{margin-left:auto}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav a{color:#ded8ce;font-size:.86rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600}
.nav a:hover,.nav .current-menu-item>a{color:#fff;text-decoration:none}
.navtoggle{display:none;margin-left:auto;background:none;border:1px solid #4a453e;color:#fff;border-radius:8px;padding:8px 12px;font:inherit;font-size:.85rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:13px 30px;font-weight:700;font-size:.92rem;cursor:pointer;transition:background .18s ease,transform .18s ease;font-family:inherit}
.btn:hover{background:var(--accent-dark);color:#fff;text-decoration:none;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-wide{width:100%}

.hero{background:linear-gradient(180deg,#1b1a18 0%,#26241f 100%);color:#f7f4ef;padding:64px 0 72px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.eyebrow{display:inline-block;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:14px}
.hero h1{color:#fff;margin-bottom:18px}
.hero p{color:#cfc8bd;font-size:1.05rem;max-width:52ch}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero .btn-ghost{color:#f2efe9;border-color:#4b453d}
.hero .btn-ghost:hover{background:#332f2a;color:#fff}
.agenote{margin-top:20px;font-size:.78rem;color:#8f887e;letter-spacing:.04em}

.slider{position:relative;border-radius:20px;overflow:hidden;background:#0f0e0d;aspect-ratio:4/5}
.slider-track{display:flex;height:100%;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.slide{min-width:100%;position:relative}
.slide img{width:100%;height:100%;object-fit:cover}
.slide-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 22px;background:linear-gradient(180deg,rgba(12,11,10,0) 0%,rgba(12,11,10,.82) 70%);color:#fff}
.slide-cap strong{display:block;font-size:1.3rem}
.slide-cap em{font-style:normal;font-size:.85rem;color:#d9d2c7}
.slider-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);border:0;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1.1rem;color:#1b1a18;display:grid;place-items:center}
.slider-nav.prev{left:12px}
.slider-nav.next{right:12px}
.slider-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;gap:6px;justify-content:center}
.slider-dots button{width:7px;height:7px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0}
.slider-dots button[aria-current="true"]{background:var(--accent);width:18px;border-radius:99px}

.section{padding:64px 0}
.section-alt{background:#f5f1ea}
.section-dark{background:var(--dark);color:#efeae2}
.section-dark h2{color:#fff}
.section-dark p{color:#c4bdb2}
.section-head{text-align:center;max-width:660px;margin:0 auto 40px}
.section-head p{color:var(--ink-soft)}

.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.tile{position:relative;overflow:hidden;aspect-ratio:3/3.3}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tile:hover img{transform:scale(1.05)}
.tile span{position:absolute;left:0;right:0;bottom:0;padding:22px;color:#fff;font-size:1.35rem;font-weight:700;background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%)}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease}
.card:hover{box-shadow:0 16px 40px -24px rgba(23,21,18,.45);transform:translateY(-3px)}
.card-media{position:relative;aspect-ratio:3/4;background:#efeae2}
.card-media img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:10px;left:10px;background:#5ec2c9;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:6px}
.card-body{padding:16px 16px 20px;text-align:center}
.card-body h3{margin:0 0 4px;font-size:1.02rem}
.card-body p{margin:0 0 12px;color:var(--ink-soft);font-size:.85rem}

.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split img{border-radius:var(--radius)}
.prose{max-width:74ch}
.prose ul{padding-left:20px;color:var(--ink-soft)}
.prose li{margin-bottom:.5em}
.prose ol{padding-left:22px}
.prose ol li{margin-bottom:.85em}

.faq{max-width:820px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;background:none;border:0;text-align:left;font:inherit;font-weight:700;font-size:1.02rem;padding:20px 40px 20px 0;cursor:pointer;position:relative;color:var(--ink)}
.faq-q::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.4rem;font-weight:400}
.faq-q[aria-expanded="true"]::after{content:"\2013"}
.faq-a{display:none;padding:0 40px 20px 0;color:var(--ink-soft)}
.faq-a.open{display:block}

.crumbs{font-size:.8rem;color:var(--ink-soft);padding:18px 0 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.crumbs li::after{content:"/";margin-left:8px;color:#bcb4a8}
.crumbs li:last-child::after{content:""}

.page-head{padding:26px 0 12px}
.page-body{padding:10px 0 70px}
.layout{display:grid;grid-template-columns:1fr 340px;gap:44px;align-items:start}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:sticky;top:92px}
.panel h3{margin-top:0}
.field{margin-bottom:14px}
.field label{display:block;font-size:.8rem;font-weight:700;margin-bottom:6px;letter-spacing:.03em}
.field input,.field textarea,.field select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:.92rem;background:#fdfcfa;color:var(--ink)}
.field textarea{min-height:120px;resize:vertical}
.note{font-size:.76rem;color:var(--ink-soft);margin-top:12px}
.formmsg{margin-top:12px;font-size:.86rem;color:var(--accent-dark)}

.grid-people{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.portrait-lead{border-radius:var(--radius);overflow:hidden;margin-bottom:26px}

.strip{display:flex;flex-wrap:wrap;gap:32px;justify-content:center;align-items:center;padding:30px 0;opacity:.55;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;color:var(--ink-soft)}

.cta{background:var(--dark);color:#fff;border-radius:20px;padding:52px 40px;text-align:center}
.cta h2{color:#fff}
.cta p{color:#c1bab0;max-width:56ch;margin-left:auto;margin-right:auto}

.site-foot{background:var(--dark);color:#a9a298;padding:56px 0 30px;font-size:.9rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px}
.site-foot h4{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:9px}
.site-foot a{color:#a9a298}
.site-foot a:hover{color:#fff}
.foot-bottom{border-top:1px solid #33302b;margin-top:36px;padding-top:20px;font-size:.78rem;color:#7d766d;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

@media(max-width:980px){
.hero-grid,.split,.layout{grid-template-columns:1fr}
.cards,.grid-people{grid-template-columns:repeat(2,1fr)}
.tiles{grid-template-columns:1fr}
.foot-grid{grid-template-columns:1fr 1fr}
.panel{position:static}
.navtoggle{display:block}
.nav{display:none;width:100%;order:3;padding-bottom:16px}
.nav.open{display:block}
.nav ul{flex-direction:column;gap:12px}
.site-head .wrap{flex-wrap:wrap}
}
@media(max-width:560px){
.cards,.grid-people,.foot-grid{grid-template-columns:1fr}
.hero{padding:44px 0 52px}
.section{padding:46px 0}
}
