/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 1.3.1
*/

/* Sistema visual único: Verde Salvia y Lino */
:root { --bg-color:#F9FAF9; --surface-color:#F0F4F1; --text-color:#3A473D; --heading-color:#1C2B20; --primary-color:#638066; --outline-btn:#415A44; --radius:12px; }
body.elementor-page,body.page,body.single { margin:0; padding:0; background:var(--bg-color); color:var(--text-color); font-family:"Lato",sans-serif; line-height:1.6; }
h1,h2,h3 { color:var(--heading-color); font-family:"Lora",serif; font-weight:600; }
.elementor-button { max-width:100%; }
.elementor-button-content-wrapper,.elementor-button-text { white-space:normal; overflow-wrap:anywhere; }
.btn-salvia { display:block; width:100%; padding:14px; margin-bottom:12px; border-radius:var(--radius); background:var(--primary-color); color:#fff; font-weight:700; text-align:center; text-decoration:none; text-transform:uppercase; }
.btn-outline { display:block; width:100%; padding:14px; margin-bottom:12px; border:2px solid var(--outline-btn); border-radius:var(--radius); background:transparent; color:var(--outline-btn); font-weight:700; text-align:center; text-decoration:none; }

/* Portada: escaparate y conversión */
body.home .home-hero { background:var(--surface-color); }
body.home .home-hero-image img { border-radius:var(--radius); }
body.home .home-hero-primary .elementor-button { background:var(--primary-color); color:#fff; border:0; border-radius:var(--radius); }
body.home .home-hero-secondary .elementor-button { background:transparent; color:var(--outline-btn); border:2px solid var(--outline-btn); border-radius:var(--radius); }
body.home .home-hero-secondary .elementor-button:hover,body.home .home-hero-secondary .elementor-button:focus { background:var(--outline-btn); color:#fff; }
body.home .home-trust { background:var(--bg-color); }
body.home .trust-card { background:var(--surface-color); border-radius:var(--radius); padding:16px; }

/* Páginas territoriales */
.territorial-page-section { background:var(--bg-color); }
.territorial-hero { border-bottom:1px solid var(--surface-color); }
.territorial-trust-list { gap:0; }
.territorial-trust-item { background:transparent; border:0; border-bottom:1px solid var(--surface-color); border-radius:0; padding:12px 0; }

/* Lectura: manual público, acceso privado, blog y artículos */
.reading-section { background:var(--bg-color); }
.reading-section .elementor-widget-text-editor { color:var(--text-color); font-size:17px; line-height:1.8; }
.reading-section h1,.reading-section h2,.reading-section h3 { text-align:left; }
.am-library { box-sizing:border-box; max-width:1200px; margin:0 auto; padding:36px 20px 70px; color:var(--text-color); font-family:"Lato",sans-serif; }
.am-library * { box-sizing:border-box; }
.am-library__hero { margin-bottom:34px; padding:48px clamp(24px,5vw,64px); background:var(--surface-color); border-radius:var(--radius); }
.am-library__eyebrow,.am-library__tag { color:var(--outline-btn); font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.am-library__hero-title { max-width:850px; margin:0 0 16px; color:var(--heading-color); font:600 clamp(34px,5vw,58px)/1.08 "Lora",serif; }
.am-library__intro { max-width:760px; margin:0; color:var(--text-color); font-size:18px; line-height:1.65; }
.am-library__section { margin:42px 0; }
.am-library__section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:16px; }
.am-library__section h2 { margin:0; font-size:clamp(25px,3vw,36px); }
.am-library__section-head p { margin:0; color:var(--text-color); }
.am-library__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.am-library a.am-library__card,.am-library a.am-library__card * { text-decoration:none; }
.am-library__card { display:flex; flex-direction:column; min-height:230px; padding:24px; border:1px solid var(--surface-color); border-radius:var(--radius); background:var(--surface-color); color:var(--text-color); }
.am-library__card h3 { margin:0 0 12px; font-size:22px; line-height:1.25; text-transform:none; }
.am-library__card p { margin:0 0 18px; color:var(--text-color); line-height:1.55; }
.am-library__open { margin-top:auto; color:var(--outline-btn); font-weight:700; }
.am-library__note { margin-top:40px; padding:20px 24px; border-radius:var(--radius); background:var(--surface-color); color:var(--text-color); }
.page-id-4828 #content { max-width:760px; margin:0 auto; padding:30px 20px; }
.page-id-4828 .am-password-shell { padding:0; background:var(--bg-color); }
.page-id-4828 .am-password-card { padding:30px 20px; border:1px solid var(--surface-color); border-radius:var(--radius); background:var(--surface-color); }
.page-id-4828 .am-password-card h1 { margin:12px 0 20px; font-size:32px; line-height:1.18; text-align:left; }
.page-id-4828 .am-password-row { display:flex; gap:12px; }
.page-id-4828 .am-password-row input { min-width:0; border:2px solid var(--outline-btn); border-radius:var(--radius); background:var(--bg-color); }
.page-id-4828 .am-password-row button { border:0; border-radius:var(--radius); background:var(--primary-color); color:#fff; font-family:"Lato",sans-serif; font-weight:700; text-transform:uppercase; }
.single-post .page-content { max-width:760px; margin:0 auto; padding:30px 20px; color:var(--text-color); font-size:17px; line-height:1.8; }
.single-post .page-content h1 { font-size:clamp(32px,5vw,48px); line-height:1.15; }
.single-post .page-content h2 { margin-top:30px; }
.page-id-282 .elementor-widget-text-editor,.page-id-282 .elementor-widget-text-editor * { overflow-wrap:anywhere; word-break:break-word; }

@media (max-width:767px) {
 body.home .home-hero > .e-con-inner { row-gap:16px; }
 body.home .home-hero-title h1 { font-size:30px; line-height:1.12; }
 body.home .home-hero-intro p { font-size:16px; line-height:1.35; }
 body.home .home-hero-actions { flex-flow:row wrap; gap:12px; }
 body.home .home-hero-actions > .home-hero-primary { flex:0 0 100%; width:100%; max-width:100%; margin:0; padding:0; }
 body.home .home-hero-actions > .home-hero-secondary { flex:1 1 calc(50% - 6px); width:calc(50% - 6px); max-width:calc(50% - 6px); margin:0; padding:0; }
 body.home .home-hero-actions .elementor-button { display:flex; align-items:center; justify-content:center; width:100%; min-height:58px; padding:9px 8px; font-size:15px; line-height:1.15; }
 body.home .home-trust-grid { gap:12px; }
 .am-library__grid { grid-template-columns:1fr; }
 .am-library__section-head { align-items:flex-start; flex-direction:column; }
 .am-library__hero { padding:34px 22px; }
 .page-id-4828 .am-password-row { flex-direction:column; }
}

/* Cabecera coherente con la referencia */
header .header-contact .elementor-button { min-height:auto; padding:4px 0; border:0; border-radius:0; background:transparent; color:var(--heading-color); }
@media (max-width:767px) { body.home .home-hero-title h1 { text-transform:uppercase; } }

/* Contacto: composición funcional sobre la base global */
.page-id-107 .am-contact { box-sizing:border-box; padding:30px 0 54px; background:var(--bg-color); color:var(--text-color); font-family:"Lato",sans-serif; }
.page-id-107 .am-contact * { box-sizing:border-box; }
.page-id-107 .am-contact__hero { padding:clamp(30px,5vw,56px); border-radius:var(--radius); background:var(--surface-color); color:var(--text-color); text-align:center; }
.page-id-107 .am-contact__eyebrow { display:inline-flex; align-items:center; gap:8px; margin:0 0 14px; color:var(--outline-btn); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.page-id-107 .am-contact h1 { max-width:760px; margin:0 auto 16px; color:var(--heading-color); font:600 clamp(34px,5vw,58px)/1.1 "Lora",serif; text-align:center; }
.page-id-107 .am-contact__lead { max-width:680px; margin:0 auto; color:var(--text-color); font-size:17px; line-height:1.7; }
.page-id-107 .am-contact__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:24px; }
.page-id-107 .am-contact__button,.page-id-107 .am-contact__footer-button,.page-id-107 .contacto-cta a { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 20px; border-radius:var(--radius); background:var(--primary-color); color:#fff; font-weight:700; text-decoration:none; text-transform:uppercase; }
.page-id-107 .am-contact__button--secondary,.page-id-107 .contacto-cta a.secundario { border:2px solid var(--outline-btn); background:transparent; color:var(--outline-btn); }
.page-id-107 .am-contact__grid { display:grid; grid-template-columns:1.1fr .9fr; gap:16px; margin-top:16px; }
.page-id-107 .am-contact__panel,.page-id-107 .am-contact-warranty,.page-id-107 .contacto-datos { padding:24px; border:1px solid var(--surface-color); border-radius:var(--radius); background:var(--surface-color); }
.page-id-107 .am-contact__panel h2,.page-id-107 .am-contact__aside h3,.page-id-107 .am-contact-warranty h2 { margin:0 0 12px; color:var(--heading-color); font-family:"Lora",serif; font-weight:600; }
.page-id-107 .am-contact__details,.page-id-107 .am-contact__promise { display:grid; gap:12px; }
.page-id-107 .am-contact__detail { display:flex; min-height:104px; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:14px; border:1px solid var(--surface-color); border-radius:var(--radius); background:var(--bg-color); color:var(--text-color); text-align:center; text-decoration:none; }
.page-id-107 .am-contact__icon { display:grid; width:40px; height:40px; place-items:center; border-radius:var(--radius); background:var(--surface-color); color:var(--outline-btn); }
.page-id-107 .am-contact__footer { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:24px; }
.page-id-107 .contacto-rapido { max-width:680px; margin:0 auto; color:var(--text-color); text-align:center; }
@media(max-width:767px){.page-id-107 .am-contact{padding:16px 0 34px}.page-id-107 .am-contact__hero{padding:28px 18px}.page-id-107 .am-contact__actions,.page-id-107 .am-contact__grid{display:grid;grid-template-columns:1fr}.page-id-107 .am-contact__button,.page-id-107 .am-contact__footer-button,.page-id-107 .contacto-cta a{width:100%}.page-id-107 .am-contact__panel,.page-id-107 .am-contact-warranty,.page-id-107 .contacto-datos{padding:20px 16px}}
