/*
Theme Name: NutriBioVet – Nextawards Child
Theme URI: https://nutribiovet.it/
Description: Child theme di Nextawards 1.9.5 per la homepage NutriBioVet.
Author: NutriBioVet
Template: nextawards
Version: 1.6.0
Text Domain: nutribiovet
*/

/* The parent theme remains responsible for its base layout and scripts. */
:root {
  --nbv-sage: #8ea28d;
  --nbv-sage-dark: #5e725f;
  --nbv-sage-soft: #dfe8dd;
  --nbv-cream: #f7f3ea;
  --nbv-paper: #fffdf8;
  --nbv-beige: #e9dfcf;
  --nbv-text: #273129;
  --nbv-muted: #657066;
  --nbv-line: rgba(39,49,41,.14);
  --nbv-radius: 24px;
  --nbv-shadow: 0 18px 55px rgba(49,61,51,.10);
}

html { scroll-behavior: smooth; }
body, body.custom-background.dark {
  background: var(--nbv-cream) !important;
  color: var(--nbv-text) !important;
  font-family: 'DM Sans', sans-serif !important;
}
body a { color: var(--nbv-sage-dark); }
body a:hover, body a:focus { color: var(--nbv-sage-dark); }

/* Parent Nextawards header, restyled to match the NutriBioVet visual system. */
body.home .header,
body.front-page .header {
  background: rgba(247,243,234,.96) !important;
  backdrop-filter: blur(12px);
}
body.home .header__content,
body.front-page .header__content { border-bottom: 1px solid var(--nbv-line); }
body.home .menu li a,
body.front-page .menu li a,
body.home .header__quick ul li a,
body.front-page .header__quick ul li a { color: var(--nbv-text); }
body.home .icon-hamburger span,
body.front-page .icon-hamburger span { background: var(--nbv-text); }
body.home .spacer,
body.front-page .spacer { height: 72px; }

.nbv-home { width: 100%; margin: 0 auto; }
.nbv-section { padding: 88px 0; }
.nbv-container { width: min(1180px, 94%); margin: 0 auto; }
.nbv-eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .76rem; font-weight: 700; color: var(--nbv-sage-dark); margin-bottom: 14px; }
.nbv-title { font-family: 'Playfair Display', Georgia, serif !important; color: var(--nbv-text); font-weight: 600; letter-spacing: -.025em; }
.nbv-lead { color: var(--nbv-muted); font-size: 1.08rem; line-height: 1.75; }

.nbv-hero { padding: 34px 0 70px; }
.nbv-hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 56px; align-items: center; }
.nbv-hero-copy h1 { font-size: clamp(3.1rem, 6vw, 5.8rem); line-height: .98; margin: 0 0 24px; }
.nbv-hero-copy h1 span { color: var(--nbv-sage-dark); }
.nbv-hero-copy p { max-width: 620px; }
.nbv-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.nbv-btn { display:inline-flex; align-items:center; justify-content:center; padding:14px 22px; border-radius:999px; background:var(--nbv-sage-dark); color:#fff !important; font-weight:700; border:1px solid var(--nbv-sage-dark); transition:.25s ease; }
.nbv-btn:hover { transform:translateY(-2px); background:#4f6250; color:#fff !important; }
.nbv-btn--light { background:transparent; color:var(--nbv-text) !important; border-color:var(--nbv-line); }
.nbv-btn--light:hover { background:var(--nbv-paper); }
.nbv-hero-media { position:relative; }
.nbv-hero-media img { width:100%; aspect-ratio: 4/4.35; object-fit:cover; border-radius:34px; box-shadow:var(--nbv-shadow); display:block; }
.nbv-hero-media:after { content:''; position:absolute; width:110px; height:110px; border-radius:50%; background:var(--nbv-beige); right:-24px; bottom:-24px; z-index:-1; }

.nbv-values { padding: 28px 0 96px; }
.nbv-value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.nbv-value { background:var(--nbv-paper); border:1px solid var(--nbv-line); border-radius:var(--nbv-radius); padding:30px; box-shadow:0 8px 35px rgba(49,61,51,.045); }
.nbv-value h3 { font-family:'Playfair Display',Georgia,serif !important; font-size:1.45rem; margin:0 0 10px; }
.nbv-value p { color:var(--nbv-muted); line-height:1.65; }

.nbv-section--sage { background:var(--nbv-sage-soft); }
.nbv-section-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:34px; }
.nbv-section-head h2 { font-size:clamp(2.4rem,4vw,4rem); margin:0; }
.nbv-section-head p { max-width:520px; margin:0; color:var(--nbv-muted); }
.nbv-service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.nbv-service { background:var(--nbv-paper); border-radius:22px; overflow:hidden; border:1px solid var(--nbv-line); }
.nbv-service img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.nbv-service-body { padding:22px; }
.nbv-service h3 { font-family:'Playfair Display',Georgia,serif !important; font-size:1.3rem; margin:0 0 9px; }
.nbv-service p { color:var(--nbv-muted); line-height:1.55; margin:0; }

.nbv-approach-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
.nbv-approach-media img { width:100%; aspect-ratio: 1/1; object-fit:cover; border-radius:32px; display:block; }
.nbv-approach-copy h2 { font-size:clamp(2.5rem,4vw,4.2rem); margin:0 0 22px; }
.nbv-checks { list-style:none; padding:0; margin:28px 0; }
.nbv-checks li { position:relative; padding-left:30px; margin:0 0 13px; color:var(--nbv-text); }
.nbv-checks li:before { content:'✓'; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%; background:var(--nbv-sage); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.75rem; font-weight:700; }

.nbv-about { background:var(--nbv-paper); }
.nbv-about-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.nbv-about-copy { max-width:780px; }
.nbv-about-copy h2 { font-size:clamp(2.5rem,4vw,4rem); margin:0 0 22px; }
.nbv-about-copy p { color:var(--nbv-muted); line-height:1.8; }

.nbv-articles { background:var(--nbv-cream); }
.nbv-article-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.nbv-article { background:var(--nbv-paper); border-radius:22px; overflow:hidden; border:1px solid var(--nbv-line); height:100%; }
.nbv-article img { width:100%; aspect-ratio:1.35/1; object-fit:cover; display:block; }
.nbv-article-body { padding:20px; }
.nbv-article h3 { font-family:'Playfair Display',Georgia,serif !important; font-size:1.28rem; line-height:1.2; margin:0; }
.nbv-article h3 a { color:var(--nbv-text); }
.nbv-blog-link { margin-top:30px; text-align:center; }

.nbv-cta { padding:100px 0; background:var(--nbv-sage-dark); color:#fff; text-align:center; }
.nbv-cta h2 { font-family:'Playfair Display',Georgia,serif !important; color:#fff; font-size:clamp(2.5rem,4vw,4.4rem); margin:0 auto 18px; }
.nbv-cta p { max-width:650px; margin:0 auto 28px; color:rgba(255,255,255,.82); }
.nbv-cta .nbv-btn { background:#fff; color:var(--nbv-sage-dark) !important; border-color:#fff; }

.nbv-footer-note { text-align:center; color:var(--nbv-muted); font-size:.9rem; padding:22px 0 0; }
body.home .footer-content,
body.front-page .footer-content { background:var(--nbv-cream); }

@media (max-width: 980px) {
  .nbv-hero-grid,.nbv-approach-grid,.nbv-about-grid { grid-template-columns:1fr; gap:36px; }
  .nbv-value-grid { grid-template-columns:1fr; }
  .nbv-service-grid,.nbv-article-grid { grid-template-columns:repeat(2,1fr); }
  .nbv-section-head { display:block; }
  .nbv-section-head p { margin-top:16px; }
}
@media (max-width: 620px) {
  body.home .spacer, body.front-page .spacer { height:60px; }
  .nbv-section { padding:64px 0; }
  .nbv-hero { padding-top:18px; }
  .nbv-service-grid,.nbv-article-grid { grid-template-columns:1fr; }
  .nbv-hero-copy h1 { font-size:3.1rem; }
  .nbv-hero-media:after { width:70px; height:70px; right:-10px; bottom:-10px; }
}


/* -------------------------------------------------------------------------
   NutriBioVet global visual system
   Applied to all pages, not only the homepage.
   ------------------------------------------------------------------------- */

/* Nextawards global design tokens */
:root {
  --site-bg: var(--nbv-cream);
  --site-text-color: var(--nbv-text);
  --link-color: var(--nbv-sage-dark);
  --link-color-hover: var(--nbv-sage-dark);
}

/* Global page background and typography */
html, body,
body.custom-background,
body.custom-background.dark {
  background: var(--nbv-cream) !important;
  color: var(--nbv-text) !important;
  font-family: 'DM Sans', sans-serif !important;
}

body h1, body h2, body h3, body h4, body h5, body h6 {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--nbv-text) !important;
}

body p, body li, body label, body input, body textarea, body select {
  color: var(--nbv-text);
}

body a {
  color: var(--nbv-sage-dark);
}

body a:hover,
body a:focus {
  color: var(--nbv-sage-dark);
}

/* Header: same NutriBioVet treatment on every page */
body .header {
  background: rgba(247,243,234,.97) !important;
  color: var(--nbv-text) !important;
  backdrop-filter: blur(12px);
}

body .header__content {
  border-bottom: 1px solid var(--nbv-line) !important;
}

body .header .menu li a,
body .header .header__quick ul li a,
body .header a {
  color: var(--nbv-text) !important;
}

body .header .icon-hamburger span {
  background: var(--nbv-text) !important;
}

/* Main/content areas used by the parent theme */
body main,
body .site-main,
body .content-area,
body .entry-content,
body .page-content {
  background: var(--nbv-cream);
  color: var(--nbv-text);
}

/* Common Nextawards page containers */
body .container,
body .content,
body .page-content,
body .entry-content {
  color: var(--nbv-text);
}

body hr {
  border-color: var(--nbv-line) !important;
}

/* Images keep the premium rounded visual language where appropriate */
body .entry-content img,
body .page-content img {
  border-radius: 18px;
}

/* Footer: same palette throughout the site */
body .footer,
body .footer-content {
  background: var(--nbv-cream) !important;
  color: var(--nbv-text) !important;
}

body .footer a,
body .footer-content a {
  color: var(--nbv-sage-dark) !important;
}

body .footer h1,
body .footer h2,
body .footer h3,
body .footer h4,
body .footer h5,
body .footer h6 {
  color: var(--nbv-text) !important;
}

/* Generic buttons from Nextawards / plugins */
body .wp-block-button__link,
body .wp-element-button,
body button,
body input[type="submit"],
body input[type="button"] {
  border-radius: 999px;
}

body .wp-block-button__link {
  background: var(--nbv-sage-dark);
  color: #fff !important;
}

body .wp-block-button__link:hover {
  background: #4f6250;
  color: #fff !important;
}

/* WordPress search/forms */
body input,
body textarea,
body select {
  background: var(--nbv-paper);
  border: 1px solid var(--nbv-line);
  color: var(--nbv-text);
}

body input:focus,
body textarea:focus,
body select:focus {
  border-color: var(--nbv-sage-dark);
  outline-color: var(--nbv-sage-dark);
}

/* Preserve intentionally dark NutriBioVet CTA sections */
.nbv-cta {
  background: var(--nbv-sage-dark) !important;
}


/* ==========================================================================
   NutriBioVet v1.2 — GLOBAL SITE SKIN
   The parent Nextawards theme uses classic PHP templates for pages/posts and
   its own CSS variables. These explicit overrides make the visual identity
   consistent outside the custom homepage too.
   ========================================================================== */

:root {
  --site-bg: #f7f3ea !important;
  --site-text-color: #273129 !important;
  --link-color: #5e725f !important;
  --link-color-hover: #4f6250 !important;
}

/* All inner pages, blog archives and single posts */
html,
body,
body.custom-background,
body.custom-background.dark {
  background: #f7f3ea !important;
  background-color: #f7f3ea !important;
  color: #273129 !important;
  font-family: 'DM Sans', sans-serif !important;
}

body .wrapper {
  background: #f7f3ea !important;
  color: #273129 !important;
}

body #content,
body main#content,
body .text-content,
body article,
body .entry-content,
body .page-content {
  color: #273129;
}

/* Parent theme's default typography */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #273129 !important;
}

body p,
body li {
  color: #273129;
}

body a {
  color: #5e725f;
}

body a:hover,
body a:focus {
  color: #4f6250;
}

/* Header on every page */
body .header {
  background: rgba(247,243,234,.98) !important;
  background-color: #f7f3ea !important;
  color: #273129 !important;
  backdrop-filter: blur(12px);
}

body .header__content {
  border-bottom: 1px solid rgba(39,49,41,.14) !important;
}

body .header .header__logo,
body .header .header__logo-img,
body .header nav a,
body .header .menu li a,
body .header__quick ul li a {
  color: #273129 !important;
}

body .header .icon-hamburger span {
  background: #273129 !important;
}

/* Remove the grey/dark visual system from Nextawards page containers */
body .grid,
body .grid--center,
body .col-100,
body .col-70,
body .tab-100 {
  color: #273129;
}

/* Cards/articles */
body article {
  background: transparent;
}

body article img {
  border-radius: 22px;
}

/* Forms */
body input[type="text"],
body input[type="email"],
body input[type="url"],
body input[type="search"],
body input[type="password"],
body textarea,
body select {
  background: #fffdf8 !important;
  color: #273129 !important;
  border: 1px solid rgba(39,49,41,.18) !important;
  border-radius: 12px !important;
}

body input[type="submit"],
body button[type="submit"],
body .wp-block-button__link {
  background: #5e725f !important;
  color: #fff !important;
  border-radius: 999px !important;
  border: 0 !important;
}

/* Footer */
body .footer {
  background: #f7f3ea !important;
  color: #273129 !important;
}

body .footer a {
  color: #5e725f !important;
}

/* Explicit WordPress block-theme support if a block template is used */
body .wp-site-blocks,
body .wp-block-template-part {
  background: #f7f3ea;
  color: #273129;
}

body .wp-block-group.has-background {
  color: #273129;
}

/* Avoid the parent theme's grey body bleed on the blog */
body.blog,
body.archive,
body.single,
body.page,
body.search {
  background-color: #f7f3ea !important;
}

/* Preserve intentionally dark NutriBioVet sections */
.nbv-cta,
.nbv-section--dark {
  background: #5e725f !important;
  color: #fff !important;
}


/* v1.5: hard override for Nextawards page/post block content */\nbody #content .text-content,\nbody #content .text-content p,\nbody #content .text-content li,\nbody #content .text-content span,\nbody #content .text-content strong,\nbody #content .text-content em { color:#273129 !important; }\nbody #content .text-content a { color:#5e725f !important; }\nbody #content .has-background,\nbody #content .wp-block-group,\nbody #content .wp-block-cover,\nbody #content .wp-block-columns,\nbody #content .wp-block-column { background-color:#f7f3ea !important; }\n

/* v1.6: final inner-page palette overrides, kept in the stylesheet as a second line of defense. */
body #content,
body #content > div,
body #content article,
body #content .text-content,
body #content .entry-content,
body #content .page-content { background-color: var(--nbv-cream) !important; color: var(--nbv-text) !important; }
body #content .text-content p,
body #content .text-content li,
body #content .entry-content p,
body #content .entry-content li,
body #content .page-content p,
body #content .page-content li { color: var(--nbv-text) !important; }
body #content .text-content a,
body #content .entry-content a,
body #content .page-content a { color: var(--nbv-sage-dark) !important; }
body #content .text-content .has-link-color-background-color,
body #content .entry-content .has-link-color-background-color,
body #content .page-content .has-link-color-background-color { background-color: var(--nbv-sage-dark) !important; }
body #content .text-content .has-light-gray-background-color,
body #content .text-content .has-medium-gray-background-color,
body #content .text-content .has-dark-gray-background-color,
body #content .entry-content .has-light-gray-background-color,
body #content .entry-content .has-medium-gray-background-color,
body #content .entry-content .has-dark-gray-background-color,
body #content .page-content .has-light-gray-background-color,
body #content .page-content .has-medium-gray-background-color,
body #content .page-content .has-dark-gray-background-color { background-color: var(--nbv-cream) !important; }

/* v1.7: ensure CTA/button labels stay white on sage backgrounds. */
body #content .wp-block-button__link,
body #content .wp-element-button,
body #content button,
body #content input[type="submit"],
body #content input[type="button"],
body #content .nbv-cta a,
body #content .nbv-section--dark a {
  color: #ffffff !important;
}

body #content .wp-block-button__link span,
body #content .wp-element-button span,
body #content .nbv-cta a span,
body #content .nbv-section--dark a span {
  color: #ffffff !important;
}

body #content .wp-block-button__link:hover,
body #content .wp-element-button:hover,
body #content .nbv-cta a:hover,
body #content .nbv-section--dark a:hover {
  color: #ffffff !important;
}
