/*
Theme Name: AD3impulsarsoluciones
Theme URI: https://ad3impuslarsoluciones.com/
Author: AD3 / Graficon
Description: Tema independiente de WordPress para AD3 Impulsar Soluciones. Catálogo nativo sin WooCommerce, ADA Naturals y Royal Prestige separados, Tienda completa, SEO técnico y edición con Gutenberg o Elementor.
Version: 8.1.1
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: ad3impulsarsoluciones
License: GPL-2.0-or-later
*/

:root {
  --ad3-dark-green: #0B3D2E;
  --ad3-light-green: #78B85A;
  --ad3-orange: #F28C28;
  --ad3-gold: var(--ad3-orange);
  --ad3-cream: #F7F5ED;
  --ad3-surface: #FFFFFF;
  --ad3-text: #1D2A24;
  --ad3-muted: #65756D;
  --ad3-border: #DDE7E1;
  --ad3-shadow: 0 18px 50px rgba(11,61,46,.11);
  --ad3-radius: 22px;
  --ad3-container: 1180px;
  --ad3-primary: var(--ad3-dark-green);
  --ad3-accent: var(--ad3-orange);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fff;
  color: var(--ad3-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--ad3-dark-green); text-underline-offset: 3px; }
a:hover { color: var(--ad3-gold); }
.ad3-container { width: min(calc(100% - 40px), var(--ad3-container)); margin-inline: auto; }

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; z-index: 100000; background:#fff; color:#111; padding:10px; }

/* Header */
.ad3-site-header { position: sticky; top: 0; z-index: 999; background: rgba(11,61,46,.97); border-bottom: 1px solid rgba(255,255,255,.10); backdrop-filter: blur(14px); transition: box-shadow .25s ease; }
.ad3-site-header.is-scrolled { box-shadow: 0 12px 34px rgba(7,42,31,.22); }
.ad3-header-inner { min-height: 82px; display: flex; align-items: center; gap: 24px; }
.ad3-brand { display: flex; align-items: center; min-width: 180px; }
.ad3-brand img, .custom-logo { width: auto; max-height: 58px; }
.ad3-site-title { color: #fff; text-decoration: none; font-size: 1.08rem; line-height: 1.05; font-weight: 850; }
.ad3-menu-toggle { display: none; margin-left: auto; border: 1px solid rgba(255,255,255,.25); background: transparent; color:#fff; border-radius: 12px; padding: 10px 13px; font-weight: 750; }
.ad3-primary-nav { margin-left: auto; }
.ad3-primary-nav ul { list-style: none; display: flex; align-items: center; gap: 3px; margin: 0; padding: 0; }
.ad3-primary-nav li { position: relative; }
.ad3-primary-nav a { display: block; padding: 12px 10px; color: rgba(255,255,255,.9); text-decoration: none; font-size: .93rem; font-weight: 680; border-radius: 10px; transition: .2s ease; }
.ad3-primary-nav a:hover, .ad3-primary-nav .current-menu-item > a, .ad3-primary-nav .current_page_item > a { color: #fff; background: rgba(120,184,90,.20); }
.ad3-primary-nav .sub-menu { display: none; position: absolute; top: calc(100% + 8px); left: 0; min-width: 220px; background: #fff; padding: 10px; border: 1px solid var(--ad3-border); border-radius: 14px; box-shadow: var(--ad3-shadow); }
.ad3-primary-nav li:hover > .sub-menu, .ad3-primary-nav li:focus-within > .sub-menu { display: block; }
.ad3-primary-nav .sub-menu a { color: var(--ad3-text); white-space: nowrap; }
.ad3-primary-nav .sub-menu a:hover { color: var(--ad3-dark-green); background: #F1F7F0; }

/* Imagen principal administrable del Inicio */
.ad3-main-visual { position: relative; width: 100%; overflow: hidden; background: var(--ad3-light-green); }
.ad3-main-visual__image { display:block; width:100%; height:clamp(320px,48vw,700px); object-fit:cover; object-position:center; }
.ad3-main-visual__placeholder { min-height:clamp(300px,44vw,620px); display:flex; align-items:center; justify-content:center; padding:48px 20px; text-align:center; background:linear-gradient(135deg,var(--ad3-dark-green),var(--ad3-light-green)); color:#fff; }
.ad3-main-visual__placeholder strong { display:block; font-size:clamp(1.7rem,4vw,3.4rem); line-height:1.05; }
.ad3-main-visual__placeholder span { display:block; margin-top:12px; opacity:.86; }

/* Hero de páginas */
.ad3-page-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 85% 18%, rgba(199,162,70,.34), transparent 26%), radial-gradient(circle at 70% 110%, rgba(120,184,90,.27), transparent 34%), linear-gradient(135deg, var(--ad3-dark-green), #062B20); color: #fff; padding: clamp(58px,8vw,104px) 0; }
.ad3-page-hero::after { content:""; position:absolute; right:-70px; bottom:-120px; width:320px; height:320px; border:1px solid rgba(255,255,255,.11); border-radius:50%; }
.ad3-page-hero-inner { position: relative; z-index: 1; }
.ad3-kicker { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 14px; color: #EAD89E; font-size: .78rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.ad3-kicker::before { content:""; width: 28px; height: 2px; background: var(--ad3-gold); }
.ad3-page-title { max-width: 900px; margin: 0; color: #fff; font-size: clamp(2.35rem,5.5vw,5rem); line-height: .98; letter-spacing: -.045em; font-weight: 870; }

/* Contenido */
.ad3-content-wrap { padding: clamp(42px,6vw,82px) 0 90px; }
.ad3-content { min-width: 0; }
.ad3-content > *:first-child { margin-top: 0; }
.ad3-content h2, .ad3-content h3, .ad3-content h4 { color: var(--ad3-dark-green); line-height: 1.15; letter-spacing: -.025em; }
.ad3-content h2 { font-size: clamp(1.75rem,3.2vw,3rem); margin-top: 1.35em; }
.ad3-content h3 { font-size: clamp(1.28rem,2.2vw,1.8rem); }
.ad3-content p { color: #46584F; }
.ad3-content .wp-block-group.alignfull, .ad3-content .wp-block-cover.alignfull { width: 100vw; margin-left: calc(50% - 50vw); }
.ad3-content .alignwide { width: min(100%, 1180px); margin-left: auto; margin-right: auto; }
.ad3-content .wp-block-image img, .ad3-content .wp-block-gallery img { border-radius: 16px; }
.ad3-elementor-content { width:100%; padding:0; }

/* Gutenberg / secciones iniciales */
.ad3-hero-home { position: relative; overflow: hidden; min-height: 680px; display: flex; flex-direction: column; justify-content: center; padding: clamp(90px,12vw,150px) max(20px,calc((100vw - 1180px)/2)); color:#fff; background: radial-gradient(circle at 82% 18%, rgba(199,162,70,.40), transparent 25%), radial-gradient(circle at 70% 82%, rgba(120,184,90,.25), transparent 30%), linear-gradient(135deg, #0B3D2E 0%, #0D513B 52%, #082E23 100%); }
.ad3-hero-home::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg,rgba(6,35,26,.10),transparent 55%); pointer-events:none; }
.ad3-hero-home > * { position:relative; z-index:1; max-width:900px; margin-left:0 !important; margin-right:0 !important; }
.ad3-hero-home h1 { margin:.15em 0 .35em; color:#fff; font-size:clamp(3rem,7vw,6.5rem) !important; line-height:.94; letter-spacing:-.055em; }
.ad3-hero-home p { color:rgba(255,255,255,.86); max-width:760px; }
.ad3-eyebrow { color:#EBD99D !important; font-weight:850; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; }
.ad3-section { padding: clamp(58px,7vw,95px) 20px; }
.ad3-section > h2:first-child { margin-top:0; }
.ad3-brand-card, .ad3-shop-category { height:100%; padding: clamp(30px,4vw,50px); border-radius:var(--ad3-radius); border:1px solid var(--ad3-border); box-shadow:0 12px 35px rgba(11,61,46,.07); }
.ad3-brand-card--ada, .ad3-shop-category--ada { background: linear-gradient(145deg,#F4F9F1,#E9F4E4); border-color:#CFE1C7; }
.ad3-brand-card--ada h3, .ad3-shop-category--ada h3 { color:var(--ad3-dark-green); }
.ad3-brand-card--royal, .ad3-shop-category--royal { background: linear-gradient(145deg,#173E31,#0B3D2E); border-color:rgba(199,162,70,.34); color:#fff; }
.ad3-brand-card--royal h3, .ad3-brand-card--royal p, .ad3-shop-category--royal h3, .ad3-shop-category--royal p { color:#fff; }
.ad3-store-band { padding: clamp(60px,8vw,100px) 20px; background: linear-gradient(120deg,var(--ad3-gold),#E0C36E); color:#17352B; }
.ad3-store-band h2 { margin-top:0; color:var(--ad3-dark-green); font-size:clamp(2.2rem,4vw,4.2rem); }
.ad3-cta-band { padding: clamp(60px,8vw,100px) 20px; background: linear-gradient(135deg,var(--ad3-dark-green),#082F24); color:#fff; }
.ad3-cta-band h2, .ad3-cta-band p { color:#fff; }
.ad3-inner-intro { padding: clamp(42px,6vw,75px) 28px; margin-bottom: clamp(36px,5vw,65px); border-radius:var(--ad3-radius); }
.ad3-intro-ada { background:linear-gradient(135deg,#EFF8EA,#DDEFD3); border:1px solid #CBE1C1; }
.ad3-intro-royal { background:linear-gradient(135deg,#123F30,#082F24); border:1px solid rgba(199,162,70,.34); color:#fff; }
.ad3-intro-royal h2, .ad3-intro-royal p { color:#fff; }
.ad3-feature-grid { margin:0 0 10px; }
.ad3-feature-card { height:100%; padding:28px; background:#fff; border:1px solid var(--ad3-border); border-top:4px solid var(--ad3-light-green); border-radius:18px; box-shadow:0 12px 28px rgba(11,61,46,.06); }
.ad3-feature-card h3 { margin-top:0; }
.ad3-form-placeholder { padding:32px; background:var(--ad3-cream); border:1px dashed #C9D5CE; border-radius:18px; }

/* Entradas */
.wp-block-post-template { gap:26px !important; }
.ad3-post-card { height:100%; overflow:hidden; padding:0 0 24px; background:#fff; border:1px solid var(--ad3-border); border-radius:18px; box-shadow:0 10px 30px rgba(11,61,46,.07); }
.ad3-post-card .wp-block-post-featured-image { margin:0 0 18px; }
.ad3-post-card .wp-block-post-featured-image img { border-radius:0; }
.ad3-post-card > :not(.wp-block-post-featured-image) { margin-left:22px; margin-right:22px; }
.ad3-post-card .wp-block-post-date { color:var(--ad3-gold); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.ad3-post-card .wp-block-post-title a { color:var(--ad3-dark-green); text-decoration:none; }

/* Botones */
.wp-block-button__link, .wp-element-button, button, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border:0; border-radius:999px; padding:.85em 1.45em; background:var(--ad3-dark-green); color:#fff; font-weight:780; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.wp-block-button__link:hover, .wp-element-button:hover, button:hover, input[type="submit"]:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { color:#fff; background:#0E4D39; transform:translateY(-1px); box-shadow:0 10px 24px rgba(11,61,46,.18); }
.wp-block-button.is-style-outline .wp-block-button__link { background:transparent; border:2px solid currentColor; color:var(--ad3-dark-green); }
.ad3-hero-home .wp-block-button.is-style-outline .wp-block-button__link, .ad3-cta-band .wp-block-button.is-style-outline .wp-block-button__link { color:#fff; }
.ad3-store-band .wp-block-button__link { background:var(--ad3-dark-green); }
.ad3-brand-card--royal .wp-block-button__link, .ad3-shop-category--royal .wp-block-button__link { background:var(--ad3-gold); color:#17352B; }

/* Formularios */
.ad3-content input[type="text"], .ad3-content input[type="email"], .ad3-content input[type="tel"], .ad3-content input[type="number"], .ad3-content input[type="url"], .ad3-content select, .ad3-content textarea, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { width:100%; border:1px solid #D6E0DA; border-radius:12px; background:#fff; color:var(--ad3-text); padding:13px 14px; outline:none; transition:border .2s, box-shadow .2s; }
.ad3-content input:focus, .ad3-content select:focus, .ad3-content textarea:focus { border-color:var(--ad3-light-green); box-shadow:0 0 0 4px rgba(120,184,90,.16); }

/* WooCommerce */
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto !important; margin:0 !important; float:none !important; background:#fff; border:1px solid var(--ad3-border); border-radius:18px; padding:14px 14px 20px; box-shadow:0 10px 28px rgba(11,61,46,.06); transition:transform .22s ease, box-shadow .22s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-4px); box-shadow:var(--ad3-shadow); }
.woocommerce ul.products li.product a img { margin-bottom:14px; border-radius:13px; aspect-ratio:1/1; object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--ad3-dark-green); font-size:1.04rem; line-height:1.3; }
.woocommerce ul.products li.product .price { color:var(--ad3-dark-green); font-size:1.02rem; font-weight:850; }
.woocommerce span.onsale { min-width:52px; min-height:52px; display:grid; place-items:center; background:var(--ad3-light-green); color:#fff; }
.woocommerce div.product div.images img { border-radius:18px; }
.woocommerce-message, .woocommerce-info { border-top-color:var(--ad3-gold); border-radius:12px; }
.woocommerce-message::before, .woocommerce-info::before { color:var(--ad3-gold); }

/* Footer */
.ad3-site-footer { margin-top:0; background:#062B20; color:#C8D6D0; }
.ad3-footer-main { display:grid; grid-template-columns:minmax(240px,1.1fr) 2fr; gap:50px; padding:58px 0 42px; }
.ad3-footer-brand { color:#fff; }
.ad3-footer-brand img { max-height:62px; width:auto; margin-bottom:15px; }
.ad3-footer-brand strong { display:block; color:#fff; font-size:1.1rem; }
.ad3-footer-brand a { color:#E8F0EC; }
.ad3-footer-nav ul { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px 20px; padding:0; margin:0; }
.ad3-footer-nav a { color:#D7E3DE; text-decoration:none; }
.ad3-footer-nav a:hover { color:#E9D89A; }
.ad3-footer-bottom { border-top:1px solid rgba(255,255,255,.10); padding:18px 0; font-size:.86rem; color:#94AAA1; }
.ad3-whatsapp { position:fixed; right:22px; bottom:22px; z-index:998; display:inline-flex; align-items:center; gap:8px; padding:12px 16px; border-radius:999px; background:#25D366; color:#fff; text-decoration:none; font-weight:800; box-shadow:0 12px 30px rgba(0,0,0,.16); }
.ad3-whatsapp:hover { color:#fff; transform:translateY(-2px); }

/* Single, archives, search */
.ad3-entry-list { display:grid; gap:26px; }
.ad3-empty { text-align:center; padding:90px 0; }
.ad3-empty h1 { font-size:clamp(2.5rem,7vw,5.5rem); margin:0 0 15px; }

@media (max-width: 1040px) {
  .ad3-primary-nav a { padding:10px 7px; font-size:.88rem; }
  .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .ad3-header-inner { min-height:72px; }
  .ad3-menu-toggle { display:inline-flex; }
  .ad3-primary-nav { position:absolute; left:20px; right:20px; top:calc(100% + 8px); margin:0; padding:10px; border:1px solid var(--ad3-border); border-radius:16px; background:#fff; box-shadow:var(--ad3-shadow); display:none; }
  .ad3-primary-nav.is-open { display:block; }
  .ad3-primary-nav ul { display:block; }
  .ad3-primary-nav a { color:var(--ad3-text); padding:12px; }
  .ad3-primary-nav .sub-menu { display:block; position:static; min-width:0; box-shadow:none; border:0; margin:0 0 0 14px; padding:0; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ad3-footer-main { grid-template-columns:1fr; }
  .ad3-hero-home { min-height:600px; }
}
@media (max-width: 640px) {
  body { font-size:16px; }
  .ad3-container { width:min(calc(100% - 28px),var(--ad3-container)); }
  .ad3-site-title { font-size:.95rem; }
  .ad3-page-hero { padding:54px 0; }
  .ad3-hero-home { min-height:560px; padding-left:20px; padding-right:20px; }
  .ad3-hero-home h1 { font-size:clamp(2.6rem,14vw,4.6rem) !important; }
  .woocommerce ul.products { grid-template-columns:1fr; }
  .ad3-footer-nav ul { grid-template-columns:1fr 1fr; }
  .ad3-whatsapp span { display:none; }
  .ad3-whatsapp { width:50px; height:50px; justify-content:center; padding:0; }
}


/* AD3 v4 · Catálogos controlados */
.ad3-controlled-catalog { margin-top: clamp(38px,5vw,70px); padding-top: clamp(30px,4vw,48px); border-top:1px solid var(--ad3-border); }
.ad3-controlled-catalog__head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:28px; }
.ad3-controlled-catalog__head h2 { margin:0; }
.ad3-controlled-catalog__head p { margin:6px 0 0; color:var(--ad3-muted); }
.ad3-shop-editable { margin-bottom:42px; }
.ad3-shop-editable:empty { display:none; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom:24px; }
.woocommerce nav.woocommerce-pagination { margin-top:38px; }
.woocommerce nav.woocommerce-pagination ul { border:0; }
.woocommerce nav.woocommerce-pagination ul li { border:0; margin:3px; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { min-width:42px; border-radius:999px; background:#f1f6f3; color:var(--ad3-dark-green); }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--ad3-dark-green); color:#fff; }

@media (max-width:640px){
  .ad3-controlled-catalog__head { display:block; }
}

/* AD3 v5 · Catálogo nativo WordPress (sin WooCommerce) */
.ad3-native-catalog { margin-top:clamp(38px,5vw,70px); padding-top:clamp(30px,4vw,48px); border-top:1px solid var(--ad3-border); }
.ad3-catalog-heading { margin-bottom:28px; }
.ad3-catalog-heading h2 { margin:0 0 7px; color:var(--ad3-dark-green); }
.ad3-catalog-heading p { margin:0; color:var(--ad3-muted); }
.ad3-products-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.ad3-product-card { min-width:0; background:#fff; border:1px solid var(--ad3-border); border-radius:18px; overflow:hidden; box-shadow:0 10px 28px rgba(11,61,46,.07); transition:transform .22s ease, box-shadow .22s ease; }
.ad3-product-card:hover { transform:translateY(-4px); box-shadow:var(--ad3-shadow); }
.ad3-product-card__image { display:block; aspect-ratio:1/1; overflow:hidden; background:#F4F7F5; }
.ad3-product-card__image img { width:100%; height:100%; display:block; object-fit:cover; border-radius:0; }
.ad3-product-placeholder { width:100%; height:100%; min-height:220px; display:grid; place-items:center; background:linear-gradient(135deg,#EDF4EF,#D9E9DE); color:var(--ad3-dark-green); font-size:2rem; font-weight:900; letter-spacing:.06em; }
.ad3-product-placeholder--large { min-height:480px; border-radius:20px; }
.ad3-product-card__body { padding:20px; }
.ad3-product-line { display:inline-block; margin-bottom:8px; color:var(--ad3-gold); font-size:.76rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.ad3-product-card h3 { margin:0 0 10px; font-size:1.12rem; line-height:1.3; }
.ad3-product-card h3 a { color:var(--ad3-dark-green); text-decoration:none; }
.ad3-product-price { margin:7px 0; color:var(--ad3-dark-green) !important; font-size:1.08rem; font-weight:900; }
.ad3-product-excerpt { margin:8px 0 18px; color:var(--ad3-muted) !important; font-size:.92rem; }
.ad3-product-button, .ad3-product-contact { display:inline-flex; justify-content:center; align-items:center; min-height:44px; border-radius:999px; padding:10px 18px; background:var(--ad3-dark-green); color:#fff; text-decoration:none; font-weight:800; }
.ad3-product-button:hover, .ad3-product-contact:hover { color:#fff; background:#0E4D39; }
.ad3-product-pagination { display:flex; flex-wrap:wrap; gap:7px; justify-content:center; margin-top:38px; }
.ad3-product-pagination .page-numbers { min-width:42px; min-height:42px; display:grid; place-items:center; padding:7px 12px; border-radius:999px; background:#F0F5F2; color:var(--ad3-dark-green); text-decoration:none; }
.ad3-product-pagination .current { background:var(--ad3-dark-green); color:#fff; }
.ad3-empty-products { padding:36px; text-align:center; background:var(--ad3-cream); border:1px dashed #C7D5CD; border-radius:18px; color:var(--ad3-muted); }

.ad3-product-detail__top { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); gap:clamp(34px,6vw,74px); align-items:start; }
.ad3-product-main-image { width:100%; height:auto; display:block; border-radius:20px; background:#F5F7F5; }
.ad3-product-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:12px; }
.ad3-product-gallery img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; }
.ad3-product-detail__summary { position:sticky; top:112px; padding:clamp(24px,4vw,38px); border:1px solid var(--ad3-border); border-radius:22px; background:#fff; box-shadow:0 14px 38px rgba(11,61,46,.08); }
.ad3-product-detail__summary h1 { margin:.15em 0 .35em; color:var(--ad3-dark-green); font-size:clamp(2rem,4vw,3.6rem); line-height:1; }
.ad3-product-reference { color:var(--ad3-muted); font-size:.9rem; }
.ad3-product-price--large { font-size:1.5rem; }
.ad3-product-lead { color:#46584F; }
.ad3-product-contact { width:100%; margin-top:14px; }
.ad3-product-detail__content { margin-top:clamp(42px,7vw,78px); }

@media (max-width:1040px){.ad3-products-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:900px){.ad3-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.ad3-product-detail__top{grid-template-columns:1fr}.ad3-product-detail__summary{position:static}.ad3-product-gallery{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:640px){.ad3-products-grid{grid-template-columns:1fr}.ad3-product-gallery{grid-template-columns:repeat(3,minmax(0,1fr));}.ad3-product-placeholder--large{min-height:320px;}}

/* v7 · precios promocionales recuperados */
.ad3-product-old-price{margin:.15rem 0;color:var(--ad3-muted);text-decoration:line-through;font-size:.95rem}.ad3-product-old-price--large{font-size:1.08rem;margin-bottom:.15rem}.ad3-restore-status{padding:12px 14px;border-left:4px solid #2271b1;background:#fff;margin:15px 0}.ad3-restore-status.is-success{border-color:#00a32a}.ad3-restore-status.is-warning{border-color:#dba617}

/* AD3 v7.4 · Segunda imagen, formulario y redes */
.ad3-bottom-visual { width:100%; overflow:hidden; background:var(--ad3-cream); }
.ad3-bottom-visual__image { display:block; width:100%; height:auto; max-height:720px; object-fit:cover; }
.ad3-contact-form-wrap { margin-top:32px; padding:clamp(24px,4vw,42px); border:1px solid var(--ad3-border); border-radius:var(--ad3-radius); background:#fff; box-shadow:0 12px 34px rgba(11,61,46,.07); }
.ad3-contact-form label { display:block; margin-bottom:7px; color:var(--ad3-dark-green); font-weight:750; }
.ad3-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; }
.ad3-contact-form p { margin:0 0 20px; }
.ad3-contact-form textarea { resize:vertical; min-height:170px; }
.ad3-form-notice { margin-bottom:22px; padding:14px 16px; border-radius:12px; font-weight:700; }
.ad3-form-notice--success { background:#EDF8E8; border:1px solid #BFDDB2; color:#24541F; }
.ad3-form-notice--error { background:#FFF1EE; border:1px solid #F3C1B6; color:#7E2D1D; }
.ad3-hp { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.ad3-social-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.ad3-social-links a { display:inline-flex; align-items:center; min-height:40px; padding:8px 13px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#fff; text-decoration:none; font-size:.9rem; font-weight:750; }
.ad3-social-links a:hover { background:rgba(255,255,255,.10); color:#fff; }
@media (max-width:640px){ .ad3-form-grid{grid-template-columns:1fr;} }


/* AD3 v7.5 · Descripciones y ficha de producto más clara */
.ad3-product-detail__content > h2:first-child { margin-top:0; color:var(--ad3-dark-green); }
.ad3-product-lead p:first-child { margin-top:0; }
.ad3-product-lead p:last-child { margin-bottom:0; }

/* AD3 v7.6 · Identidad visual naranja + verde claro */
:root{
  --ad3-light-surface:#F2F8EF;
  --ad3-light-surface-strong:#E8F3E2;
}

/* Botones y llamadas a la acción */
.wp-block-button__link,
.wp-element-button,
button:not(.ad3-menu-toggle),
input[type="submit"],
input[type="button"],
input[type="reset"],
.ad3-product-button,
.ad3-product-contact,
.ad3-store-band .wp-block-button__link,
.ad3-brand-card--royal .wp-block-button__link,
.ad3-shop-category--royal .wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background:var(--ad3-orange) !important;
  color:#fff !important;
  border-color:var(--ad3-orange) !important;
  box-shadow:0 8px 20px rgba(242,140,40,.18);
}
.wp-block-button__link:hover,
.wp-element-button:hover,
button:not(.ad3-menu-toggle):hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
.ad3-product-button:hover,
.ad3-product-contact:hover,
.ad3-store-band .wp-block-button__link:hover,
.ad3-brand-card--royal .wp-block-button__link:hover,
.ad3-shop-category--royal .wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background:var(--ad3-dark-green) !important;
  border-color:var(--ad3-dark-green) !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(11,61,46,.18);
}

.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent !important;
  color:var(--ad3-orange) !important;
  border:2px solid var(--ad3-orange) !important;
  box-shadow:none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:var(--ad3-orange) !important;
  color:#fff !important;
}
.ad3-hero-home .wp-block-button.is-style-outline .wp-block-button__link,
.ad3-cta-band .wp-block-button.is-style-outline .wp-block-button__link{
  color:#fff !important;
  border-color:#fff !important;
}
.ad3-hero-home .wp-block-button.is-style-outline .wp-block-button__link:hover,
.ad3-cta-band .wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:var(--ad3-orange) !important;
  border-color:var(--ad3-orange) !important;
}

/* Menú móvil */
.ad3-menu-toggle{
  background:var(--ad3-orange);
  border-color:var(--ad3-orange);
  color:#fff;
}
.ad3-menu-toggle:hover{ background:#fff; color:var(--ad3-dark-green); }

/* Verde claro en superficies secundarias */
.ad3-native-catalog{
  padding:clamp(28px,4vw,46px);
  border:1px solid #D5E8CC;
  border-color:color-mix(in srgb,var(--ad3-light-green) 38%, #fff);
  border-radius:var(--ad3-radius);
  background:#F2F8EF;
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--ad3-light-green) 14%, #fff),
    color-mix(in srgb,var(--ad3-light-green) 5%, #fff)
  );
}
.ad3-product-card{
  border-color:#DCEBD5;
  border-color:color-mix(in srgb,var(--ad3-light-green) 30%, #fff);
}
.ad3-product-card__image,
.ad3-product-placeholder{
  background:#EEF6EA;
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--ad3-light-green) 16%, #fff),
    color-mix(in srgb,var(--ad3-light-green) 7%, #fff)
  );
}
.ad3-feature-card{
  background:#F4F9F1;
  background:color-mix(in srgb,var(--ad3-light-green) 9%, #fff);
  border-color:#D5E8CC;
  border-color:color-mix(in srgb,var(--ad3-light-green) 36%, #fff);
  border-top-color:var(--ad3-light-green);
}
.ad3-contact-form-wrap{
  background:#F3F9F0;
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--ad3-light-green) 11%, #fff),
    #fff 72%
  );
  border-color:#D5E8CC;
  border-color:color-mix(in srgb,var(--ad3-light-green) 34%, #fff);
}
.ad3-product-detail__summary{
  background:#F7FBF5;
  background:linear-gradient(155deg,
    #fff 0%,
    color-mix(in srgb,var(--ad3-light-green) 8%, #fff) 100%
  );
  border-color:#DCEBD5;
  border-color:color-mix(in srgb,var(--ad3-light-green) 28%, #fff);
}
.ad3-bottom-visual{
  background:#EDF6E9;
  background:color-mix(in srgb,var(--ad3-light-green) 12%, #fff);
}
.ad3-form-placeholder,
.ad3-empty-products{
  background:#F1F8EE;
  background:color-mix(in srgb,var(--ad3-light-green) 10%, #fff);
  border-color:#CFE4C5;
  border-color:color-mix(in srgb,var(--ad3-light-green) 42%, #fff);
}

/* Detalles naranjas para guiar la vista */
.ad3-product-line,
.ad3-kicker,
.ad3-post-card .wp-block-post-date{
  color:var(--ad3-orange);
}
.ad3-kicker::before{ background:var(--ad3-orange); }

/* Paginación activa */
.ad3-product-pagination .current,
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--ad3-orange);
  color:#fff;
}

/* WhatsApp conserva su color de identificación */
.ad3-whatsapp,
.ad3-whatsapp:hover{
  background:#25D366 !important;
  border-color:#25D366 !important;
  color:#fff !important;
}

@media (max-width:640px){
  .ad3-native-catalog{padding:22px 16px;}
}


.ad3-brand-priority{display:flex;flex-wrap:wrap;gap:12px;padding:20px;justify-content:center;background:var(--ad3-cream)}.ad3-brand-priority a{padding:10px 18px;border:1px solid var(--ad3-orange);border-radius:25px;color:var(--ad3-dark-green);text-decoration:none;font-weight:600}.ad3-brand-priority a:first-child{background:var(--ad3-orange);color:#17251e}
