/*
Theme Name: Terraviva
Theme URI: https://terraviva.sa
Author: Terraviva
Description: قالب ووردبريس فاخر لتيرافيفا — متخصصون في آرت النبات والزهور
Version: 2.0.0
License: GNU General Public License v2 or later
Text Domain: terraviva
Tags: rtl-language, arabic, luxury, business, one-page
*/

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@300;400;500;600;700&family=Noto+Sans+Arabic:wght@300;400;500;600;700&display=swap');

:root {
  --forest:          hsl(150,35%,15%);
  --forest-light:    hsl(150,25%,25%);
  --bone:            hsl(45,33%,97%);
  --champagne:       hsl(41,45%,55%);
  --champagne-light: hsl(41,50%,75%);
  --charcoal:        hsl(0,0%,18%);
  --muted:           hsl(0,0%,40%);
  --background:      hsl(45,33%,97%);
  --secondary:       hsl(45,20%,92%);
  --border:          hsl(41,30%,85%);
  --accent:          hsl(41,45%,55%);
  --gradient-hero:   linear-gradient(180deg,hsla(150,35%,15%,.88) 0%,hsla(150,35%,15%,.45) 100%);
  --font-display:    'IBM Plex Sans Arabic', sans-serif;
  --font-body:       'Noto Sans Arabic', sans-serif;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); background:var(--background); color:var(--charcoal); direction:rtl; -webkit-font-smoothing:antialiased; line-height:1.6; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-display); }
.container { width:100%; max-width:1280px; margin:0 auto; padding:0 1.5rem; }
.section-padding { padding:5rem 0; }
@media(min-width:768px){ .section-padding { padding:7rem 0; } }
@media(min-width:1024px){ .section-padding { padding:9rem 0; } }

/* ── ANIMATIONS ─────────────────────────────────── */
@keyframes fadeInUp   { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn     { from{opacity:0} to{opacity:1} }
@keyframes navSlide   { from{transform:translateY(-100%)} to{transform:translateY(0)} }
@keyframes waPulse    { 0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.4)} 70%{box-shadow:0 0 0 10px rgba(37,211,102,0)} }
@keyframes bounce     { 0%,100%{transform:translateY(0)} 50%{transform:translateY(10px)} }

.animated-section { opacity:0; transform:translateY(40px); transition:opacity .8s ease,transform .8s ease; }
.animated-section.visible { opacity:1; transform:translateY(0); }

/* ── NAVBAR ──────────────────────────────────────── */
.tv-navbar { position:fixed; top:0; left:0; right:0; z-index:1000; transition:background .5s,box-shadow .5s; animation:navSlide .8s ease-out; }
.tv-navbar.scrolled { background:hsla(45,33%,97%,.93); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:0 1px 0 hsla(41,45%,55%,.2); }
.tv-navbar .container { display:flex; align-items:center; justify-content:space-between; padding-top:1rem; padding-bottom:1rem; gap:1rem; }
.tv-logo { font-family:var(--font-display); font-size:1.4rem; font-weight:700; letter-spacing:.05em; color:var(--forest); flex-shrink:0; }
.tv-nav-links { display:none; list-style:none; gap:1.2rem; align-items:center; }
@media(min-width:1024px){ .tv-nav-links { display:flex; } }
.tv-nav-links a { font-size:.78rem; color:hsla(0,0%,18%,.8); transition:color .3s; position:relative; white-space:nowrap; }
.tv-nav-links a::after { content:''; position:absolute; bottom:-4px; right:0; width:0; height:1px; background:var(--accent); transition:width .3s; }
.tv-nav-links a:hover { color:var(--accent); }
.tv-nav-links a:hover::after { width:100%; }
.tv-nav-right { display:flex; align-items:center; gap:.6rem; }
.tv-social-icon { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:transform .3s,opacity .3s; flex-shrink:0; }
.tv-social-icon:hover { transform:scale(1.1); opacity:.85; }
.tv-social-icon.ig { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.tv-social-icon.li { background:#0077B5; border-radius:6px; }
.tv-social-icon.wa { background:#25D366; }
.tv-nav-cta { display:none; font-family:var(--font-display); font-weight:600; font-size:.78rem; color:var(--bone); background:var(--forest); padding:.55rem 1.2rem; transition:background .3s; white-space:nowrap; }
@media(min-width:1024px){ .tv-nav-cta { display:inline-block; } }
.tv-nav-cta:hover { background:var(--forest-light); }
.tv-mobile-toggle { display:flex; align-items:center; background:none; border:none; cursor:pointer; color:var(--forest); padding:.25rem; }
@media(min-width:1024px){ .tv-mobile-toggle { display:none; } }
.tv-mobile-menu { display:none; background:hsla(45,33%,97%,.97); backdrop-filter:blur(20px); border-bottom:1px solid hsla(41,45%,55%,.2); padding:1.5rem; }
.tv-mobile-menu.open { display:block; }
.tv-mobile-menu ul { list-style:none; }
.tv-mobile-menu ul li { padding:.6rem 0; border-bottom:1px solid hsla(41,30%,85%,.5); }
.tv-mobile-menu ul li:last-child { border-bottom:none; }
.tv-mobile-menu ul a { font-size:.95rem; color:hsla(0,0%,18%,.8); display:block; transition:color .3s; }
.tv-mobile-menu ul a:hover { color:var(--accent); }
.tv-mobile-cta { display:block; text-align:center; font-family:var(--font-display); font-weight:600; font-size:.875rem; color:var(--bone); background:var(--forest); padding:.875rem; margin-top:.75rem; }

/* ── WHATSAPP FLOAT ──────────────────────────────── */
.tv-wa-float { position:fixed; bottom:1.5rem; left:1.5rem; z-index:999; width:52px; height:52px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 16px rgba(37,211,102,.4); animation:waPulse 2.5s infinite; transition:transform .3s; }
.tv-wa-float:hover { transform:scale(1.1); }
.admin-bar .tv-wa-float { bottom:3.5rem; }

/* ── SECTION HEADING ─────────────────────────────── */
.sec-head { text-align:center; margin-bottom:3.5rem; }
.sec-tag { font-family:var(--font-body); font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:.75rem; }
.sec-tag.light { color:var(--champagne); }
.sec-title { font-family:var(--font-display); font-size:clamp(1.6rem,3.5vw,2.5rem); font-weight:700; color:var(--forest); line-height:1.25; }
.sec-title.light { color:var(--bone); }
.sec-line { width:3rem; height:1px; background:var(--accent); margin:.9rem auto; }
.sec-line.light { background:var(--champagne); }
.sec-desc { font-family:var(--font-body); font-size:.95rem; color:var(--muted); max-width:540px; margin:0 auto; line-height:1.8; }
.sec-desc.light { color:hsla(45,33%,97%,.65); }

/* ── HERO ────────────────────────────────────────── */
#hero { position:relative; height:100vh; min-height:680px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hero-bg { position:absolute; inset:0; }
.hero-bg img { width:100%; height:100%; object-fit:cover; }
.hero-bg::after { content:''; position:absolute; inset:0; background:var(--gradient-hero); }
.hero-content { position:relative; z-index:10; text-align:center; padding:0 1.5rem; max-width:880px; margin:0 auto; }
.hero-line { display:inline-block; width:4rem; height:1px; background:var(--champagne); margin-bottom:1.75rem; animation:fadeIn .8s .3s both; }
.hero-title { font-family:var(--font-display); font-size:clamp(3rem,8vw,5.5rem); font-weight:700; color:var(--bone); letter-spacing:.05em; margin-bottom:1rem; animation:fadeInUp 1.4s .5s both; }
.hero-subtitle { font-family:var(--font-display); font-size:clamp(1.1rem,2.5vw,1.6rem); font-weight:300; color:hsla(45,33%,97%,.9); margin-bottom:.75rem; animation:fadeInUp 1.2s .9s both; }
.hero-desc { font-family:var(--font-body); font-size:clamp(.85rem,1.5vw,1.05rem); color:hsla(45,33%,97%,.68); margin-bottom:2.5rem; max-width:600px; margin-left:auto; margin-right:auto; line-height:1.8; animation:fadeInUp 1.2s 1.2s both; }
.hero-btns { display:flex; flex-direction:column; gap:.9rem; justify-content:center; align-items:center; animation:fadeInUp 1s 1.5s both; }
@media(min-width:540px){ .hero-btns { flex-direction:row; } }
.btn-outline-light { font-family:var(--font-display); font-weight:600; font-size:.85rem; color:var(--bone); border:1px solid hsla(45,33%,97%,.35); padding:.9rem 2.2rem; transition:background .3s; background:transparent; }
.btn-outline-light:hover { background:hsla(45,33%,97%,.12); }
.btn-champagne { font-family:var(--font-display); font-weight:600; font-size:.85rem; color:var(--forest); background:var(--champagne); padding:.9rem 2.2rem; transition:background .3s; }
.btn-champagne:hover { background:var(--champagne-light); }
.hero-scroll { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); }
.hero-scroll-line { width:1px; height:3.5rem; background:linear-gradient(to bottom,hsla(45,33%,97%,.5),transparent); animation:bounce 2s ease-in-out infinite; }

/* ── ABOUT ───────────────────────────────────────── */
#about { background:var(--background); }
.about-grid { display:grid; gap:4rem; align-items:center; }
@media(min-width:1024px){ .about-grid { grid-template-columns:1fr 1fr; gap:6rem; } }
.about-img-wrap { position:relative; }
.about-img-wrap img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.about-deco { position:absolute; bottom:-1.4rem; left:-1.4rem; width:7rem; height:7rem; border:1px solid hsla(41,45%,55%,.3); pointer-events:none; }
.about-tag { font-family:var(--font-body); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:.75rem; }
.about-h { font-family:var(--font-display); font-size:clamp(1.6rem,3vw,2.6rem); font-weight:700; color:var(--forest); line-height:1.3; margin-bottom:1.5rem; }
.about-sep { width:3.5rem; height:1px; background:var(--accent); margin-bottom:1.5rem; }
.about-p { font-family:var(--font-body); font-size:.95rem; color:var(--muted); line-height:1.9; margin-bottom:1.2rem; }
.about-stats { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.stat-n { font-family:var(--font-display); font-size:2.4rem; font-weight:700; color:var(--accent); margin-bottom:.2rem; }
.stat-l { font-family:var(--font-body); font-size:.82rem; color:var(--muted); }
.vm-grid { display:grid; gap:1.5rem; margin-top:5rem; }
@media(min-width:768px){ .vm-grid { grid-template-columns:1fr 1fr; } }
.vm-dark { background:var(--forest); padding:2.5rem; }
.vm-dark .vm-tag { font-family:var(--font-body); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--champagne); margin-bottom:.75rem; display:block; }
.vm-dark h3 { font-family:var(--font-display); font-size:1.35rem; font-weight:700; color:var(--bone); margin-bottom:1rem; }
.vm-dark p { font-family:var(--font-body); font-size:.88rem; color:hsla(45,33%,97%,.65); line-height:1.8; }
.vm-light { border:1px solid hsla(41,45%,55%,.3); padding:2.5rem; }
.vm-light .vm-tag { font-family:var(--font-body); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:.75rem; display:block; }
.vm-light h3 { font-family:var(--font-display); font-size:1.35rem; font-weight:700; color:var(--forest); margin-bottom:1rem; }
.vm-light p { font-family:var(--font-body); font-size:.88rem; color:var(--muted); line-height:1.8; }

/* ── SERVICES ────────────────────────────────────── */
#services { background:var(--forest); }
.services-grid { display:grid; gap:1rem; }
@media(min-width:640px){ .services-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .services-grid { grid-template-columns:repeat(3,1fr); gap:1.25rem; } }
.svc-card { position:relative; overflow:hidden; cursor:pointer; transition:transform .4s ease; }
.svc-card:hover { transform:translateY(-8px); }
.svc-card-img { aspect-ratio:16/10; overflow:hidden; position:relative; }
.svc-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.svc-card:hover .svc-card-img img { transform:scale(1.08); }
.svc-card-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,hsla(150,35%,15%,.92),hsla(150,35%,15%,.25),transparent); }
.svc-card-body { position:absolute; bottom:0; right:0; left:0; padding:1.5rem 1.75rem; }
.svc-new-badge { display:inline-block; font-family:var(--font-body); font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; background:hsla(41,45%,55%,.25); border:1px solid hsla(41,45%,55%,.5); color:var(--champagne); padding:.2rem .6rem; margin-bottom:.6rem; }
.svc-line { width:2rem; height:1px; background:var(--champagne); margin-bottom:.7rem; transition:width .5s; }
.svc-card:hover .svc-line { width:4rem; }
.svc-title { font-family:var(--font-display); font-size:1.05rem; font-weight:700; color:var(--bone); margin-bottom:.5rem; }
.svc-desc { font-family:var(--font-body); font-size:.8rem; color:hsla(45,33%,97%,.65); line-height:1.65; }

/* ── WORKSHOPS ───────────────────────────────────── */
#workshops { background:var(--background); }
.ws-intro { text-align:center; margin-bottom:1rem; }
.ws-grid { display:grid; gap:1.5rem; }
@media(min-width:640px){ .ws-grid { grid-template-columns:1fr 1fr 1fr; } }
.ws-card { border:1px solid hsla(41,45%,55%,.25); padding:2rem; transition:border-color .4s,transform .4s; }
.ws-card:hover { border-color:hsla(41,45%,55%,.55); transform:translateY(-4px); }
.ws-icon { width:3rem; height:3rem; background:hsla(41,45%,55%,.1); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem; }
.ws-icon svg { width:1.3rem; height:1.3rem; color:var(--accent); }
.ws-title { font-family:var(--font-display); font-size:1.05rem; font-weight:700; color:var(--forest); margin-bottom:.6rem; }
.ws-desc { font-family:var(--font-body); font-size:.85rem; color:var(--muted); line-height:1.75; margin-bottom:1rem; }
.ws-meta { font-family:var(--font-body); font-size:.78rem; color:var(--accent); display:flex; align-items:center; gap:.4rem; }

/* ── PRODUCTS ────────────────────────────────────── */
#products { background:var(--secondary); }
.prod-grid { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
@media(min-width:1024px){ .prod-grid { grid-template-columns:repeat(4,1fr); gap:1.25rem; } }
.prod-card { cursor:pointer; }
.prod-card-img { aspect-ratio:3/4; overflow:hidden; position:relative; }
.prod-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.prod-card:hover .prod-card-img img { transform:scale(1.05); }
.prod-overlay { position:absolute; inset:0; background:linear-gradient(to top,hsla(150,35%,15%,.82),transparent); opacity:0; transition:opacity .5s; }
.prod-card:hover .prod-overlay { opacity:1; }
.prod-hover-info { position:absolute; bottom:0; left:0; right:0; padding:1rem 1.2rem; transform:translateY(.8rem); opacity:0; transition:transform .5s,opacity .5s; }
.prod-card:hover .prod-hover-info { transform:translateY(0); opacity:1; }
.prod-sub { font-family:var(--font-body); font-size:.68rem; color:var(--champagne); text-transform:uppercase; letter-spacing:.1em; display:block; margin-bottom:.2rem; }
.prod-name-overlay { font-family:var(--font-display); font-size:.95rem; font-weight:700; color:var(--bone); }
.prod-label { margin-top:.75rem; text-align:center; }
.prod-label h3 { font-family:var(--font-display); font-size:.88rem; font-weight:600; color:var(--forest); }

/* ── PORTFOLIO PAGE ──────────────────────────────── */
.page-template-portfolio #main { padding-top:90px; }
.portfolio-header { background:var(--forest); padding:5rem 0 4rem; text-align:center; }
.portfolio-header h1 { font-family:var(--font-display); font-size:clamp(2rem,5vw,3.5rem); font-weight:700; color:var(--bone); margin-bottom:1rem; }
.portfolio-header p { font-family:var(--font-body); font-size:1rem; color:hsla(45,33%,97%,.65); max-width:500px; margin:0 auto; }
.portfolio-filter { display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; padding:2.5rem 1.5rem; background:var(--background); border-bottom:1px solid var(--border); }
.filter-btn { font-family:var(--font-body); font-size:.8rem; padding:.45rem 1.2rem; border:1px solid var(--border); background:transparent; color:var(--muted); cursor:pointer; transition:all .3s; }
.filter-btn.active, .filter-btn:hover { background:var(--forest); color:var(--bone); border-color:var(--forest); }
.portfolio-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding:3rem 1.5rem; max-width:1280px; margin:0 auto; }
@media(min-width:768px){ .portfolio-grid { grid-template-columns:repeat(3,1fr); gap:1.25rem; } }
.port-card { position:relative; overflow:hidden; cursor:pointer; transition:transform .4s; }
.port-card:hover { transform:translateY(-6px); }
.port-card-img { aspect-ratio:4/3; overflow:hidden; position:relative; }
.port-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.port-card:hover .port-card-img img { transform:scale(1.06); }
.port-card-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,hsla(150,35%,15%,.85),transparent 55%); }
.port-card-body { position:absolute; bottom:0; left:0; right:0; padding:1rem 1.2rem; }
.port-cat { font-family:var(--font-body); font-size:.68rem; color:var(--champagne); text-transform:uppercase; letter-spacing:.1em; display:block; margin-bottom:.3rem; }
.port-title { font-family:var(--font-display); font-size:1rem; font-weight:700; color:var(--bone); }

/* Portfolio section on homepage */
#portfolio { background:var(--secondary); }
.port-section-grid { display:grid; gap:1rem; }
@media(min-width:768px){ .port-section-grid { grid-template-columns:repeat(3,1fr); } }
.port-featured { grid-column:1/-1; }
@media(min-width:768px){ .port-featured .port-card-img { aspect-ratio:21/8; } }
.port-view-all { text-align:center; margin-top:2.5rem; }
.btn-outline-forest { display:inline-block; font-family:var(--font-display); font-weight:600; font-size:.85rem; color:var(--forest); border:1px solid hsla(41,45%,55%,.5); padding:.85rem 2.5rem; transition:all .3s; }
.btn-outline-forest:hover { background:var(--forest); color:var(--bone); }

/* ── WHY ─────────────────────────────────────────── */
#why { background:var(--background); }
.why-grid { display:grid; gap:1.5rem; }
@media(min-width:768px){ .why-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .why-grid { grid-template-columns:repeat(3,1fr); gap:2rem; } }
.why-card { padding:1.75rem; border:1px solid transparent; transition:border-color .4s,transform .4s; }
.why-card:hover { border-color:hsla(41,45%,55%,.35); transform:translateY(-4px); }
.why-icon { width:2.2rem; height:2.2rem; color:var(--accent); margin-bottom:1.2rem; }
.why-h { font-family:var(--font-display); font-size:1rem; font-weight:700; color:var(--forest); margin-bottom:.6rem; }
.why-p { font-family:var(--font-body); font-size:.83rem; color:var(--muted); line-height:1.8; }

/* ── CLIENTS ─────────────────────────────────────── */
#clients { background:var(--secondary); }
.cl-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media(min-width:640px){ .cl-grid { grid-template-columns:repeat(3,1fr); } }
@media(min-width:768px){ .cl-grid { grid-template-columns:repeat(5,1fr); } }
.cl-card { position:relative; display:flex; align-items:center; justify-content:center; min-height:7rem; background:var(--background); border:1px solid var(--border); padding:1rem; overflow:hidden; cursor:default; transition:border-color .4s,box-shadow .4s,transform .3s; }
.cl-card:hover { border-color:hsla(41,45%,55%,.4); box-shadow:0 8px 30px -5px hsla(150,35%,15%,.1); transform:scale(1.04); }
.cl-default, .cl-hover { position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; transition:opacity .4s; text-align:center; padding:.5rem; }
.cl-default { opacity:1; }
.cl-hover { opacity:0; }
.cl-card:hover .cl-default { opacity:0; }
.cl-card:hover .cl-hover { opacity:1; }
.cl-en { font-family:var(--font-display); font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.cl-default .cl-en { color:hsla(0,0%,40%,.55); }
.cl-hover .cl-en { color:var(--forest); }
.cl-ar { font-family:var(--font-body); font-size:.68rem; margin-top:.3rem; }
.cl-default .cl-ar { color:hsla(0,0%,40%,.38); }
.cl-hover .cl-ar { color:var(--accent); }

/* ── CONTACT ─────────────────────────────────────── */
#contact { background:var(--forest); }
.contact-grid { display:grid; gap:3.5rem; }
@media(min-width:1024px){ .contact-grid { grid-template-columns:1fr 1fr; gap:5rem; } }
.ci-list { display:flex; flex-direction:column; gap:2rem; }
.ci-item { display:flex; align-items:flex-start; gap:1.1rem; }
.ci-icon { width:1.1rem; height:1.1rem; color:var(--champagne); flex-shrink:0; margin-top:.2rem; }
.ci-item h4 { font-family:var(--font-display); font-size:.95rem; font-weight:600; color:var(--bone); margin-bottom:.2rem; }
.ci-item p { font-family:var(--font-body); font-size:.85rem; color:hsla(45,33%,97%,.55); }
.social-row { display:flex; gap:.75rem; margin-top:2rem; }
.soc-btn { width:38px; height:38px; border:1px solid hsla(41,45%,55%,.35); display:flex; align-items:center; justify-content:center; transition:border-color .3s,background .3s,transform .3s; }
.soc-btn:hover { border-color:var(--champagne); transform:translateY(-3px); }
.soc-btn svg { width:16px; height:16px; }
.contact-form { display:flex; flex-direction:column; gap:1.4rem; }
.form-row { display:grid; gap:1.4rem; }
@media(min-width:640px){ .form-row { grid-template-columns:1fr 1fr; } }
.c-input,.c-textarea { width:100%; background:transparent; border:none; border-bottom:1px solid hsla(45,33%,97%,.2); padding:.7rem 0; font-family:var(--font-body); font-size:.88rem; color:var(--bone); outline:none; transition:border-color .3s; direction:rtl; }
.c-input::placeholder,.c-textarea::placeholder { color:hsla(45,33%,97%,.38); }
.c-input:focus,.c-textarea:focus { border-bottom-color:var(--champagne); }
.c-textarea { resize:none; }
.form-msg { font-family:var(--font-body); font-size:.82rem; min-height:1.2rem; }
.form-msg.success { color:var(--champagne); }
.form-msg.error   { color:#ff8a80; }
.btn-submit { align-self:flex-start; font-family:var(--font-display); font-weight:600; font-size:.88rem; color:var(--forest); background:var(--champagne); padding:.9rem 3rem; border:none; cursor:pointer; transition:background .3s; }
.btn-submit:hover { background:var(--champagne-light); }

/* ── FOOTER ──────────────────────────────────────── */
.tv-footer { background:var(--forest); border-top:1px solid hsla(150,25%,25%,.35); padding:2.5rem 0; }
.tv-footer .container { display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:1rem; text-align:center; }
@media(min-width:768px){ .tv-footer .container { flex-direction:row; text-align:right; } }
.foot-logo { font-family:var(--font-display); font-size:1.15rem; font-weight:700; color:var(--bone); }
.foot-tag { font-family:var(--font-body); font-size:.72rem; color:hsla(45,33%,97%,.38); margin-top:.2rem; }
.foot-copy { font-family:var(--font-body); font-size:.72rem; color:hsla(45,33%,97%,.38); }

/* ── ADMIN BAR ───────────────────────────────────── */
.admin-bar .tv-navbar { top:32px; }
@media(max-width:782px){ .admin-bar .tv-navbar { top:46px; } }
