/*
Theme Name: AMEXME León Clean
Theme URI: https://amexmeleon.org/
Description: Tema local reconstruido sin dependencias del sitio comprometido.
Version: 0.1.0
Author: FORTE Innovation
*/

:root { --navy:#333781; --sky:#9ad0e8; --ink:#012468; --muted:#62677d; --paper:#fff; --soft:#f4f7fb; --body:#e6e6e6; --radius:8px; --content-width:1300px; --font:'Poppins',Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--body); font-family:var(--font); font-size:15px; line-height:1.5; }
a { color:var(--navy); }
.site-header { background:var(--paper); border-bottom:1px solid rgba(51,51,51,.11); position:relative; z-index:10; }
.header-inner, .container { width:min(var(--content-width), calc(100% - 100px)); margin:auto; }
.header-inner { min-height:90px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:14px; color:var(--navy); font-weight:700; text-decoration:none; font-size:1.15rem; }
.brand img { max-width:190px; max-height:50px; width:auto; height:auto; }
.site-nav ul { list-style:none; display:flex; flex-wrap:wrap; gap:0; margin:0; padding:0; }
.site-nav li { margin:18px 14px; }
.site-nav a { text-decoration:none; color:var(--navy); font-family:var(--font); font-weight:600; font-size:16px; padding:4px; }
.site-nav a:hover, .site-nav .current-menu-item > a { color:var(--sky); }
.site-nav .sub-menu { display:none; position:absolute; background:#fff; min-width:190px; padding:10px 0; margin-top:8px; box-shadow:0 8px 20px #11152b22; }
.site-nav .menu-item-has-children { position:relative; }
.site-nav .menu-item-has-children:hover > .sub-menu, .site-nav .menu-item-has-children:focus-within > .sub-menu { display:block; }
.site-nav .sub-menu li { margin:0; }
.site-nav .sub-menu a { display:block; padding:8px 16px; }
.header-contact { white-space:nowrap; font-size:.9rem; }
.header-contact a { color:var(--navy); text-decoration:none; }
.social-links { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.social-links a { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--navy); color:#fff; text-decoration:none; font-family:Arial,sans-serif; font-size:15px; font-weight:700; line-height:1; }
.social-links svg { width:17px; height:17px; display:block; }
.social-links a:hover { background:var(--sky); color:var(--navy); }
.hero { background:linear-gradient(135deg,var(--navy),#252855); color:white; padding:76px 0; }
.hero-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:48px; }
.hero h1 { color:white; font-size:clamp(2.3rem,6vw,4.6rem); line-height:1.05; margin:0 0 20px; }
.hero p { font-size:1.15rem; max-width:620px; color:#eef4ff; }
.hero img { width:100%; max-height:390px; object-fit:cover; border-radius:18px; box-shadow:0 20px 45px #11152b66; }
.hero-media { min-height:260px; display:flex; align-items:center; justify-content:center; }
.image-strip { background:var(--soft); padding:28px 0; }
.image-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.image-grid figure { margin:0; overflow:hidden; border-radius:14px; background:white; }
.image-grid img { display:block; width:100%; height:190px; object-fit:cover; }
.button { display:inline-block; background:var(--navy); color:white; border:0; border-radius:5px; padding:16px 24px; font-family:var(--font); font-size:18px; line-height:20px; font-weight:600; text-decoration:none; margin-top:12px; }
.button:hover { background:var(--sky); color:white; }
.content-wrap { background:var(--paper); padding:64px 0; }
.page-hero { position:relative; min-height:300px; display:flex; align-items:center; background-position:center; background-size:cover; background-repeat:no-repeat; color:#fff; }
.page-hero-overlay { position:absolute; inset:0; background:rgba(0,0,0,.25); }
.page-hero .container { position:relative; z-index:1; text-align:center; }
.page-hero h1 { color:#fff; font-size:40px; line-height:1.25; margin:0; text-transform:uppercase; }
.page-hero-council .page-hero-overlay { background:rgba(0,0,0,.28); }
.page-hero-council { aspect-ratio:16 / 9; min-height:0; }
.page-hero-council h1 { font-size:30px; line-height:1.2; text-transform:none; }
.content-wrap h1 { color:var(--navy); font-size:clamp(2.2rem,4vw,3.25rem); font-weight:700; line-height:1.2; margin-top:0; }
.content-wrap h2 { color:var(--navy); margin-top:2.2em; }
.content-wrap h3 { color:var(--navy); }
.content-wrap img { max-width:100%; height:auto; border-radius:12px; }
.content-wrap p, .content-wrap li { color:#3f455c; }
.content-wrap ul { padding-left:1.4em; }
.home-original-layout { display:grid; grid-template-columns:1fr 1fr; gap:35px; align-items:start; }
.home-copy section { margin:0 0 40px; }
.home-copy h2 { color:var(--navy); margin:0 0 14px; font-size:2.1rem; }
.home-copy p, .home-copy li { text-align:justify; }
.values-columns { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.values-columns ul { margin:0; padding-left:22px; }
.home-original-space { min-height:420px; }
.map-wrap { margin-top:28px; overflow:hidden; border-radius:14px; box-shadow:0 8px 24px #11152b18; }
.map-wrap iframe { display:block; width:100%; height:390px; border:0; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:35px; }
.card { background:var(--soft); padding:24px; border-radius:16px; border-top:4px solid var(--sky); }
.home-cards { margin-top:0; }
.home-cards h2 { margin:.25em 0 .45em; }
.home-cards ul { margin-bottom:0; }
.page-copy { max-width:900px; }
.page-copy h2, .page-copy h3 { margin-top:2.2em; }
.page-copy p { margin:0 0 1.1em; }
.page-copy ul { background:var(--soft); border-radius:14px; padding:22px 28px 22px 46px; }
.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0 0 35px; }
.contact-card { background:var(--navy); color:white; border-radius:14px; padding:25px; min-height:150px; }
.contact-card h2 { color:white; margin-top:0; font-size:1.25rem; }
.contact-card p { color:#f2f5ff; }
.contact-card a { color:var(--sky); }
.contact-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:28px; align-items:stretch; margin-top:30px; }
.contact-layout section { background:var(--soft); border-radius:var(--radius); padding:30px; }
.contact-layout h2 { margin-top:0; }
.contact-layout .map-wrap { margin-top:0; }
.lead-images { display:grid; grid-template-columns:minmax(180px,.55fr) 1.45fr; gap:28px; align-items:start; margin-bottom:35px; }
.lead-images img { width:100%; height:auto; border-radius:14px; box-shadow:0 8px 24px #11152b18; }
.council-original { max-width:780px; margin:0 auto; text-align:center; }
.council-original > img { display:block; width:auto; max-width:237px; max-height:300px; margin:0 auto 24px; border-radius:0; }
.council-original > p, .council-names p { color:var(--ink); line-height:1.5; margin:0 0 34px; }
.council-original strong { font-weight:700; }
.council-names { margin-top:22px; }
.board-section { margin-top:48px; }
.board-section > h2 { margin-bottom:22px; }
.board-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.board-card { position:relative; background:var(--soft); border-radius:14px; padding:20px 20px 20px 74px; min-height:100px; border-left:4px solid var(--sky); }
.board-card h3 { color:var(--navy); font-size:1.05rem; margin:0 0 6px; }
.board-card p { margin:0; font-size:.92rem; }
.board-icon { position:absolute; left:18px; top:22px; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:var(--sky); font-weight:700; }
.stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0 0 42px; }
.stats-row div { background:var(--navy); color:white; border-radius:14px; padding:20px 14px; text-align:center; }
.stats-row strong, .stats-row span { display:block; }
.stats-row strong { color:var(--sky); font-size:2rem; line-height:1.1; }
.stats-row span { margin-top:8px; font-size:.85rem; }
.about-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin:0 0 42px; }
.about-gallery img { display:block; width:100%; height:280px; object-fit:cover; border-radius:16px; box-shadow:0 8px 24px #11152b18; }
.about-sections { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.about-sections section { background:var(--soft); border-radius:16px; padding:26px; }
.about-sections h2 { margin-top:0; font-size:1.45rem; }
.about-sections p:last-child { margin-bottom:0; }
.about-sections ul { margin-bottom:0; }
.about-sections .presence { grid-column:1 / -1; background:var(--navy); }
.about-sections .presence h2, .about-sections .presence p { color:white; }
.membership-banner { display:flex; align-items:center; justify-content:space-between; gap:24px; background:linear-gradient(135deg,var(--navy),#252855); color:white; border-radius:18px; padding:28px 32px; margin:0 0 38px; }
.membership-banner h2 { color:white; margin:0 0 6px; }
.membership-banner p { margin:0; color:#eef4ff; }
.membership-banner .button { flex:0 0 auto; }
.membership-cards { margin-top:40px; }
.membership-content { max-width:1080px; margin:0 auto; }
.membership-content h2 { color:var(--navy); margin-top:0; text-align:center; }
.eligibility { background:var(--soft); border-top:5px solid var(--sky); border-radius:var(--radius); padding:34px 42px; margin-bottom:48px; text-align:center; }
.eligibility p { max-width:820px; font-size:1.08rem; margin:0 auto; }
.benefits-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; margin-top:25px; }
.benefit { display:flex; gap:16px; align-items:flex-start; background:white; border:1px solid #e2e6ef; border-radius:var(--radius); padding:22px; min-height:132px; box-shadow:0 8px 22px rgba(1,36,104,.06); }
.benefit:nth-child(-n+3) { grid-column:span 2; }
.benefit:nth-child(4) { grid-column:2 / span 2; }
.benefit:nth-child(5) { grid-column:4 / span 2; }
.benefit span { color:var(--sky); background:var(--navy); border-radius:50%; min-width:36px; height:36px; display:grid; place-items:center; font-weight:700; font-size:.8rem; }
.benefit p { margin:3px 0 0; line-height:1.55; }
.about-original { max-width:1100px; margin:0 auto; }
.about-original-columns { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.about-original-columns p { text-align:justify; margin:0 0 1.2em; }
.ethics-section { margin-top:40px; }
.ethics-section h2 { text-align:center; margin:0 0 28px; }
.ethics-intro, .presence-line { text-align:center; }
.ethics-accordion { margin-top:22px; border-top:1px solid #dfe4ee; }
.ethics-accordion details { border-bottom:1px solid #dfe4ee; }
.ethics-accordion summary { cursor:pointer; list-style:none; padding:19px 24px; color:var(--navy); font-weight:700; text-align:left; }
.ethics-accordion summary::-webkit-details-marker { display:none; }
.ethics-accordion summary::after { content:'+'; float:right; color:var(--sky); font-size:1.35rem; line-height:1; }
.ethics-accordion details[open] summary::after { content:'−'; }
.ethics-accordion details p { margin:0; padding:0 24px 22px; text-align:justify; }
.presence-line { margin:28px 0 0; }
.site-footer { background:var(--ink); color:#eef4ff; padding:38px 0; margin-top:30px; text-align:center; }
.footer-inner { display:flex; flex-direction:column; align-items:center; }
.site-footer p { margin:.3em 0; }
.site-footer a { color:var(--sky); }
.footer-logo { margin-bottom:14px !important; }
.footer-logo img { width:auto; max-width:220px; max-height:65px; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:760px) { .header-inner { align-items:flex-start; flex-direction:column; padding:16px 0; } .site-nav ul { gap:10px 14px; } .social-links { margin-top:2px; } .header-contact { display:none; } .hero-grid, .cards, .image-grid, .contact-grid, .contact-layout, .lead-images, .home-original-layout, .stats-row, .about-gallery, .about-sections, .about-original-columns, .board-grid, .benefits-grid { grid-template-columns:1fr; } .benefit:nth-child(n) { grid-column:auto; } .about-sections .presence { grid-column:auto; } .membership-banner { align-items:flex-start; flex-direction:column; padding:24px; } .hero { padding:52px 0; } .page-hero { min-height:100px; } .page-hero-council { aspect-ratio:16 / 9; } .page-hero h1, .page-hero-council h1 { font-size:30px; line-height:1.25; } }
