/* OE Recursos — biblioteca de recursos. Todo va dentro de .oer para no chocar con Divi. */
.oer{
  --oer-brand:#005b57; --oer-brand-ink:#004542; --oer-brand-soft:#e3f0ee; --oer-brand-tint:#f1f7f6;
  --oer-accent:#e4704f; --oer-accent-ink:#b9502f; --oer-accent-soft:#fdece5;
  --oer-bg:#f7faf9; --oer-surface:#fff; --oer-surface-2:#eef4f2; --oer-line:#d9e5e2; --oer-line-strong:#b8ccc8;
  --oer-fg:#1e2a28; --oer-fg-2:#4f6360; --oer-fg-3:#6f8380;
  --oer-gold:#f3b53f; --oer-gold-soft:#fff3d6;
  --oer-font:"Museo 500","Nunito",ui-rounded,"Segoe UI",system-ui,sans-serif;
  --oer-font-body:"Museo 300","Museo 100","Nunito",ui-rounded,"Segoe UI",system-ui,sans-serif;
  --oer-r:14px; --oer-shadow:0 1px 2px rgba(0,60,55,.06),0 8px 24px -12px rgba(0,60,55,.18);
  --oer-sticky:0px;
  background:var(--oer-bg); color:var(--oer-fg); font-family:var(--oer-font-body); font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.oer *,.oer *::before,.oer *::after{box-sizing:border-box}
.oer a{color:inherit;text-decoration:none}
.oer button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;margin:0}
.oer h1,.oer h2,.oer h3{font-family:var(--oer-font);margin:0;padding:0;text-wrap:balance;line-height:1.15;color:inherit;letter-spacing:0}
.oer p{margin:0;padding:0}
.oer img{max-width:100%;height:auto}
.oer [hidden]{display:none!important}
.oer :focus-visible{outline:3px solid var(--oer-gold);outline-offset:2px;border-radius:6px}
.oer-wrap{max-width:1180px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.oer-eyebrow{font-family:var(--oer-font);font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--oer-accent-ink)}

.oer-btn{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--oer-font);font-weight:700;border-radius:999px!important;padding:.65rem 1.15rem!important;font-size:.92rem;line-height:1;white-space:nowrap;transition:transform .15s,background .15s,border-color .15s}
.oer-btn:hover{transform:translateY(-1px)}
.oer .oer-btn-accent{background:var(--oer-accent);color:#fff}
.oer .oer-btn-accent:hover{background:var(--oer-accent-ink)}
.oer .oer-btn-ghost{border:1.5px solid var(--oer-line-strong);color:var(--oer-fg);background:var(--oer-surface)}
.oer .oer-btn-ghost:hover{border-color:var(--oer-brand);color:var(--oer-brand)}

/* Hero */
.oer-hero{background:linear-gradient(180deg,var(--oer-brand-tint),var(--oer-bg));padding-block:2.25rem 2rem;border-bottom:1px solid var(--oer-line)}
.oer-hero .oer-wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2.5rem;align-items:center}
.oer-crumbs{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.82rem;color:var(--oer-fg-3);margin-bottom:.9rem}
.oer-crumbs a:hover{color:var(--oer-brand)}
.oer-hero h1{font-size:clamp(1.85rem,1.2rem + 2.3vw,2.9rem);font-weight:900;color:var(--oer-brand-ink);margin:.4rem 0 .7rem}
.oer-lead{color:var(--oer-fg-2);max-width:56ch;margin:0 0 1.4rem!important;font-size:1.05rem}
.oer-search{display:flex;background:var(--oer-surface);border:1.5px solid var(--oer-line-strong);border-radius:999px;padding:.3rem .3rem .3rem 1.1rem;box-shadow:var(--oer-shadow);align-items:center;gap:.5rem;margin:0}
.oer-search:focus-within{border-color:var(--oer-brand)}
.oer-search svg{flex:none;color:var(--oer-fg-3)}
.oer .oer-search input{flex:1;min-width:0;border:0!important;background:none!important;box-shadow:none!important;font:inherit;font-size:1.02rem;color:var(--oer-fg);padding:.55rem 0!important;margin:0;outline:none}
.oer-search input::placeholder{color:var(--oer-fg-3);opacity:1}
.oer-search input::-webkit-search-cancel-button{cursor:pointer}
.oer-search .oer-btn{flex:none}
.oer-popular{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.9rem;font-size:.85rem;color:var(--oer-fg-3)}

.oer-chip{display:inline-flex;align-items:center;gap:.35rem;border:1.5px solid var(--oer-line);background:var(--oer-surface);border-radius:999px;padding:.3rem .75rem;font-family:var(--oer-font);font-weight:700;font-size:.82rem;color:var(--oer-fg-2)!important;line-height:1.2;transition:.15s}
.oer-chip:hover{border-color:var(--oer-brand);color:var(--oer-brand)!important}
.oer-chip.is-on{background:var(--oer-brand);border-color:var(--oer-brand);color:#fff!important}
.oer-chip small{font-weight:600;font-size:.72rem;opacity:.7;font-variant-numeric:tabular-nums}
.oer-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--c,var(--oer-brand));display:inline-block}

.oer-quick{display:grid;gap:.7rem}
.oer-quick a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;background:var(--oer-surface);border:1px solid var(--oer-line);border-radius:var(--oer-r);padding:.8rem 1rem;transition:.15s}
.oer-quick a:hover{border-color:var(--oer-brand);box-shadow:var(--oer-shadow);transform:translateY(-1px)}
.oer-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--oer-brand-soft);color:var(--oer-brand)}
.oer-ic-a{background:var(--oer-accent-soft);color:var(--oer-accent-ink)}
.oer-ic-g{background:var(--oer-gold-soft);color:#8a5a00}
.oer-quick b{display:block;font-family:var(--oer-font);font-weight:800;font-size:.95rem;color:var(--oer-fg)}
.oer-quick small{color:var(--oer-fg-3);font-size:.8rem}
.oer-arr{color:var(--oer-fg-3)}
@media(max-width:900px){.oer-hero .oer-wrap{grid-template-columns:1fr;gap:1.5rem}.oer-quick{grid-template-columns:repeat(3,minmax(0,1fr))}.oer-quick a{grid-template-columns:1fr;gap:.4rem;padding:.75rem}.oer-arr{display:none}}
@media(max-width:600px){.oer-quick{grid-template-columns:1fr}.oer-quick a{grid-template-columns:auto 1fr;}.oer-search .oer-btn{padding:.6rem .9rem!important}}

/* Barra de filtros */
.oer-toolbar{position:sticky;top:var(--oer-sticky);z-index:90;background:rgba(247,250,249,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--oer-line)}
.oer-toolbar .oer-wrap{display:flex;align-items:center;gap:.6rem;padding-block:.65rem;overflow-x:auto;scrollbar-width:none}
.oer-toolbar .oer-wrap::-webkit-scrollbar{display:none}
.oer-lbl{font-family:var(--oer-font);font-weight:800;font-size:.75rem;color:var(--oer-fg-3);text-transform:uppercase;letter-spacing:.08em;flex:none}
.oer-seg{display:inline-flex;background:var(--oer-surface);border:1.5px solid var(--oer-line);border-radius:999px;padding:3px;flex:none}
.oer .oer-seg button{border-radius:999px;padding:.32rem .7rem;font-family:var(--oer-font);font-weight:700;font-size:.82rem;color:var(--oer-fg-2);min-width:2.4rem;white-space:nowrap}
.oer .oer-seg button:hover{color:var(--oer-brand)}
.oer .oer-seg button.is-on{background:var(--oer-brand);color:#fff}
.oer-sel{position:relative;flex:none}
.oer .oer-sel select{appearance:none;-webkit-appearance:none;font-family:var(--oer-font);font-weight:700;font-size:.84rem;color:var(--oer-fg-2);background:var(--oer-surface);border:1.5px solid var(--oer-line);border-radius:999px;padding:.42rem 2rem .42rem .9rem;cursor:pointer;height:auto;line-height:1.3;margin:0;max-width:240px}
.oer .oer-sel select.is-on{border-color:var(--oer-brand);color:var(--oer-brand);background:var(--oer-brand-soft)}
.oer-sel::after{content:"";position:absolute;right:.85rem;top:50%;width:.42rem;height:.42rem;border-right:2px solid var(--oer-fg-3);border-bottom:2px solid var(--oer-fg-3);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.oer-sp{flex:1}
.oer .oer-clear{flex:none;font-family:var(--oer-font);font-weight:700;font-size:.82rem;color:var(--oer-accent-ink);padding:.4rem .5rem;white-space:nowrap}

/* Colecciones de temporada */
.oer-season{padding-block:1.5rem .25rem}
.oer-season .oer-wrap{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory}
.oer-season a{flex:0 0 260px;scroll-snap-align:start;display:grid;grid-template-columns:76px 1fr;gap:.8rem;align-items:center;background:var(--oer-surface);border:1px solid var(--oer-line);border-radius:var(--oer-r);padding:.6rem;transition:.15s}
.oer-season a:hover,.oer-season a.is-on{border-color:var(--oer-brand);box-shadow:var(--oer-shadow)}
.oer-season a.is-on{background:var(--oer-brand-soft)}
.oer-th{width:76px;height:62px;border-radius:9px;overflow:hidden;background:var(--oer-surface-2);display:block}
.oer-th img{width:100%;height:100%;object-fit:cover;display:block}
.oer-season b{display:block;font-family:var(--oer-font);font-weight:800;font-size:.92rem;line-height:1.2;color:var(--oer-fg)}
.oer-season small{color:var(--oer-fg-3);font-size:.78rem}
.oer-vlbl{flex:none;align-self:center;font-family:var(--oer-font);font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oer-accent-ink);writing-mode:vertical-rl;transform:rotate(180deg)}
@media(max-width:600px){.oer-vlbl{display:none}}

/* Resultados */
.oer-results{padding-block:1.6rem 2.5rem;scroll-margin-top:calc(var(--oer-sticky) + 70px)}
.oer-rhead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.oer-rhead h2{font-size:1.25rem;font-weight:800;color:var(--oer-brand-ink)}
.oer-count{color:var(--oer-fg-3);font-size:.95rem;font-weight:600;font-family:var(--oer-font)}
.oer-count b{color:var(--oer-fg);font-variant-numeric:tabular-nums}
.oer-active{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.oer-active:empty{display:none}
.oer-active .oer-chip{background:var(--oer-brand-soft);border-color:transparent;color:var(--oer-brand-ink)!important}
.oer-active .oer-x{font-weight:900;opacity:.6;margin-left:.15rem}
.oer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem}
@media(max-width:600px){.oer-grid{grid-template-columns:1fr}}
.oer-card{background:var(--oer-surface);border:1px solid var(--oer-line);border-radius:var(--oer-r);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative}
.oer-card:hover{transform:translateY(-3px);box-shadow:var(--oer-shadow);border-color:var(--oer-line-strong)}
.oer-cover{aspect-ratio:16/10;max-width:100%;background:var(--oer-surface-2);position:relative;overflow:hidden}
.oer .oer-cover img{width:100%;height:100%!important;object-fit:cover;display:block;transition:transform .35s}
.oer-card:hover .oer-cover img{transform:scale(1.03)}
.oer .oer-cover.is-tall img{object-fit:contain;padding:.6rem}
.oer-noimg{display:grid;place-items:center;height:100%;font-size:2.5rem;opacity:.4}
.oer-badge{position:absolute;top:.7rem;left:.7rem;font-family:var(--oer-font);font-weight:800;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;background:var(--oer-surface);color:var(--oer-brand);padding:.3rem .55rem;border-radius:999px;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.oer-badge.is-premium{background:var(--oer-brand);color:#fff}
.oer-badge.is-new{left:auto;right:.7rem;background:var(--oer-gold);color:#3a2700}
.oer-body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.oer-meta{display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-family:var(--oer-font);font-weight:700;font-size:.74rem;color:var(--oer-fg-3);text-transform:uppercase;letter-spacing:.05em}
.oer-curso{color:var(--oer-brand)}
.oer-card h3{font-size:1.02rem;font-weight:800;line-height:1.3;color:var(--oer-fg);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.oer-card h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.oer-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.55rem;border-top:1px dashed var(--oer-line)}
.oer-subj{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--oer-font);font-weight:700;font-size:.78rem;color:var(--oer-fg-2);min-width:0}
.oer-subj i{width:.55rem;height:.55rem;border-radius:50%;background:var(--c);flex:none}
.oer-subj em{font-style:normal;color:var(--oer-fg-3)}
.oer-go{font-family:var(--oer-font);font-weight:800;font-size:.82rem;color:var(--oer-accent-ink);white-space:nowrap}
.oer-card:hover .oer-go{text-decoration:underline}
.oer-empty{text-align:center;padding:3rem 1rem;color:var(--oer-fg-2);border:1.5px dashed var(--oer-line-strong);border-radius:var(--oer-r);display:grid;gap:.6rem;justify-items:center}
.oer-empty b{font-family:var(--oer-font);font-size:1.1rem;color:var(--oer-fg)}
.oer-more{display:flex;justify-content:center;margin-top:1.75rem}

/* Explorar */
.oer-explore{background:var(--oer-surface);border-top:1px solid var(--oer-line);border-bottom:1px solid var(--oer-line);padding-block:2.5rem}
.oer-explore .oer-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.oer-explore h2{font-size:1.1rem;font-weight:800;color:var(--oer-brand-ink);margin:.3rem 0 .9rem}
.oer-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.oer-explore .oer-chip{background:var(--oer-bg)}
.oer-explore .oer-chip.is-on{background:var(--oer-brand)}
@media(max-width:900px){.oer-explore .oer-wrap{grid-template-columns:1fr;gap:1.6rem}}

/* Llamada final */
.oer-cta{padding-block:2.5rem 3rem}
.oer-cta-box{background:var(--oer-brand);color:#fff;border-radius:22px;padding:2rem;display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;align-items:center;position:relative;overflow:hidden}
.oer-cta-box::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.oer-cta h2{font-size:1.5rem;font-weight:900;margin-bottom:.4rem;color:#fff}
.oer-cta p{opacity:.92;max-width:52ch;color:#fff}
.oer-cta-acts{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;position:relative;z-index:1}
.oer .oer-btn-gold{background:var(--oer-gold);color:#3a2700}
.oer .oer-btn-line{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.oer .oer-btn-line:hover{background:rgba(255,255,255,.1)}
@media(max-width:720px){.oer-cta-box{grid-template-columns:1fr;padding:1.5rem}.oer-cta-acts{justify-content:flex-start}}

@media (prefers-reduced-motion:reduce){.oer *{transition:none!important}}
