/*
Theme Name: RoomTheater LP
Theme URI: https://roomtheater.com
Author: Room Theater
Description: Luxury landing page theme (original implementation) with placeholder content and modular sections.
Version: 2.0
License: GPLv2 or later
Text Domain: roomtheater-lp
*/

:root{
  --rt-bg:#0b0c10;
  --rt-panel:#0f1118;
  --rt-panel2:#121528;
  --rt-text:#e9e6df;
  --rt-muted:#b7b1a3;
  --rt-gold:#c7a566;
  --rt-gold2:#b58b4a;
  --rt-border:#252a3a;
  --rt-radius:18px;
  --rt-max:1160px;
}

*{box-sizing:border-box}
html,body{padding:0;margin:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  background:linear-gradient(180deg,#090a0d 0%, #0b0c10 45%, #07080a 100%);
  color:var(--rt-text);
  line-height:1.75;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

.rt-wrap{min-height:100vh}
.rt-container{max-width:var(--rt-max);margin:0 auto;padding:0 20px}

/* Header */
.rt-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(140%) blur(10px);
  background:rgba(11,12,16,.72);
  border-bottom:1px solid rgba(37,42,58,.55);
}
.rt-header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.rt-brand{display:flex;gap:10px;align-items:center}
.rt-brand__mark{
  width:34px;height:34px;border-radius:10px;
  border:1px solid rgba(199,165,102,.65);
  background:radial-gradient(circle at 30% 30%, rgba(199,165,102,.25), rgba(199,165,102,.05) 55%, rgba(0,0,0,.0) 70%),
             linear-gradient(135deg, rgba(255,255,255,.04), rgba(0,0,0,0));
}
.rt-brand__name{font-weight:700;letter-spacing:.08em;font-size:14px}
.rt-nav{display:flex;gap:18px;align-items:center}
.rt-nav a{font-size:13px;color:var(--rt-muted)}
.rt-nav a:hover{color:var(--rt-text)}
.rt-cta{display:flex;gap:10px;align-items:center}
.rt-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 16px;border-radius:999px;
  border:1px solid rgba(199,165,102,.7);
  background:linear-gradient(180deg, rgba(199,165,102,.14), rgba(199,165,102,.04));
  color:var(--rt-text);
  font-size:13px;font-weight:700;letter-spacing:.06em;
}
.rt-btn:hover{transform:translateY(-1px)}
.rt-btn--solid{
  background:linear-gradient(180deg, rgba(199,165,102,.9), rgba(181,139,74,.9));
  color:#0b0c10;
}

/* Hero */
.rt-hero{position:relative;overflow:hidden}
.rt-hero__bg{
  position:absolute;inset:0;
  background:radial-gradient(circle at 20% 10%, rgba(199,165,102,.12), transparent 45%),
             radial-gradient(circle at 90% 20%, rgba(255,255,255,.05), transparent 45%),
             linear-gradient(180deg, rgba(18,21,40,.35), rgba(11,12,16,0));
}
.rt-hero__inner{position:relative;padding:86px 0 46px}
.rt-kicker{color:var(--rt-gold);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.rt-hero h1{margin:14px 0 14px;font-size:44px;line-height:1.15;letter-spacing:.04em}
.rt-hero p{margin:0;max-width:58ch;color:var(--rt-muted)}
.rt-hero__actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.rt-hero__stats{margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rt-stat{padding:14px 16px;border-radius:var(--rt-radius);background:rgba(15,17,24,.75);border:1px solid rgba(37,42,58,.7)}
.rt-stat__n{font-weight:800;color:var(--rt-gold);font-size:20px}
.rt-stat__l{color:var(--rt-muted);font-size:12px}

/* Sections */
.rt-section{padding:62px 0;border-top:1px solid rgba(37,42,58,.55)}
.rt-section--alt{background:linear-gradient(180deg, rgba(18,21,40,.22), rgba(0,0,0,0))}
.rt-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}
.rt-section__title{margin:0;font-size:24px;letter-spacing:.06em}
.rt-section__lead{margin:0;color:var(--rt-muted);max-width:60ch;font-size:13px}

.rt-grid{display:grid;gap:14px}
.rt-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rt-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}

.rt-card{
  border:1px solid rgba(37,42,58,.75);
  background:rgba(15,17,24,.75);
  border-radius:var(--rt-radius);
  padding:18px;
}
.rt-card__title{margin:0 0 6px;font-size:16px}
.rt-card__text{margin:0;color:var(--rt-muted);font-size:13px}
.rt-badge{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:var(--rt-gold)}
.rt-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rt-gold)}

/* Gallery / Profiles */
.rt-profile{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center}
.rt-profile__ph{width:92px;height:92px;border-radius:16px;border:1px solid rgba(199,165,102,.5);
  background:linear-gradient(135deg, rgba(199,165,102,.18), rgba(255,255,255,.03));
}
.rt-profile__name{margin:0;font-weight:800;letter-spacing:.06em}
.rt-profile__meta{margin:2px 0 0;color:var(--rt-muted);font-size:12px}

/* Pricing */
.rt-price{display:flex;flex-direction:column;gap:10px}
.rt-price__val{font-size:28px;font-weight:900;color:var(--rt-gold)}
.rt-list{margin:0;padding-left:18px;color:var(--rt-muted);font-size:13px}

/* FAQ */
.rt-faq{border-radius:var(--rt-radius);border:1px solid rgba(37,42,58,.75);background:rgba(15,17,24,.75);overflow:hidden}
.rt-faq details{border-top:1px solid rgba(37,42,58,.6)}
.rt-faq details:first-child{border-top:none}
.rt-faq summary{cursor:pointer;padding:16px 18px;font-weight:700;list-style:none}
.rt-faq summary::-webkit-details-marker{display:none}
.rt-faq .rt-faq__a{padding:0 18px 16px;color:var(--rt-muted);font-size:13px}

/* Footer */
.rt-footer{padding:40px 0;border-top:1px solid rgba(37,42,58,.55);color:var(--rt-muted);font-size:12px}
.rt-footer a{color:var(--rt-muted);text-decoration:underline}

/* WP Content */
.rt-content h1,.rt-content h2,.rt-content h3{letter-spacing:.04em}
.rt-content a{color:var(--rt-gold)}

/* Reveal */
.rt-reveal{opacity:0;transform:translateY(12px);transition:opacity .7s ease, transform .7s ease}
.rt-reveal.is-in{opacity:1;transform:none}

@media (max-width: 980px){
  .rt-grid--3{grid-template-columns:1fr}
  .rt-grid--2{grid-template-columns:1fr}
  .rt-hero h1{font-size:36px}
  .rt-hero__stats{grid-template-columns:1fr}
  .rt-nav{display:none}
}
