/* [pime:digital] — piezas del sitio que la plantilla no trae: contenido del CMS, formularios, banners y cookies */
.skip{position:absolute;left:-999px;top:8px;background:var(--color-primary);color:var(--color-secondary);padding:8px 14px;border-radius:8px;z-index:1000}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}

/* migas de pan */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 14px;font-size:13.6px;color:#595959}
.crumbs li+li::before{content:"/";margin-right:6px}
.crumbs a{text-decoration:underline;text-underline-offset:2px;color:inherit}

/* contenido del CMS */
.page-panel{padding:48px 56px}
.page-panel.narrow{max-width:900px;margin-inline:auto}
.muted{color:#595959;font-size:14.4px}
.prose{font-size:16.8px;line-height:1.7;color:#3d3d3d;overflow-wrap:anywhere}
.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin:32px 0 12px;line-height:1.2;letter-spacing:-.01em;color:var(--color-secondary)}
.prose>:first-child{margin-top:0}
.prose h1{font-size:30.4px}.prose h2{font-size:24px}.prose h3{font-size:20px}.prose h4,.prose h5,.prose h6{font-size:17.6px}
.prose p{margin:14.4px 0}
.prose img,.prose iframe,.prose video{max-width:100%;height:auto}
.prose img{border-radius:8px}
.prose iframe{border:0}
.prose a{color:#4f7310;text-decoration:underline;text-underline-offset:2px}
.prose ul,.prose ol{padding-left:20.8px}
.prose table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}
.prose td,.prose th{padding:8px 12px;border:1px solid #CCCCCC}
.cover{display:block;max-width:100%;height:auto;border-radius:16px;margin:24px 0}
.tags{margin-top:32px}
.chip{display:inline-block;background:var(--color-bg-1);border:1px solid #e6e8e1;border-radius:999px;padding:4px 12px;font-size:13.6px}

/* aviso y mensajes */
.notice{border:1px solid #d9a441;background:#fff7e6;color:#5a3d00;border-radius:12px;padding:16px 18px;margin:16px 0 24px}
.notice.ok{border-color:#6d9420;background:#f0f8dc;color:#2f4a05}
.notice.err{border-color:#c0392b;background:#fdecea;color:#7a1f14}

/* paginador */
.pager{margin-top:32px}
.pager ul{list-style:none;display:flex;gap:8px;padding:0;flex-wrap:wrap;justify-content:center}
.pager a,.pager li.active a{display:block;padding:8px 14px;border:1px solid #CCCCCC;border-radius:8px;text-decoration:none;color:var(--color-secondary);background:#fff}
.pager li.active a{background:var(--color-primary);border-color:var(--color-primary);font-weight:600}

/* formulario de contacto (sección oscura) */
.contact-form-area .single-input .fe{display:block;color:#ff8b7e;font-size:13.6px;margin-top:6px}
.contact-form-area .single-input.check{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}
.contact-form-area .single-input.check input{width:auto;margin-top:4px;accent-color:var(--color-primary)}
.contact-form-area .single-input.check label{text-transform:none;font-size:13.6px;line-height:1.5}
.contact-form-area .single-input.check a{text-decoration:underline}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-notice{border-radius:12px;padding:14px 16px;margin-bottom:18px;font-size:15.2px}
.form-notice.ok{background:rgba(153,204,51,.18);border:1px solid #99CC33;color:#e9f6cf}
.form-notice.err{background:rgba(255,139,126,.15);border:1px solid #ff8b7e;color:#ffd3cd}
.wpr-contact-area .left-content-area a{overflow-wrap:anywhere}

/* tarjetas de listados (soluciones, destacados, partnership) */
.project-wrapper2 .slide-content .product-intro .bottom .more{display:block;padding:22px 24px;font-weight:600;color:#fff;text-decoration:none}
@media (hover:hover) and (pointer:fine){.project-wrapper2 .slide-content .product-intro .bottom .more:hover{color:var(--color-primary)}}

/* carrusel de banners de la home */
.pbanner-inner{position:relative;overflow:hidden;background:var(--color-secondary);color:#fff;min-height:clamp(380px,52vw,520px);border-radius:16px;touch-action:pan-y;user-select:none}
.pslide{position:absolute;inset:0;display:flex;align-items:center;padding:48px clamp(24px,6vw,80px);opacity:0;visibility:hidden;transition:opacity 500ms cubic-bezier(.23,1,.32,1),visibility 0s linear 500ms}
.pslide.on{opacity:1;visibility:visible;transition-delay:0s}
.pslide-bg{position:absolute;inset:0;background:var(--bg) center/cover no-repeat}
.pslide-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(51,51,51,.92),rgba(51,51,51,.55))}
.pslide .c{position:relative;max-width:680px}
.pslide .eyebrow{display:block;color:var(--color-primary);font-weight:600;font-size:13.6px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.pslide h2{color:#fff;font-size:clamp(32px,5vw,57.6px);line-height:1.05;letter-spacing:-.02em;margin:0 0 16px}
.pslide p{color:#ccc;max-width:56ch}
.pslide .wpr-btn{margin-top:24px}
.parrow{position:absolute;top:50%;translate:0 -50%;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.25);color:#fff;font-size:22.4px;cursor:pointer;z-index:2}
.pprev{left:16px}.pnext{right:16px}
.pdots{position:absolute;left:0;right:0;bottom:18px;display:flex;gap:8px;justify-content:center;z-index:2}
.pdots button{width:10px;height:10px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.4);cursor:pointer}
.pdots button.on{background:var(--color-primary);width:26px;border-radius:6px}

/* menú móvil: enlaces de segundo nivel */
.sidebar-inner .sub-link{font-size:16px!important;opacity:.75;padding-left:14px;display:block}

/* banner de cookies */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;margin-inline:auto;background:rgba(51,51,51,.94);backdrop-filter:blur(16px);color:#fff;border-radius:16px;padding:18px 20px;z-index:1050;display:flex;gap:12px;align-items:center;flex-wrap:wrap;transition:opacity 400ms ease,transform 400ms ease}
.cookies.hide{opacity:0;transform:translateY(100%);pointer-events:none}
.cookies p{flex:1 1 220px;font-size:14.1px;margin:0}
.cookies .wpr-btn{padding:10px 18px;font-size:14.4px}

.copyright a{color:inherit;text-decoration:underline;text-underline-offset:3px}

@media (max-width:860px){.page-panel{padding:32px 22px}}
@media (prefers-reduced-motion:reduce){.pslide,.cookies{transition:opacity 200ms ease}}

/* encabezado: con el menú del CMS caben más opciones que en la plantilla */
.wpr-desktop-menu .main-element,.wpr-btn{white-space:nowrap}
@media (min-width:992px){.header-style-one .main-nav-area .wpr-desktop-menu{gap:4px 22px}}
.banner-crumbs{position:relative;z-index:2;margin-top:18px}
.banner-crumbs .crumbs ol{justify-content:center;margin:0}

.brand-wrapper .brand-name{font:700 24px/1 var(--font-primary);letter-spacing:-.02em;color:var(--color-secondary);text-decoration:none;white-space:nowrap}
.brand-wrapper{align-items:center;justify-content:center}
.pime-wordmark{font:700 28.8px/1 var(--font-primary);letter-spacing:-.03em;color:var(--color-secondary)}
.pime-wordmark b{color:var(--color-primary)}
.prose code,.prose pre{background:#eef0e8;color:#333;border-radius:6px;padding:2px 6px;font-size:.92em}
.prose pre{padding:14px 16px;overflow-x:auto}

/* foto de Quiénes somos: llena el recuadro sin deformarse */
.wpr-about-area .right-area .image-area{height:100%}
.wpr-about-area .right-area .image-area>img.about-photo{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}

/* menú fijo: la barra superior se va con el scroll y el menú se queda arriba */
.header-style-one{position:sticky;top:calc(var(--topbar-h,0px) * -1);z-index:1040;background:var(--color-bg-1);transition:box-shadow 200ms ease}
.header-style-one.is-stuck{box-shadow:0 6px 18px rgba(0,0,0,.10)}
.header-style-one .header-style-one-wrapper{margin-top:0;border-top:0}
html{scroll-padding-top:90px}
@media (max-width:991px){html{scroll-padding-top:80px}}

/* pantalla de carga: fondo negro fijo con opacidad y un spinner bajo el nombre */
.preloader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:rgba(0,0,0,.88);clip-path:none;opacity:1;transition:opacity 400ms ease;animation:preAuto 400ms ease 10s forwards}
.preloader.is-done{opacity:0;pointer-events:none}
.preloader .site-name{position:static;width:auto;height:auto;background:transparent;align-content:normal}
.preloader .site-name span{font:700 clamp(32px,7vw,64px)/1 var(--font-primary);letter-spacing:-.03em;text-transform:none;overflow:visible}
.preloader-spin{width:46px;height:46px;border-radius:50%;border:4px solid rgba(255,255,255,.22);border-top-color:var(--color-primary);animation:preSpin .8s linear infinite}
@keyframes preSpin{to{transform:rotate(360deg)}}
@keyframes preAuto{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.preloader-spin{animation-duration:2s}}

/* Eurostile es más ancha que la tipografía anterior: en pantallas medianas se compacta el encabezado */
.header-style-one .left-area{flex-shrink:0}
@media (min-width:992px) and (max-width:1199px){
  .header-style-one .header-style-one-wrapper .left-area{padding:21px 28px}
  .header-style-one .main-nav-area .wpr-desktop-menu{gap:4px 14px}
  .header-style-one .main-nav-area .main-element{font-size:13px}
}

/* botón de menú (hamburguesa): solo en móvil y tablet */
.menu-btn-wrap{display:none;align-items:center;padding:12px 20px;border-left:1px solid rgba(3,7,18,.1);position:relative}
@media (max-width:991px){.menu-btn-wrap{display:flex;margin-left:auto}}
#menu-btn{flex:none}
#menu-btn span{background:#fff}

/* aviso de cookies: letra más grande y en blanco (el rem del tema es pequeño, por eso se usa px) */
.cookies p{font-size:16px;line-height:1.5;color:#fff}
.cookies p a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.cookies .wpr-btn{font-size:15px;padding:12px 20px;color:#fff}
.cookies #cookies-ok{background:var(--color-primary);color:var(--color-secondary);box-shadow:none}
.cookies #cookies-no{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}

/* reCAPTCHA v3: nota legal y la insignia sin tapar el botón de subir */
.rc-note{font-size:13px;line-height:1.5;color:rgba(255,255,255,.7);margin:0 0 14px}
.rc-note a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.grecaptcha-badge{bottom:96px!important;z-index:5}

/* formulario de contacto y bloque de datos: letras más grandes (la base del tema es 10 px) */
.wpr-contact-area .section-inner .contact-form-area form .single-input label{font-size:16px}
.wpr-contact-area .section-inner .contact-form-area form .single-input input,
.wpr-contact-area .section-inner .contact-form-area form .single-input textarea{font-size:18px}
.wpr-contact-area .section-inner .contact-form-area form .single-input input::placeholder,
.wpr-contact-area .section-inner .contact-form-area form .single-input textarea::placeholder{font-size:17px}
.wpr-contact-area .section-inner .contact-form-area form .form-btn-area button{font-size:17px}
.wpr-contact-area .section-inner .left-content-area .get-in-touch .sub-title,
.wpr-contact-area .section-inner .left-content-area .location-area .sub-title{font-size:16px}
.wpr-contact-area .section-inner .left-content-area .location-area ul li p{font-size:17px;line-height:1.6}
.contact-form-area .single-input .fe{font-size:15px}
.contact-form-area .single-input.check label{font-size:15px}
.form-notice{font-size:16px}
.rc-note{font-size:14px}
.wpr-contact-area .section-inner .left-content-area .get-in-touch ul li a{font-size:clamp(24px,2.7vw,34px);overflow-wrap:anywhere}
.wpr-contact-area .section-inner .left-content-area .location-area ul li p{color:rgba(255,255,255,.85)}
