/*
Theme Name: Nellaz Child
Theme URI: https://nellaz.com.br
Description: Child do Astra. Mantém o visual atual e troca a home da demo Organic por vitrine Shopee.
Author: Nellaz
Template: astra
Version: 1.2.7
Text Domain: nellaz-child
*/

:root {
  --nellaz-pink: var(--ast-global-color-0, #FB5FAB);
  --nellaz-pink-2: var(--ast-global-color-1, #EA559D);
  --nellaz-ink: var(--ast-global-color-2, #0F172A);
  --nellaz-muted: var(--ast-global-color-3, #454F5E);
  --nellaz-blush: var(--ast-global-color-4, #FCEEF5);
  --nellaz-blush-2: var(--ast-global-color-6, #FAD8E9);
}

.product-type-external .single_add_to_cart_button,
.product-type-external .add_to_cart_button,
.product-type-external .product_type_external,
.nellaz-btn-solid,
.nellaz-btn {
  background-color: var(--nellaz-pink) !important;
  border-color: var(--nellaz-pink) !important;
  color: #fff !important;
}

.product-type-external .single_add_to_cart_button:hover,
.nellaz-btn:hover,
.nellaz-btn-solid:hover {
  background-color: var(--nellaz-pink-2) !important;
  border-color: var(--nellaz-pink-2) !important;
}

.nellaz-aff-note { font-size: 13px; color: var(--nellaz-muted); margin: 8px 0 16px; }
.woocommerce span.onsale { background-color: var(--nellaz-pink); }

.product-type-external .woocommerce-loop-product__title::after {
  content: " · Shopee";
  font-weight: 500;
  font-size: 0.78em;
  color: #6b7280;
}

/* Home */
.nellaz-home { color: var(--nellaz-ink); }
.nellaz-wrap { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.nellaz-kicker {
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 12px;
  font-weight: 700;
  color: var(--nellaz-pink);
  margin: 0 0 8px;
}
.nellaz-home h1,
.nellaz-home h2 { line-height: 1.15; margin: 0 0 12px; }
.nellaz-home h1 { font-size: clamp(36px, 5vw, 58px); }
.nellaz-lede { color: var(--nellaz-muted); font-size: 18px; max-width: 52ch; }

.nellaz-hero-image {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 96px 0;
  overflow: hidden;
}
.nellaz-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(15,23,42,.82) 0%, rgba(15,23,42,.55) 45%, rgba(15,23,42,.15) 100%);
}
.nellaz-hero-content {
  position: relative;
  z-index: 1;
  max-width: 620px;
}
.nellaz-hero-content .nellaz-kicker { color: #ffd6ea; }
.nellaz-hero-content h1 { color: #fff; }
.nellaz-hero-content .nellaz-lede { color: #f3d7e6; }
.nellaz-hero-content .nellaz-btn-ghost {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid #fff !important;
}
.nellaz-cta-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.nellaz-btn,
.nellaz-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 12px 18px;
  text-decoration: none;
  font-weight: 700;
}
.nellaz-btn-ghost {
  background: transparent !important;
  color: var(--nellaz-ink) !important;
  border: 1px solid var(--nellaz-ink) !important;
}

.nellaz-feats { padding: 28px 0; background: #fff; }
.nellaz-feats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.nellaz-feats article {
  background: var(--nellaz-blush);
  border-radius: 16px;
  padding: 16px;
  display: grid;
  gap: 6px;
}
.nellaz-feats span { color: var(--nellaz-muted); font-size: 14px; }

.nellaz-section { padding: 48px 0; }
.nellaz-head { margin-bottom: 20px; }
.nellaz-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.nellaz-card {
  background: #fff;
  border: 1px solid #f3d7e6;
  border-radius: 16px;
  padding: 0 0 16px;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.nellaz-card-media { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 16px 16px 0 0; }
.nellaz-card-media img { width: 100%; height: 100%; object-fit: cover; }
.nellaz-off {
  position: absolute; top: 10px; right: 10px;
  background: var(--nellaz-pink); color: #fff;
  border-radius: 999px; padding: 4px 8px; font-size: 12px; font-weight: 700;
}
.nellaz-card h3 { font-size: 16px; margin: 0 16px 8px; }
.nellaz-card h3 a { text-decoration: none; color: inherit; }
.nellaz-card .nellaz-kicker,
.nellaz-card .nellaz-price { margin: 10px 16px 8px; }
.nellaz-card .nellaz-btn { margin: auto 16px 0; }

.nellaz-cats { padding: 10px 0 40px; }
.nellaz-cats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.nellaz-tile {
  position: relative; min-height: 220px; border-radius: 18px; overflow: hidden;
  color: #fff; text-decoration: none; display: flex; align-items: flex-end;
}
.nellaz-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nellaz-tile span {
  position: relative; z-index: 1; width: 100%;
  background: linear-gradient(transparent, rgba(20,6,16,.78));
  padding: 18px; display: grid; gap: 4px;
}

.nellaz-banner {
  background: var(--nellaz-ink);
  color: #fff;
  text-align: center;
  padding: 56px 0;
}
.nellaz-banner p { color: #f3d7e6; }

.nellaz-how { background: var(--nellaz-blush); padding: 56px 0; }
.nellaz-how-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 28px; }
.nellaz-how ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.nellaz-how li { background: #fff; border-radius: 14px; padding: 14px 16px; }

.nellaz-spotlight { padding: 48px 0 60px; background: #fff; }
.nellaz-spotlight-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 32px;
  align-items: center;
}
.nellaz-spotlight-art img { width: 100%; height: auto; border-radius: 18px; display: block; }
.nellaz-spotlight-product .nellaz-kicker { margin-bottom: 12px; }
.nellaz-spotlight-product .nellaz-card { max-width: 340px; }

img, video, iframe { max-width: 100%; height: auto; }
.nellaz-card h3, .nellaz-lede, .nellaz-legal { overflow-wrap: anywhere; }
.nellaz-form, .nellaz-form .srfm-form-container, .srfm-form, .srfm-block {
  max-width: 100% !important;
  width: 100%;
}
.nellaz-form input, .nellaz-form textarea, .nellaz-form select {
  max-width: 100% !important;
  box-sizing: border-box;
}
.nellaz-legal { padding-bottom: 40px; }
.nellaz-legal h2 { font-size: 1.15rem; margin: 1.4em 0 .4em; }
.nellaz-contact h1 { font-size: clamp(32px, 8vw, 48px); }

@media (max-width: 900px) {
  .nellaz-how-grid,
  .nellaz-feats-grid,
  .nellaz-grid,
  .nellaz-cats-grid,
  .nellaz-spotlight-grid { grid-template-columns: 1fr 1fr; }
  .nellaz-hero-image { padding: 64px 0 48px; }
}
@media (max-width: 560px) {
  .nellaz-feats-grid,
  .nellaz-how-grid,
  .nellaz-cats-grid,
  .nellaz-spotlight-grid { grid-template-columns: 1fr; }
  .nellaz-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .nellaz-hero-image { padding: 48px 0 36px; }
  .nellaz-home h1 { font-size: clamp(28px, 8.5vw, 40px); }
  .nellaz-lede { font-size: 16px; }
  .nellaz-cta-row { flex-direction: column; align-items: stretch; }
  .nellaz-cta-row a { width: 100%; }
  .nellaz-section, .nellaz-how, .nellaz-spotlight, .nellaz-banner { padding: 32px 0; }
  .nellaz-tile { min-height: 170px; }
  .nellaz-card h3 { font-size: 14px; margin: 0 10px 8px; }
  .nellaz-card .nellaz-kicker, .nellaz-card .nellaz-price { margin-left: 10px; margin-right: 10px; }
  .nellaz-card .nellaz-btn { margin-left: 10px; margin-right: 10px; }
  .ast-container, .site-content { overflow-x: hidden; }
}

/* Spectra leftovers (se alguma página antiga voltar) */
@media (max-width: 921px) {
  .entry-content .is-nowrap {
    flex-wrap: wrap !important;
  }
  .entry-content .wp-block-spectra-container.is-layout-flex {
    max-width: 100% !important;
  }
}

/** Rodape menor, mais simples e com cor mais clara. */
#colophon.site-footer {
  background-color: var(--nellaz-blush, #FCEEF5) !important;
}
#colophon .site-primary-footer-wrap {
  background-color: var(--nellaz-blush, #FCEEF5) !important;
  padding-top: 36px !important;
  padding-bottom: 28px !important;
  border-top: none !important;
}
#colophon .site-below-footer-wrap {
  background-color: var(--nellaz-blush-2, #FAD8E9) !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  border-top: none !important;
}
#colophon .widget-title,
#colophon h2.widget-title,
#colophon .footer-widget-area h2,
#colophon .footer-widget-area h3,
#colophon .footer-widget-area h4 {
  color: var(--nellaz-ink, #0F172A) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px !important;
}
#colophon .site-primary-footer-wrap,
#colophon .site-primary-footer-wrap p,
#colophon .site-primary-footer-wrap li,
#colophon .site-primary-footer-wrap a {
  color: var(--nellaz-muted, #454F5E) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}
#colophon .site-primary-footer-wrap a:hover {
  color: var(--nellaz-pink, #FB5FAB) !important;
}
#colophon .site-primary-footer-wrap ul {
  margin: 0 !important;
  padding: 0 !important;
}
#colophon .site-primary-footer-wrap li {
  margin: 0 0 6px !important;
  list-style: none !important;
}
#colophon .site-below-footer-wrap,
#colophon .site-below-footer-wrap a,
#colophon .site-below-footer-wrap p {
  color: var(--nellaz-muted, #454F5E) !important;
  font-size: 12px !important;
}

#colophon .site-below-footer-wrap .ast-builder-social-element svg,
#colophon .site-below-footer-wrap .ast-builder-social-element svg path {
  fill: var(--nellaz-muted, #454F5E) !important;
}
#colophon .site-below-footer-wrap .ast-builder-social-element:hover svg,
#colophon .site-below-footer-wrap .ast-builder-social-element:hover svg path {
  fill: var(--nellaz-pink, #FB5FAB) !important;
}

/* Cookie banner (SureCookie) compacto no celular */
@media (max-width: 640px) {
  .cky-consent-container,
  .cky-btn-revisit-wrapper {
    display: none !important;
  }
  .surecookie-public-banner.surecookie-container-mobile,
  .surecookie-banner.surecookie-container-mobile {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
  }
  .surecookie-banner-inner,
  .surecookie-banner-inner-box,
  .surecookie-content-mobile {
    padding: 12px 12px 8px !important;
    height: auto !important;
    max-height: none !important;
  }
  .surecookie-banner-description,
  .surecookie-banner-description p {
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin: 0 0 10px !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .surecookie-buttons-mobile,
  .surecookie-banner-buttons-box {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    height: auto !important;
    margin: 0 !important;
  }
  .surecookie-button-mobile,
  .surecookie-btn-base {
    width: 100% !important;
    height: auto !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }
  .surecookie-branding-mobile,
  .surecookie-branding {
    display: none !important;
  }
}

/* ---- Responsivo: header, loja, produto, form ---- */
html { overflow-x: clip; }

@media (max-width: 921px) {
  .site-header .custom-logo-link img,
  #masthead .custom-logo,
  .ast-builder-layout-element[data-section="title_tagline"] img.custom-logo {
    max-height: 58px !important;
    width: auto !important;
    height: auto !important;
  }
  .ast-primary-header-bar {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

@media (max-width: 544px) {
  .site-header .custom-logo-link img,
  #masthead .custom-logo {
    max-height: 48px !important;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products[class*="columns-"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .woocommerce ul.products::before,
  .woocommerce ul.products::after {
    display: none !important;
  }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  .woocommerce ul.products li.product .price {
    font-size: 14px;
  }

  .woocommerce div.product .product_title {
    font-size: 1.35rem !important;
    line-height: 1.25 !important;
  }
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    width: 100% !important;
    float: none !important;
  }
  .woocommerce div.product form.cart .button,
  .woocommerce div.product a.button.product_type_external,
  .woocommerce div.product .single_add_to_cart_button {
    width: 100% !important;
    text-align: center;
  }

  .srfm-form input,
  .srfm-form textarea,
  .srfm-form select,
  .nellaz-form input,
  .nellaz-form textarea {
    font-size: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  #colophon .site-primary-footer-wrap {
    padding-top: 24px !important;
    padding-bottom: 16px !important;
  }
  .nellaz-wrap { width: min(1180px, calc(100% - 24px)); }
}

@media (max-width: 360px) {
  .nellaz-home h1 { font-size: 26px !important; }
}

/* ---- Sobre: missão, objetivos, intenção ---- */
.nellaz-mission-card {
  background: #fff;
  border: 1px solid #f3d7e6;
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 8px 24px rgba(251,95,171,.08);
}
.nellaz-mission-card h3 { margin: 0 0 10px; font-size: 22px; }
.nellaz-mission-card p { margin: 0; color: var(--nellaz-muted); }

.nellaz-goals { padding: 48px 0; background: var(--nellaz-blush); }
.nellaz-goals h2 { margin-bottom: 22px; }
.nellaz-goals-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.nellaz-goals-grid article {
  background: #fff;
  border-radius: 16px;
  padding: 22px 18px;
}
.nellaz-goals-grid strong {
  display: block;
  color: var(--nellaz-pink);
  font-size: 13px;
  letter-spacing: .08em;
  margin-bottom: 8px;
}
.nellaz-goals-grid h3 { margin: 0 0 8px; font-size: 18px; }
.nellaz-goals-grid p { margin: 0; color: var(--nellaz-muted); font-size: 14px; line-height: 1.5; }

.nellaz-intent {
  padding: 56px 0;
  background: linear-gradient(100deg, #0F172A 0%, #3b1730 60%, #FB5FAB 140%);
  color: #fff;
}
.nellaz-intent .nellaz-kicker { color: #ffd6ea; }
.nellaz-intent h2 { color: #fff; max-width: 22ch; }
.nellaz-intent p { color: #f3d7e6; max-width: 58ch; }
.nellaz-intent .nellaz-btn-ghost {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid #fff !important;
}

/* ---- Página de menu mobile (hamburger) ---- */
.nellaz-nav-page {
  padding: 28px 0 64px;
  min-height: 70vh;
  background: #fff;
}
.nellaz-nav-page h1 { font-size: clamp(28px, 8vw, 40px); margin: 0 0 8px; }
.nellaz-nav-label {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11px;
  font-weight: 700;
  color: var(--nellaz-muted);
  margin: 28px 0 10px;
}
.nellaz-nav-list { display: flex; flex-direction: column; gap: 8px; }
.nellaz-nav-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--nellaz-blush);
  color: var(--nellaz-ink) !important;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 16px;
}
.nellaz-nav-row:hover,
.nellaz-nav-row:focus {
  background: var(--nellaz-blush-2);
  color: var(--nellaz-ink) !important;
}
.nellaz-nav-chev { color: var(--nellaz-pink); font-size: 22px; line-height: 1; }
.nellaz-nav-cta {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: stretch;
}
.nellaz-nav-cta .nellaz-btn { text-align: center; }
.nellaz-nav-back {
  text-align: center;
  color: var(--nellaz-muted);
  font-size: 14px;
  text-decoration: underline;
}
body.nellaz-mobile-nav .ast-mobile-popup-drawer { display: none !important; }
body.nellaz-mobile-nav .entry-header,
body.nellaz-mobile-nav .ast-archive-description,
body.page-id-6731 .entry-header { display: none !important; }

@media (max-width: 900px) {
  .nellaz-goals-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .nellaz-goals-grid { grid-template-columns: 1fr; }
  .nellaz-intent { padding: 40px 0; }
  .nellaz-nav-row { min-height: 52px; }
}

/* Hero com imagem só na home. Outras páginas: só texto, sem foto e sem logo. */
body:not(.home) .nellaz-hero,
.nellaz-hero-text {
  background: var(--nellaz-blush, #FCEEF5) !important;
  background-image: none !important;
  padding: 36px 0 28px !important;
}
body:not(.home) .nellaz-hero-overlay,
.nellaz-hero-text .nellaz-hero-overlay { display: none !important; }
body:not(.home) .nellaz-hero-content,
.nellaz-hero-text .nellaz-hero-content { max-width: 720px; }
body:not(.home) .nellaz-hero-content .nellaz-kicker,
.nellaz-hero-text .nellaz-kicker { color: var(--nellaz-pink, #FB5FAB) !important; }
body:not(.home) .nellaz-hero-content h1,
.nellaz-hero-text h1 { color: var(--nellaz-ink, #0F172A) !important; }
body:not(.home) .nellaz-hero-content .nellaz-lede,
.nellaz-hero-text .nellaz-lede { color: var(--nellaz-muted, #454F5E) !important; }
body:not(.home) .nellaz-hero-content .nellaz-btn-ghost,
.nellaz-hero-text .nellaz-btn-ghost {
  color: var(--nellaz-ink, #0F172A) !important;
  border-color: var(--nellaz-ink, #0F172A) !important;
  background: transparent !important;
}

/* Logo do header permanece em todas as páginas; só o hero da home tem foto. */
body:not(.home).ast-theme-transparent-header #masthead,
body:not(.home).ast-theme-transparent-header .ast-primary-header-bar,
body:not(.home).ast-theme-transparent-header .main-header-bar {
  background: #fff !important;
  position: relative !important;
  box-shadow: none;
}
body:not(.home).ast-theme-transparent-header .ast-above-header-wrap,
body:not(.home).ast-theme-transparent-header .ast-header-break-point .header-main-layout-1 {
  background: #fff !important;
}


.nellaz-hoje-card {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 20px;
  align-items: center;
  background: #fff;
  border-radius: 16px;
  padding: 16px;
}
.nellaz-hoje-card img {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 12px;
}
@media (max-width: 560px) {
  .nellaz-hoje-card { grid-template-columns: 1fr; }
  .nellaz-hoje-card img { width: 100%; height: auto; }
}

.ast-builder-social-element[href="#"],
.ast-builder-social-element[href=""] { display: none !important; }

.nellaz-fb-wrap { margin: 32px 0; }
.nellaz-fb-wrap .fb-page { max-width: 100%; }
