/* Lenguaje visual compartido: inicio, catálogo y recomendaciones de las fichas. */
:root{--surface-soft:#f5f7f3;--surface-line:#e0e7de;--card-radius:14px;--card-shadow:0 3px 10px #244e3010}
/* El emblema y el bloque de texto comparten centro óptico sin alterar el archivo del logo. */
header .brand{align-items:center;gap:12px}
header .brand img{width:58px;height:58px;object-fit:contain;object-position:center;flex-shrink:0}
header .brand>span{display:grid;line-height:1.05;align-content:center;justify-items:start}
header .brand strong{font:700 1.18rem/1.05 Georgia,serif;letter-spacing:.02em;color:#002d68}
header .brand small{font-size:.75rem;line-height:1.05;font-weight:700;margin-top:5px;letter-spacing:.13em;color:#14784d}
header .nav{gap:16px}
@media(min-width:761px) and (max-width:1100px){header .nav{gap:10px;font-size:10px}}
@media(max-width:760px){header .brand img{width:48px;height:48px}header .brand{gap:10px}header .brand strong{font-size:1.18rem}header .brand small{font-size:.65rem;letter-spacing:.1em}}

/* Opciones de contacto: explicación y acciones alineadas, sin márgenes implícitos. */
.contact-panel{container-type:inline-size}
.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.contact-option{display:flex;flex-direction:column;min-width:0;border:1px solid #dce7dc;background:white;border-radius:12px;padding:17px}
.contact-option h3{display:flex;align-items:center;gap:8px;font:650 14px/1.5 system-ui,sans-serif;color:var(--green-dark);margin:0 0 9px}
.contact-option h3 svg{width:20px;height:20px;color:var(--green)}
.contact-option:nth-child(2) h3 svg{color:var(--blue)}
.contact-option p{font:12px/1.8 system-ui,sans-serif;color:#596f60;margin:0 0 18px;flex:1}
.contact-option>.button{width:100%;min-height:46px;margin:0;padding:12px 10px;font-size:12px}
@container(max-width:390px){.contact-options{grid-template-columns:1fr}.contact-option p{margin-bottom:14px}}
.product-card{border-color:var(--surface-line);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}
.product-image{aspect-ratio:1.2}
.product-image.is-product-photo img{padding:14px}
.product-copy{padding:20px}
.product-category{font-size:10px;letter-spacing:.08em}
.product-brand{font:650 11px/1.5 system-ui,sans-serif;color:#567264;letter-spacing:.02em;margin:0 0 5px;overflow-wrap:anywhere}
.product-card h3{font-size:15px;line-height:1.55;min-height:70px}
.product-short{font-size:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-bottom{padding-top:16px;gap:10px}
.detail-link{font-size:11px;min-height:42px}
.compact{font-size:11px;min-height:42px;padding:10px 12px}
.retail-inquiry .retail-form-link{margin-top:10px;min-height:46px}
.breadcrumb{font-size:12px;line-height:1.8;color:#617468;padding-top:26px;margin-bottom:28px}
.breadcrumb a{text-decoration:none}
.breadcrumb a:hover{text-decoration:underline;color:var(--green)}
footer{padding-top:45px;background:#fff}
footer .footer-grid{gap:35px}
footer h2{font-size:13px;color:var(--ink)}
footer p,footer a:not(.brand){font-size:12px;line-height:1.9}
footer .social{min-height:35px;display:flex!important;align-items:center}

/* Catálogo: mismo fondo claro y proporciones que la selección del inicio. */
body:has(.catalog-layout) main{background:var(--surface-soft)}
.catalog-heading{background:radial-gradient(ellipse at 85% 0%,#dfede5,transparent 65%),linear-gradient(120deg,#f9f8f1,#edf5f0);padding-bottom:36px;border-bottom:1px solid var(--line)}
.catalog-heading .eyebrow{font-size:11px;margin-bottom:16px}
.catalog-heading h1{font-size:clamp(36px,4vw,49px);line-height:1.12;max-width:700px;margin:0 0 19px;color:var(--green-dark)}
.catalog-heading>.wrap>p:last-child{font-size:15px;line-height:1.8;color:#4d645d}
.catalog-layout{grid-template-columns:250px minmax(0,1fr);gap:30px;padding-block:34px 64px}
.filters{padding:25px 22px;background:white;border:1px solid var(--surface-line);border-radius:16px;box-shadow:var(--card-shadow)}
.filters h2{font:650 16px/1.5 system-ui,sans-serif;letter-spacing:-.02em;margin-bottom:24px}
.filters>label{font-size:12px;color:#345646;margin-block:20px 8px}
.filters select,.search-field input{font-size:12px;min-height:45px;padding:11px 10px;border:1px solid #d5e0d6;border-radius:8px;background:#fafbf8;color:var(--ink)}
.search-field input{padding-right:30px}
.search-field svg{top:15px;color:var(--green)}
.filters select:hover,.search-field input:hover{border-color:#9ab8a4}
/* Evitar el marco azul heredado sin perder la indicación de foco por teclado. */
select:focus{outline:none;box-shadow:none;border-color:#8ba995}
html.keyboard-navigation select:focus{outline:2px solid var(--green);outline-offset:3px}
.clear-button{font-size:12px;min-height:44px;padding-top:12px;color:#506b5a;text-underline-offset:4px}
.filter-help{background:#f0f5ed;border:1px solid #dce7d9;padding:16px;border-radius:12px;font-size:12px;margin-top:22px}
.filter-help .help-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:white;color:var(--green);margin-bottom:13px}
.filter-help .help-icon svg{width:21px;height:21px}
.filter-help h3{font:700 14px/1.45 system-ui,sans-serif;letter-spacing:-.015em;margin:0;color:var(--green-dark)}
.filter-help p{font-size:12px;line-height:1.65;margin:9px 0 16px;color:#5d7263}
.filter-help .help-actions{display:grid;gap:9px}
.filter-help .help-actions a{display:flex;justify-content:flex-start;align-items:center;gap:8px;width:100%;min-width:0;min-height:42px;padding:10px 12px;font-size:11px;font-weight:650;line-height:1.4;text-decoration:none;color:white;border-radius:8px}
.filter-help .help-actions a svg{width:16px;height:16px;flex-shrink:0}
.results-toolbar{background:white;border:1px solid var(--surface-line);border-radius:12px;padding:12px 17px;margin-bottom:20px;min-height:66px;font-size:13px}
.results-toolbar p{font-weight:650;color:var(--green)}
.results-toolbar select{font-size:12px;min-height:42px;border-radius:8px;border-color:#d5e0d6;background:#fafbf8;color:var(--ink)}
.active-filters{font-size:12px;padding:0 2px 18px;line-height:1.8;color:#496653}
.catalog-grid{gap:20px}
.pagination{padding-top:32px;gap:7px}
.pagination button{min-height:42px;min-width:42px;border-radius:8px;font-size:12px}
.pagination button:not(:disabled):hover{border-color:#7b9f87;background:#eaf2e9}
.pagination [aria-current]:not(:disabled):hover{background:var(--green-dark);color:white}
.catalog-note{font-size:12px;line-height:1.85;border:1px solid var(--line);padding:18px 20px;border-radius:12px;background:#eef3eb;margin-top:30px}
.empty-state{background:white;border:1px solid var(--line);border-radius:16px;padding:55px 25px}
.empty-state p{font-size:14px;line-height:1.8}
.empty-state h2{font-size:34px}
.related{border-top:1px solid var(--line);margin-top:42px;padding-block:44px 64px}
.related h2{font-size:clamp(30px,3vw,39px)}
.related .section-title{margin-bottom:28px}
@media(min-width:1101px) and (min-height:900px){.filters{position:sticky;top:24px}}
@media(min-width:761px) and (max-width:1100px){
 .catalog-layout{grid-template-columns:220px minmax(0,1fr);gap:22px}.filters{padding:22px 17px}
 .product-card h3{min-height:70px}.product-copy{padding:17px}.card-bottom{gap:8px}.compact{padding:10px}
 .related .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media(max-width:760px){
 .breadcrumb{font-size:11px;padding-top:20px;margin-bottom:22px}.catalog-heading{padding-bottom:29px}.catalog-heading h1{font-size:36px;margin-bottom:16px}.catalog-heading .eyebrow{font-size:10px}.catalog-heading>.wrap>p:last-child{font-size:14px}
 .catalog-layout{grid-template-columns:1fr;gap:23px;padding-block:24px 40px}.filters{padding:19px 17px;gap:10px 12px;border-radius:13px}.filters h2{font-size:15px;margin-bottom:5px}.filters>label{font-size:11px;margin:0}.filters select,.search-field input{font-size:12px;min-height:44px;padding:10px 9px}.search-field input{padding-right:30px}.filters .clear-button{font-size:11px;padding:0;min-height:44px}
 .results-toolbar{padding:10px 12px;gap:8px;font-size:12px;min-height:64px;border-radius:10px}.results-toolbar select{font-size:11px;max-width:160px;min-height:42px;margin:0;padding:9px 6px}.results-toolbar p{line-height:1.6;max-width:130px}.active-filters{font-size:11px}
 .product-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-copy{padding:13px}.product-image{aspect-ratio:1}.product-image.is-product-photo img{padding:8px}.product-image>span{font-size:8px;left:6px;bottom:6px}.product-category{font-size:9px;letter-spacing:.03em;min-height:28px;margin-bottom:5px}.product-card h3{font-size:13px;line-height:1.5;min-height:78px;margin-bottom:7px}.product-short{font-size:11px;-webkit-line-clamp:2;margin-bottom:12px}.card-bottom{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding-top:9px}.detail-link{font-size:11px;min-height:35px;justify-content:center}.compact{width:100%;font-size:11px;min-height:42px;flex:none}
 .pagination button{min-height:40px;min-width:34px;font-size:11px}.pagination{gap:5px}.catalog-note{font-size:11px;padding:16px}.empty-state{padding:37px 18px}.empty-state h2{font-size:29px}.empty-state p{font-size:13px}
 .related{margin-top:30px;padding-block:32px 40px}.related .section-title{align-items:start;flex-direction:column;gap:17px}.related .section-title>a{margin:0}.related h2{font-size:30px}
 footer .footer-grid{gap:28px 20px}footer .brand strong{font-size:20px}footer .footer-grid>div>a:not(.brand){overflow-wrap:anywhere;min-height:30px}
}
