/*
Theme Name: Fuli630 Studio (Kadence Child)
Theme URI: https://fuli630.com/
Author: Fuli630
Description: Kadence child theme for Fuli630 — an AI image and video studio for adult creators. Carries the shared gc-* content framework (cards, steps, FAQ, fact sheet, widget shell) on top of Kadence; all brand color and type comes from the generated CSS variables below, header/footer chrome comes from the Kadence Header/Footer Builder.
Version: 1.0.0
Template: kadence
Text Domain: fuli630-studio
*/

:root{
  --gc-accent:#0e9f6e;
  --gc-accent-d:#0a7a54;
  --gc-accent2:#c9a227;
  --gc-band-bg:#14231b;
  --gc-band-muted:#ccd6c4;
  --gc-band-text:#ffffff;
  --gc-bg:#fbf9f3;
  --gc-bg2:#f3efe3;
  --gc-facts-bg:#14231b;
  --gc-facts-h:#e7c65c;
  --gc-facts-k:#a9bfa9;
  --gc-facts-line:#2c4234;
  --gc-facts-text:#f2efe2;
  --gc-faint:#98906f;
  --gc-font-body:"DM Sans","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --gc-font-display:"DM Serif Display",Georgia,serif;
  --gc-grad:linear-gradient(92deg,#0e9f6e 0%,#c9a227 130%);
  --gc-line:#e4dcc6;
  --gc-muted:#5c5741;
  --gc-note-bg:#fdf3e3;
  --gc-note-line:#ecd3a0;
  --gc-note-text:#7a5410;
  --gc-panel:#ffffff;
  --gc-panel2:#f6f2e7;
  --gc-radius:16px;
  --gc-text:#1c1a13;
  --gc-max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--gc-bg);color:var(--gc-text);
  font-family:var(--gc-font-body);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
a{color:var(--gc-accent-d);text-decoration:none}
a:hover{color:var(--gc-accent);text-decoration:underline}
img{max-width:100%;height:auto;border-radius:10px}
.gc-wrap{max-width:var(--gc-max);margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--gc-font-display)}

/* ---------- Kadence bridge ----------
   Kadence renders <main id="inner-wrap" class="wrap"> around every template
   and constrains .wrap to its content width. The gc framework owns layout
   inside the page, so neutralise Kadence's container on the main element
   and use .gc-wrap instead. Header/footer stay 100% Kadence builder. */
#inner-wrap.wrap{max-width:none;width:auto;margin:0;padding:0}
#inner-wrap .content-area{margin:0;max-width:none}
body .site-main-header-wrap,
body .site-main-footer-wrap{font-family:var(--gc-font-body)}
/* Buttons placed in the Kadence header/footer builder get the brand gradient. */
.site-header .header-button,
.site-footer .footer-button{
  background:var(--gc-grad);color:#fff;font-weight:700;border-radius:999px;
}
.site-header .header-button:hover,.site-footer .footer-button:hover{filter:brightness(1.08);text-decoration:none}

/* ---------- hero / sections ---------- */
.gc-hero{padding:52px 0 8px;text-align:left}
.gc-eyebrow{
  display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gc-accent-d);border:1px solid var(--gc-line);border-radius:999px;padding:5px 12px;background:var(--gc-panel);
}
.gc-hero h1,.gc-pagehead h1{
  font-size:clamp(30px,5.4vw,50px);line-height:1.12;margin:16px 0 14px;font-weight:850;letter-spacing:-.02em;
}
.gc-hero h1 .grad,.gc-pagehead h1 .grad{background:var(--gc-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gc-lede{font-size:19px;color:var(--gc-muted);max-width:720px;margin:0 0 8px}
.gc-pagehead{padding:44px 0 4px}
.gc-section{padding:34px 0}
.gc-section h2{font-size:clamp(23px,3.4vw,32px);margin:0 0 10px;font-weight:800;letter-spacing:-.015em}
.gc-section h3{font-size:19px;margin:22px 0 6px;font-weight:750}
.gc-section p{color:var(--gc-muted);max-width:760px}
.gc-section ul,.gc-section ol{color:var(--gc-muted);max-width:760px;padding-left:22px}
.gc-section li{margin:5px 0}
.gc-section strong{color:var(--gc-text)}

/* widget shell */
.gc-widget-shell{
  background:var(--gc-panel);border:1px solid var(--gc-line);border-radius:18px;
  padding:18px;margin:22px 0;box-shadow:0 16px 44px rgba(0,0,0,.12);
}
.gc-widget-note{font-size:13.5px;color:var(--gc-faint);margin:10px 2px 0}

/* Home hero widget: hide the widget's built-in feed (Private/Public/Liked) —
   the home page already has its own public gallery section. */
.gc-nofeed .aiw-feedsec{display:none !important}

/* The widget's feed section is designed to break out to min(96vw,1760px)
   with negative centering margins. Inside this theme it must stay within
   the widget shell instead of bleeding past the content margins. This
   override is framework-critical under Kadence exactly as it was under
   the hand-written themes — do not remove. */
.gc-widget-shell .aiw-feedsec{
  width:100% !important;max-width:100% !important;
  margin-left:0 !important;margin-right:0 !important;
}

/* cards */
.gc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}
.gc-card{
  background:var(--gc-panel);border:1px solid var(--gc-line);border-radius:var(--gc-radius);
  padding:20px;display:block;color:var(--gc-text);
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}
a.gc-card:hover{border-color:var(--gc-accent);text-decoration:none;transform:translateY(-2px)}
.gc-card{transition:transform .15s ease,border-color .15s ease}
.gc-card .gc-card-k{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gc-accent)}
.gc-card h3{margin:8px 0 6px;font-size:18px;color:var(--gc-text)}
.gc-card p{margin:0;font-size:15px;color:var(--gc-muted)}

/* steps */
.gc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0;counter-reset:gcstep}
.gc-step{background:var(--gc-panel);border:1px solid var(--gc-line);border-radius:var(--gc-radius);padding:20px}
.gc-step .n{
  display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;
  background:var(--gc-grad);color:#fff;font-weight:800;font-size:16px;margin-bottom:10px;
}
.gc-step h3{margin:0 0 6px;font-size:17px}
.gc-step p{margin:0;font-size:15px;color:var(--gc-muted)}

/* faq */
.gc-faq{border-top:1px solid var(--gc-line);margin-top:8px}
.gc-faq details{border-bottom:1px solid var(--gc-line);padding:14px 2px}
.gc-faq summary{cursor:pointer;font-weight:700;font-size:16.5px;color:var(--gc-text)}
.gc-faq p{margin:8px 0 2px;color:var(--gc-muted);max-width:760px}

/* cta band */
.gc-band{
  background:var(--gc-band-bg);border:1px solid var(--gc-band-bg);
  border-radius:18px;padding:30px;margin:30px 0;text-align:left;
}
.gc-band h2{margin:0 0 8px;color:var(--gc-band-text)}
.gc-band p{color:var(--gc-band-muted);margin:0 0 16px;max-width:640px}
.gc-btn{
  display:inline-block;background:var(--gc-grad);color:#fff;font-weight:700;
  padding:12px 22px;border-radius:999px;font-size:16px;
}
.gc-btn:hover{text-decoration:none;color:#fff;filter:brightness(1.08)}

/* related tools */
.gc-related{border-top:1px solid var(--gc-line);margin-top:36px;padding-top:22px}
.gc-related h2{font-size:20px}
.gc-related .gc-grid{grid-template-columns:repeat(4,1fr)}

/* journal */
.gc-postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}
.gc-postcard{background:var(--gc-panel);border:1px solid var(--gc-line);border-radius:var(--gc-radius);overflow:hidden;display:block;color:var(--gc-text)}
.gc-postcard:hover{text-decoration:none;border-color:var(--gc-accent)}
.gc-postcard .gc-pc-body{padding:16px 18px 18px}
.gc-postcard h3{margin:0 0 6px;font-size:17.5px;line-height:1.35;color:var(--gc-text)}
.gc-postcard p{margin:0;font-size:14.5px;color:var(--gc-muted)}
.gc-meta{font-size:13px;color:var(--gc-faint);margin:6px 0 14px}
.gc-article{max-width:780px}
.gc-article h2{font-size:26px;margin:30px 0 8px}
.gc-article p,.gc-article li{color:var(--gc-muted)}
.gc-article strong{color:var(--gc-text)}
.gc-postnav{display:flex;justify-content:space-between;gap:14px;margin:34px 0 6px;font-size:15px}

/* journal pagination (the_posts_pagination) */
.gc-pagination{margin:26px 0 10px;display:flex;justify-content:center}
.gc-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.gc-pagination .page-numbers{min-width:42px;height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gc-line);border-radius:999px;background:var(--gc-panel);color:var(--gc-text);font-weight:700;font-size:14.5px}
.gc-pagination .page-numbers.current{background:var(--gc-grad);border-color:transparent;color:#fff}
.gc-pagination a.page-numbers:hover{border-color:var(--gc-accent);text-decoration:none}

/* 18+ note */
.gc-note-18{
  display:flex;gap:10px;align-items:flex-start;background:var(--gc-note-bg);border:1px solid var(--gc-note-line);color:var(--gc-note-text);
  border-radius:12px;padding:12px 14px;font-size:14.5px;margin:16px 0;
}

/* legal strip — printed by functions.php on the kadence_before_footer hook
   so it is present on every page regardless of footer-builder layout. */
.gc-legal{
  border-top:1px solid var(--gc-line);background:var(--gc-bg2);
  padding:16px 0 22px;font-size:13px;color:var(--gc-faint);
}
.gc-legal .gc-wrap{max-width:var(--gc-max)}

/* forms / misc */
.gc-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15.5px;background:var(--gc-panel)}
.gc-table th,.gc-table td{border:1px solid var(--gc-line);padding:10px 12px;text-align:left}
.gc-table th{background:var(--gc-panel2);color:var(--gc-text)}
.gc-table td{color:var(--gc-muted)}
.screen-reader-text{position:absolute;left:-9999px}

/* ---------- tool page framework ---------- */
.gc-crumbs{font-size:13.5px;color:var(--gc-faint);padding:20px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.gc-crumbs a{color:var(--gc-muted)}
.gc-toolhero{padding:14px 0 4px}
.gc-toolhero h1{font-size:clamp(30px,4.6vw,44px);line-height:1.14;margin:8px 0 10px;font-weight:850;letter-spacing:-.02em}
.gc-toolapp{margin:18px 0 10px}
.gc-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start;margin-top:6px}
.gc-main .gc-section{padding:20px 0}
.gc-main .gc-section:first-child{padding-top:4px}
.gc-main h2{font-size:clamp(22px,3vw,29px);margin:0 0 10px;font-weight:800;letter-spacing:-.015em}
.gc-main h3{font-size:18.5px;margin:20px 0 6px;font-weight:750}
.gc-main p{color:var(--gc-muted)}
.gc-main ul,.gc-main ol{color:var(--gc-muted);padding-left:22px}
.gc-main li{margin:5px 0}
.gc-main strong{color:var(--gc-text)}
.gc-facts{
  background:var(--gc-facts-bg);border:1px solid var(--gc-facts-bg);border-radius:var(--gc-radius);
  padding:20px;position:sticky;top:84px;color:var(--gc-facts-text);
}
.gc-facts h2{font-size:16px;margin:0 0 12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gc-facts-h)}
.gc-facts dl{margin:0}
.gc-facts dl div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--gc-facts-line)}
.gc-facts dl div:last-of-type{border-bottom:0}
.gc-facts dt{color:var(--gc-facts-k);font-size:14px;white-space:nowrap}
.gc-facts dd{margin:0;text-align:right;font-weight:650;font-size:14.5px;color:var(--gc-facts-text)}
.gc-facts-btn{margin-top:16px;display:block;text-align:center;padding:11px 14px;font-size:15px}

/* example prompt cards */
.gc-examples{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.gc-example{background:var(--gc-panel);border:1px solid var(--gc-line);border-left:3px solid var(--gc-accent);border-radius:12px;padding:16px 18px}
.gc-example .gc-ex-k{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gc-accent);display:block;margin-bottom:8px}
.gc-example p{margin:0 0 8px;font-size:15.5px;color:var(--gc-text)}
.gc-example p.gc-ex-note{font-size:13.5px;color:var(--gc-faint);margin:0}

@media (max-width:900px){
  .gc-layout{grid-template-columns:1fr}
  .gc-facts{position:static;order:2}
  .gc-examples{grid-template-columns:1fr}
}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .gc-grid,.gc-steps,.gc-postgrid{grid-template-columns:1fr 1fr}
  .gc-related .gc-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .gc-grid,.gc-steps,.gc-postgrid,.gc-related .gc-grid{grid-template-columns:1fr}
  .gc-hero{padding:34px 0 4px}
  .gc-widget-shell{padding:12px;border-radius:16px}
}
