/*
Theme Name: Carlucho ART — Astra Child
Theme URI: https://carluchoart.com/
Description: Tema filho profissional do Astra para o ecossistema editorial e musical Carlucho ART. Home em blocos reais, blog dinâmico, padrões reutilizáveis e design responsivo.
Author: Carlucho ART
Author URI: https://carluchoart.com/
Template: astra
Version: 3.2.0
Text Domain: carlucho-art
*/

:root {
  --ca-black:#08090a;
  --ca-ink:#0f1113;
  --ca-panel:#17191c;
  --ca-panel-2:#202328;
  --ca-cream:#f4f0e8;
  --ca-gold:#d7ad55;
  --ca-gold-light:#f1d58f;
  --ca-muted:#a9a49b;
  --ca-line:rgba(255,255,255,.11);
  --ca-shadow:0 24px 70px rgba(0,0,0,.28);
  --ca-radius:24px;
}

html{scroll-behavior:smooth}
body{margin:0;background:var(--ca-black);color:var(--ca-cream);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
body .site-content{padding:0}
body .ast-container,
body .site-content .ast-container,
body .ast-page-builder-template .site-content > .ast-container{max-width:none;padding-left:0;padding-right:0}
body .entry-content{margin:0}
body.page .entry-header{display:none}
.ast-separate-container .ast-article-single{padding:0}
.ast-separate-container,.ast-separate-container .site-main,.ast-separate-container .ast-article-single{background:var(--ca-black)}

.carlucho-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.carlucho-narrow{width:min(820px,calc(100% - 48px));margin-inline:auto}
.carlucho-eyebrow{margin:0 0 14px;color:var(--ca-gold);font-size:11px;font-weight:800;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}
.carlucho-display{letter-spacing:-.045em;line-height:.98}
.carlucho-muted{color:var(--ca-muted)}

.carlucho-card{background:linear-gradient(145deg,#1a1d20,#111315);border:1px solid var(--ca-line);border-radius:var(--ca-radius);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.carlucho-card:hover{transform:translateY(-3px);border-color:rgba(215,173,85,.42);box-shadow:var(--ca-shadow)}
.carlucho-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--ca-line);border-radius:999px;color:var(--ca-muted);font-size:12px}
.carlucho-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ca-gold);box-shadow:0 0 0 4px rgba(215,173,85,.10)}

.carlucho-artwork{position:relative;min-height:500px;overflow:hidden;border:1px solid var(--ca-line);border-radius:32px;background:radial-gradient(circle at 78% 18%,rgba(215,173,85,.42),transparent 27%),linear-gradient(135deg,#292119,#090a0b 62%);box-shadow:0 30px 90px rgba(0,0,0,.38)}
.carlucho-artwork:before{content:"";position:absolute;width:320px;height:320px;right:-100px;bottom:-110px;border-radius:50%;background:rgba(215,173,85,.18);filter:blur(34px)}
.carlucho-record{position:absolute;inset:10% 9%;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:linear-gradient(150deg,#0d0f10,#22262a);box-shadow:0 30px 80px rgba(0,0,0,.5);transform:rotate(-3deg)}
.carlucho-record-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--ca-gold);color:#08090a;font-size:20px;font-weight:900}

.carlucho-light{background:var(--ca-cream);color:#111!important}
.carlucho-light h1,.carlucho-light h2,.carlucho-light h3,.carlucho-light h4,.carlucho-light h5{color:#111}
.carlucho-light p{color:#3e3b36}
.carlucho-panel{background:var(--ca-panel)}

.carlucho-service{min-height:280px;padding:30px!important;display:flex;flex-direction:column;justify-content:space-between}
.carlucho-service-number{margin-bottom:12px;color:var(--ca-gold);font-size:12px;font-weight:800;letter-spacing:.15em}
.carlucho-service h3{margin:0 0 12px}

.carlucho-post-card{height:100%;overflow:hidden}
.carlucho-post-card .wp-block-post-featured-image{margin:0}
.carlucho-post-card .wp-block-post-featured-image img{width:100%;height:220px;object-fit:cover;border-radius:0}
.carlucho-post-card .carlucho-post-body{padding:22px}
.carlucho-post-card .wp-block-post-title{margin-top:8px;margin-bottom:10px}
.carlucho-post-card .wp-block-post-title a{color:inherit;text-decoration:none}
.carlucho-post-card .wp-block-post-excerpt{margin-bottom:0}

.carlucho-ad-slot{min-height:100px;margin:28px auto;padding:18px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(215,173,85,.26);border-radius:14px;background:rgba(255,255,255,.015);color:#777;font-size:11px;letter-spacing:.08em;text-align:center;text-transform:uppercase}

.wp-block-button__link{border-radius:999px!important;padding:13px 21px!important;font-weight:750;box-shadow:none!important}
.wp-block-button.is-style-outline .wp-block-button__link{border:1px solid rgba(255,255,255,.24)!important}
.wp-block-columns{margin-bottom:0}
.wp-block-image img{border-radius:22px}

/* Editorial content */
.single-post .entry-content,.blog .site-main,.archive .site-main{color:var(--ca-cream)}
.single-post .entry-content a,.blog .entry-title a,.archive .entry-title a{color:var(--ca-gold-light)}
.single-post .entry-content h2,.single-post .entry-content h3,.single-post .entry-content h4{letter-spacing:-.025em}
.single-post .entry-content blockquote{margin:2rem 0;padding:1.25rem 1.5rem;border-left:3px solid var(--ca-gold);background:var(--ca-panel);border-radius:0 14px 14px 0}

/* Astra header/footer remain Astra-controlled. These styles keep them compatible with the Carlucho palette. */
.ast-primary-header-bar,.ast-builder-footer-grid-columns{background:var(--ca-black)}
.ast-primary-header-bar{border-bottom:1px solid var(--ca-line)}
.ast-footer-copyright,.ast-footer-social-wrap{color:var(--ca-muted)}

@media (max-width:900px){
  .carlucho-shell,.carlucho-narrow{width:min(100% - 32px,1180px)}
  .carlucho-artwork{min-height:430px}
  .wp-block-columns{flex-wrap:wrap!important}
  .wp-block-column{flex-basis:100%!important}
  .carlucho-display{font-size:clamp(46px,12vw,78px)!important}
}
@media (max-width:600px){
  .carlucho-shell,.carlucho-narrow{width:min(100% - 28px,1180px)}
  .carlucho-artwork{min-height:370px;border-radius:24px}
  .carlucho-record{inset:8% 7%;padding:20px}
  .carlucho-service{min-height:230px}
  .carlucho-post-card .wp-block-post-featured-image img{height:190px}
}

/* v3.1 stability layer: neutralizes Astra's content/sidebar width so the custom Home
   always uses the full browser canvas. */
html, body { overflow-x:hidden; }
body.carlucho-home #primary,
body.carlucho-home #main,
body.carlucho-home .site-main,
body.carlucho-home .content-area,
body.carlucho-home .ast-container,
body.carlucho-home .ast-row { width:100%; max-width:none; margin-left:0; margin-right:0; }
body.carlucho-home #primary { flex:0 0 100%; }
body.carlucho-home .site-content > .ast-container { display:block; padding-left:0; padding-right:0; }
body.carlucho-home .entry-content > .wp-block-group.alignfull,
body.carlucho-home .entry-content > .wp-block-cover.alignfull,
body.carlucho-home .entry-content > .wp-block-columns.alignfull { width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
body.carlucho-home .entry-content > * { box-sizing:border-box; }

/* Header/footer: clean, compact and consistent with the brand. */
body.carlucho-home .ast-primary-header-bar { background:#08090a; border-bottom:1px solid rgba(255,255,255,.10); }
body.carlucho-home .main-header-menu > .menu-item > a,
body.carlucho-home .ast-header-button-1 .ast-custom-button { color:#f4f0e8; }
body.carlucho-home .main-header-menu > .menu-item > a:hover { color:#d7ad55; }
body.carlucho-home .site-title a { color:#f4f0e8; font-weight:800; letter-spacing:-.03em; }
body.carlucho-home .site-title a:hover { color:#d7ad55; }
body.carlucho-home .ast-builder-footer-grid-columns { background:#08090a; }

/* Keep the design centered regardless of Astra's selected layout container. */
.carlucho-shell { box-sizing:border-box; max-width:1180px; margin-left:auto!important; margin-right:auto!important; }
.carlucho-hero, .carlucho-light, .carlucho-panel, .carlucho-home-section { box-sizing:border-box; }

/* Better contrast and predictable editor rendering. */
.carlucho-hero { background:#08090a!important; color:#f4f0e8; }
.carlucho-light { background:#f4f0e8!important; color:#111!important; }
.carlucho-panel { background:#17191c!important; }
.carlucho-hero h1, .carlucho-hero h2, .carlucho-hero h3 { color:#f4f0e8; }
.carlucho-hero p { color:#c9c4bb; }
.carlucho-hero .carlucho-eyebrow { color:#d7ad55; }
.carlucho-artwork h2 { color:#f4f0e8; }
.carlucho-artwork .carlucho-muted { color:#a9a49b; }
.carlucho-light h1,.carlucho-light h2,.carlucho-light h3,.carlucho-light h4 { color:#111!important; }
.carlucho-light p { color:#3e3b36!important; }

/* Native blocks should not inherit Astra's narrow content constraints. */
.carlucho-home .wp-block-columns { box-sizing:border-box; }
.carlucho-home .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { min-width:0; }
.carlucho-home .wp-block-query { width:100%; }
.carlucho-home .wp-block-query .wp-block-post-template { list-style:none; padding:0; margin:0; }

@media (min-width:901px){
  body.carlucho-home .entry-content > .wp-block-group.alignfull > .wp-block-group,
  body.carlucho-home .entry-content > .wp-block-group.alignfull > .wp-block-columns { max-width:1180px; }
  body.carlucho-home .carlucho-hero .wp-block-columns { align-items:center; }
}
@media (max-width:900px){
  body.carlucho-home .entry-content > .wp-block-group.alignfull,
  body.carlucho-home .entry-content > .wp-block-columns.alignfull { margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
  .carlucho-shell { width:min(100%,1180px); }
}
@media (max-width:600px){
  body.carlucho-home .site-content { padding:0; }
  .carlucho-shell { width:calc(100% - 28px); }
}


/* v3.2 visual stability: remove theme-owned white seams around the Home. */
body.carlucho-home,
body.carlucho-home .site,
body.carlucho-home .site-content,
body.carlucho-home .site-main,
body.carlucho-home article,
body.carlucho-home .ast-article-single,
body.carlucho-home .entry-content { background:var(--ca-black)!important; }
body.carlucho-home .ast-article-single { padding-top:0!important; padding-bottom:0!important; margin:0!important; }
body.carlucho-home .site-content { margin:0!important; }
body.carlucho-home .site-footer { margin-top:0!important; }
body.carlucho-home .site-footer .ast-builder-grid-row-container { background:var(--ca-black)!important; }

/* v3.2 contrast: headings inside dark sections must remain readable. */
body.carlucho-home .carlucho-panel h1,
body.carlucho-home .carlucho-panel h2,
body.carlucho-home .carlucho-panel h3,
body.carlucho-home .carlucho-panel h4,
body.carlucho-home .carlucho-panel h5,
body.carlucho-home .has-ca-black-background-color h1,
body.carlucho-home .has-ca-black-background-color h2,
body.carlucho-home .has-ca-black-background-color h3,
body.carlucho-home .has-ca-black-background-color h4,
body.carlucho-home .has-ca-black-background-color h5 { color:var(--ca-cream)!important; }
body.carlucho-home .carlucho-panel p,
body.carlucho-home .has-ca-black-background-color p { color:#c9c4bb; }
body.carlucho-home .carlucho-panel .carlucho-card h3 { color:var(--ca-cream)!important; }
body.carlucho-home .carlucho-panel .carlucho-card p { color:var(--ca-muted)!important; }

/* Keep the WordPress/Astra chrome from creating unexpected horizontal gaps. */
body.carlucho-home .site-content > .ast-container,
body.carlucho-home .site-content > .ast-container > .content-area,
body.carlucho-home .site-content > .ast-container > #primary { padding-top:0!important; padding-bottom:0!important; }
