/*
Theme Name: OPOL360 · Web
Description: Diseño público blanco y verde para OPOL360. Compatible con Elementor gratuito. Sin lógica de comunidad ni tests.
Version: 1.6.0
Requires at least: 6.6
Requires PHP: 8.1
Author: OPOL360
License: GPL-2.0-or-later
Text Domain: opol360-web
*/
@font-face{font-family:OpolInter;src:url('assets/inter-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--os-green:#006633;--os-text:#16352b;--os-line:#e2ece4;--os-muted:#798d80}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--os-text);font:14px/1.7 OpolInter,Inter,Arial,sans-serif}a{color:var(--os-green);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8bc39b;outline-offset:3px}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(30px,3.4vw,49px)}h2{font-size:23px}h3{font-size:17px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.os-skip:focus{clip:auto;width:auto;height:auto;padding:12px;background:#fff;z-index:100;left:10px;top:10px}.os-header{position:sticky;top:0;z-index:40;min-height:76px;border-bottom:1px solid var(--os-line);background:#fffffff0;backdrop-filter:blur(15px);display:flex;align-items:center;gap:27px;padding:14px 30px}.admin-bar .os-header{top:32px}.os-logo{display:flex;align-items:center;flex-shrink:0}.os-logo img{display:block;width:180px;max-height:44px;object-fit:contain}.os-tagline{font-size:11px;color:var(--os-muted);border-left:1px solid var(--os-line);padding-left:25px}.os-header-account{display:flex;gap:12px;align-items:center;margin-left:auto;font-size:12px}.os-header-account>span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-button,.os-header button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dce8de;border-radius:11px;background:#fff;color:#244c31;min-height:42px;padding:10px 17px;font-weight:650;line-height:1.35}.os-button:hover,.os-header button:hover{background:#f0f8ee;text-decoration:none}.os-primary{background:var(--os-green);border-color:var(--os-green);color:#fff}.os-primary:hover{background:#004d28;color:#fff}.os-layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100dvh - 140px)}.os-sidebar{position:sticky;top:76px;height:calc(100dvh - 76px);border-right:1px solid var(--os-line);padding:28px 15px;display:flex;flex-direction:column;background:#fff}.admin-bar .os-sidebar{top:108px;height:calc(100dvh - 108px)}.os-nav-label{font-size:9px;font-weight:750;letter-spacing:.17em;color:#8ca092;margin:0 15px 17px}.os-nav{display:grid;gap:7px}.os-nav a{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:11px;color:#6e8274;font-size:13px;font-weight:600}.os-nav a:hover{background:#f4f9f1;text-decoration:none}.os-nav a.active{background:#eaf5eb;color:var(--os-green)}.os-icon{display:inline-flex;flex-shrink:0}.os-icon svg{width:21px;height:21px}.os-sidebar-bottom{margin-top:auto;padding:24px 15px 0;display:grid;gap:12px;font-size:11px;color:#7f9585}.os-sidebar-bottom strong{color:#588363}.os-sidebar-bottom a{color:inherit}.os-main{padding:35px clamp(20px,4vw,64px) 45px;min-width:0;width:100%;max-width:1550px;margin:0 auto;outline:0}.os-main>.os-page-title{margin:0 0 25px}.os-footer{border-top:1px solid var(--os-line);padding:21px 30px;display:flex;gap:20px;flex-wrap:wrap;font-size:10px;color:#8b9c90}.os-footer>span{margin-right:auto}.os-footer a{color:inherit}.os-drawer-backdrop{display:none}.os-kicker{font-size:10px;letter-spacing:.15em;font-weight:750;color:#3a8352;text-transform:uppercase}.os-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);align-items:center;gap:30px;padding:25px 0 40px}.os-hero h1{font-weight:780;line-height:1.15;margin:15px 0 20px}.os-hero h1 em{font-style:normal;color:var(--os-green)}.os-hero p{color:#7a8b7f;font-size:14px;line-height:1.85;max-width:580px}.os-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.os-hero-note{font-size:11px;color:#88a08d}.os-hero-note:before{content:'●';color:#63ad73;margin-right:8px}.os-art{min-height:285px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(ellipse,#edf7e6,transparent 68%)}.os-orbit{position:absolute;width:250px;height:250px;border:1px solid #d3e7d2;border-radius:50%}.os-orbit:before{content:'';position:absolute;inset:18px;border:1px dashed #c8e0c6;border-radius:50%}.os-art>b{font-size:88px;font-weight:850;line-height:1.3;color:var(--os-green);letter-spacing:-.06em;z-index:1}.os-art>small{font-size:9px;letter-spacing:.16em;color:#8ba88e;z-index:1}.os-art>span{font-size:10px;color:#8ba88e;z-index:1}.os-art-pill{position:absolute;left:0;top:30px;background:white;padding:9px 16px;border-radius:12px;border:1px solid var(--os-line);font-size:11px;color:#5b8a65;transform:rotate(-6deg)}.os-art-pill.second{left:auto;right:0;top:auto;bottom:30px;transform:rotate(5deg)}.os-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.os-tool{display:block;border:1px solid var(--os-line);border-radius:17px;padding:24px;color:var(--os-text);position:relative}.os-tool:hover{border-color:#91bf99;text-decoration:none}.os-tool .os-icon{background:#eef7e9;color:#599367;border-radius:12px;padding:11px}.os-tool h2{font-size:17px;margin:16px 0 9px}.os-tool p{color:#839389;font-size:12px;line-height:1.8;margin:0}.os-tool:after{content:'↗';position:absolute;right:22px;top:22px;color:#84a68c}.os-banner{margin-top:30px;border:1px solid #e0ecdc;border-radius:17px;background:#f8fcf5;padding:27px 30px;display:flex;align-items:center;gap:30px}.os-banner>div{flex:1}.os-banner h2{font-size:20px;margin:4px 0 8px}.os-banner p{font-size:12px;color:#7d9283;margin:0}.os-content{overflow-wrap:anywhere}.os-unavailable{border:1px solid var(--os-line);border-radius:14px;padding:25px;color:#6c8674}.elementor-section .elementor-container{max-width:1200px}.os-main .elementor-widget-heading .elementor-heading-title{line-height:1.2}.os-main .elementor-button{border-radius:11px}.os-main .elementor-widget-text-editor p{line-height:1.8}.os-main .elementor{width:100%}.os-prose{max-width:800px}.os-prose p{line-height:1.85}.os-pagination{display:flex;justify-content:space-between;gap:20px;margin:30px 0}.os-nav-collapsed .os-layout{grid-template-columns:76px minmax(0,1fr)}.os-nav-collapsed .os-sidebar{padding-inline:10px}.os-nav-collapsed .os-nav span:not(.os-icon),.os-nav-collapsed .os-nav-label,.os-nav-collapsed .os-sidebar-bottom{display:none}.os-nav-collapsed .os-nav a{padding:14px 16px}
@media(max-width:1100px){.os-layout{grid-template-columns:185px minmax(0,1fr)}.os-tagline{display:none}.os-main{padding:26px}.os-hero{grid-template-columns:1fr}.os-art{display:none}.os-tools{gap:12px}.os-tool{padding:19px}.os-banner{padding:24px}}
@media(max-width:760px){.os-header{min-height:68px;padding:12px 18px;gap:10px}.admin-bar .os-header{top:46px}.os-logo img{width:140px}.os-header-account{gap:8px}.os-header-account>span{display:none}.os-header-account .os-button{padding:9px 11px;font-size:11px}.os-layout,.os-nav-collapsed .os-layout{display:block}.os-sidebar,.os-nav-collapsed .os-sidebar{display:none;position:fixed;left:0;top:68px;bottom:0;width:245px;height:calc(100dvh - 68px);z-index:50;box-shadow:12px 0 25px #244d2c12}.admin-bar .os-sidebar{top:114px;height:calc(100dvh - 114px)}.os-menu-open .os-sidebar{display:flex}.os-menu-open .os-sidebar span:not(.os-icon){display:inline}.os-menu-open .os-nav-label{display:block}.os-menu-open .os-sidebar-bottom{display:grid}.os-menu-open .os-drawer-backdrop{display:block;position:fixed;inset:68px 0 0;background:#173d2a33;z-index:45}.os-main{padding:23px 18px 35px}.os-hero{padding:15px 0 28px}.os-hero h1{font-size:36px}.os-hero p{font-size:13px}.os-tools{grid-template-columns:1fr}.os-tool{padding:22px 22px 22px 78px;min-height:120px}.os-tool .os-icon{position:absolute;left:18px;top:25px}.os-tool h2{margin:0 0 8px}.os-tool p{max-width:95%}.os-banner{display:block;padding:23px}.os-banner .os-button{margin-top:18px}.os-footer{padding:20px 18px;gap:12px}.os-footer>span{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.os-custom-menu{list-style:none;margin:0;padding:0;display:grid;gap:7px}.os-custom-menu a{display:block;padding:12px 15px;border-radius:11px;color:#6e8274;font-size:13px}.os-custom-menu .current-menu-item>a{background:#eaf5eb;color:#006633}.os-custom-menu ul{list-style:none;padding-left:12px}
/* The site already supplies navigation and account controls around embedded modules. */
.os-main #opol-community.oc-embedded .oc-module-nav{display:none}.os-main #opol-community.oc-embedded #oc-main{padding-top:0}
.os-user-menu{position:relative}.os-user-menu summary{list-style:none;display:flex;gap:10px;align-items:center;cursor:pointer}.os-user-menu summary::-webkit-details-marker{display:none}.os-avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#edf5e9;color:#286a3c;font-weight:700;font-size:12px}.os-account-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-user-links{position:absolute;right:0;top:48px;min-width:225px;background:#fff;border:1px solid #dce7dd;border-radius:13px;box-shadow:0 8px 30px #173a2412;padding:12px;display:grid;gap:5px;z-index:60}.os-user-links strong{padding:8px;font-size:12px}.os-user-links a{display:block;padding:9px;border-radius:8px;font-size:12px}.os-user-links a:hover{background:#f1f7ed;text-decoration:none}@media(max-width:760px){.os-account-name{display:none}}
/* Theme owns navigation; embedded modules keep only their content. */
#os-main #opol-community.oc-embedded .oc-module-nav{display:none}
#os-main #opol-community.oc-embedded #oc-main{padding-top:0}
/* Minimal, task-led public home. */
.os-home-modern{max-width:1280px;margin:0 auto;color:#173a2a}
.os-home-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:clamp(28px,5vw,70px);align-items:center;padding:24px 0 40px}
.os-home-pill{display:inline-flex;gap:8px;align-items:center;font-size:11px;font-weight:650;color:#34684b;background:#edf6f0;padding:7px 11px;border-radius:30px}
.os-home-pill i{width:6px;height:6px;border-radius:50%;background:#008d48}
.os-home-copy h1{font-size:clamp(32px,3.7vw,54px);line-height:1.12;letter-spacing:-.055em;font-weight:800;margin:21px 0 18px}
.os-home-copy h1 em{font-style:normal;color:#00733c}
.os-home-copy>p{font-size:15px;line-height:1.8;color:#53685c;max-width:590px;margin:0}
.os-home-copy .os-actions{align-items:center;margin:24px 0 17px;gap:22px}
.os-home-copy .os-button{min-height:48px;border-radius:12px;padding:13px 20px;font-size:13px;gap:18px}
.os-home-text-link{font-size:13px;font-weight:650;color:#28573c;text-underline-offset:4px}
.os-home-trust{display:flex;flex-wrap:wrap;gap:18px;color:#5a7061;font-size:10px}
.os-home-trust span{display:inline-flex;gap:6px;align-items:center}
.os-home-trust span:before{content:'✓';color:#00733c;font-weight:800}
.os-home-start{border:1px solid #d5e6db;border-radius:22px;background:linear-gradient(150deg,#f7fbf8,#edf6f0);padding:24px;box-shadow:0 12px 34px #163f2507}
.os-home-start-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:8px;font-weight:750;letter-spacing:.15em;color:#557662;margin-bottom:21px}
.os-home-live{padding:4px 8px;border:1px solid #c9dfd1;border-radius:20px;background:#fff;color:#006633;font-size:9px;letter-spacing:.03em}
.os-home-start h2{font-size:22px;margin:0 0 5px;letter-spacing:-.04em}
.os-home-start>p{font-size:12px;color:#62796b;margin:0 0 16px}
.os-home-start-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid #dce9e0;color:#193f2b}
.os-home-start-row:hover{text-decoration:none;color:#006633}
.os-home-start-row>.os-icon{padding:9px;background:#fff;border:1px solid #dce9e0;border-radius:11px;color:#00713a}
.os-home-start-row>div{min-width:0;flex:1}
.os-home-start-row strong{display:block;font-size:13px;font-weight:750}
.os-home-start-row small{display:block;font-size:10px;color:#5a7161;margin-top:3px;line-height:1.6}
.os-home-start-row>span:last-child{color:#00713a}
.os-home-start-foot{border-top:1px solid #dce9e0;padding-top:13px;font-size:10px;color:#577261}
.os-home-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:7px 0 19px}
.os-home-section-head h2{font-size:27px;letter-spacing:-.045em;margin:6px 0 0}
.os-home-section-head>p{font-size:12px;color:#657b6c;margin:0}
.os-home-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.os-home-tool{display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid #dce7df;border-radius:16px;background:#fff;color:#173a2a;transition:border-color .15s,background .15s}
.os-home-tool:hover{background:#f7fbf8;border-color:#9abda7;text-decoration:none}
.os-home-tool-top{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:20px}
.os-home-tool-top>.os-icon{display:grid;place-items:center;padding:10px;border-radius:12px;background:#eef6f0;color:#00713a}
.os-home-tool-top>span:not(.os-icon){font-size:8px;color:#4b6d57}
.os-home-tool h3{font-size:16px;font-weight:750;margin:0 0 9px}
.os-home-tool p{font-size:11px;color:#5e7365;line-height:1.8;margin:0 0 22px}
.os-home-tool-action{margin-top:auto;font-size:11px;color:#006633;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px}
.os-home-community{display:flex;gap:35px;align-items:center;justify-content:space-between;margin:28px 0 0;padding:26px 0 5px;border-top:1px solid #e1e9e3}
.os-home-community>div:first-child{max-width:650px}
.os-home-community h2{font-size:clamp(24px,2.5vw,31px);letter-spacing:-.045em;margin:10px 0 12px;line-height:1.2}
.os-home-community p{font-size:12px;line-height:1.8;color:#5c7163;margin:0}
.os-home-community-action{display:flex;flex-direction:column;gap:10px;align-items:center;flex-shrink:0}
.os-home-community-action>span{font-size:10px;color:#5c7163}
@media(max-width:1150px){.os-home-hero{gap:25px;grid-template-columns:minmax(0,1fr) minmax(265px,.85fr)}.os-home-start{padding:20px}.os-home-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.os-home-tool-top{margin-bottom:15px}}
@media(max-width:850px){.os-home-hero{grid-template-columns:minmax(0,1fr);padding:10px 0 28px}.os-home-copy h1{font-size:clamp(32px,5vw,43px)}.os-home-start{padding:20px}.os-home-start-heading{margin-bottom:14px}.os-home-community{align-items:flex-start;gap:24px}.os-home-section-head>p{display:none}}
@media(max-width:480px){.os-home-hero{gap:24px}.os-home-copy h1{font-size:35px;margin-top:17px}.os-home-copy>p{font-size:13px}.os-home-copy .os-actions{gap:16px;margin-top:20px}.os-home-copy .os-button{font-size:12px;padding:12px 16px}.os-home-text-link{font-size:12px}.os-home-trust{gap:12px;font-size:9px}.os-home-pill{font-size:10px}.os-home-start{border-radius:16px;padding:18px}.os-home-start h2{font-size:21px}.os-home-start-row{padding:13px 0}.os-home-tools{gap:10px}.os-home-tool{padding:15px 13px;border-radius:14px}.os-home-tool-top{flex-wrap:wrap;gap:8px;margin-bottom:13px}.os-home-tool h3{font-size:14px;line-height:1.3}.os-home-tool p{font-size:10px;margin-bottom:16px}.os-home-tool-action{font-size:10px}.os-home-tool-top>.os-icon{padding:8px}.os-home-section-head h2{font-size:25px}.os-home-community{flex-direction:column;gap:20px;margin-top:24px;padding-top:24px}.os-home-community-action{align-items:flex-start}.os-home-community-action .os-button{min-height:46px}}

/* Compact shell: sized for available CSS viewport, without browser zoom. */
@media(min-width:761px){
 .os-header{min-height:60px;padding:9px 22px;gap:20px}
 .os-logo img{width:158px;max-height:34px}
 .os-header .os-button,.os-header button{min-height:40px;padding:8px 13px}
 .os-layout{grid-template-columns:188px minmax(0,1fr)}
 .os-sidebar{top:60px;height:calc(100dvh - 60px);padding:22px 12px}
 .admin-bar .os-sidebar{top:92px;height:calc(100dvh - 92px)}
 .os-nav a{padding:10px 12px;gap:10px}
 .os-main{padding:22px clamp(20px,2.5vw,40px) 32px}
 .os-nav-collapsed .os-layout{grid-template-columns:70px minmax(0,1fr)}
 .os-nav-collapsed .os-nav a{padding:12px}
}
@media(min-width:761px) and (max-width:1600px){
 .os-main h1{font-size:clamp(28px,2.5vw,36px)}
 .os-home-hero{padding:12px 0 24px;gap:28px}
 .os-hero{padding:12px 0 24px}
 .os-tool{padding:20px}.os-banner{margin-top:22px;padding:20px 24px}
}
