/* PROTECNIC 2026 · sistema de diseño para Elementor
   Cada bloque es un tablero y su borde lleva un canto de color: roble = producto,
   magenta = ingeniería y acciones, ciruela profundo = único fondo oscuro.
   Se activa con la clase «pt» en el contenedor raíz de cada sección, la cabecera y el pie.
   Los ajustes que se hagan en el panel de Elementor tienen prioridad sobre estos valores. */

@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-500.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-condensed-500.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-600.woff2) format('woff2')}

:root{
  --pt-plum-deep:#3a1230; --pt-on-plum:#dccbd6; --pt-on-plum-muted:#b49aab; --pt-plum-line:rgba(255,255,255,.12);
  --pt-white:#fff; --pt-board:#edeff1; --pt-graphite:#2b2e33; --pt-text:#50545b; --pt-muted:#80858d;
  --pt-line:#dadde1; --pt-mg:#c8336d; --pt-plum:#7d2554; --pt-oak:#c9a27a;
  --pt-cond:'Barlow Condensed','Arial Narrow',sans-serif; --pt-sans:'Barlow',system-ui,sans-serif;
  --pt-edge:10px;
}

/* ---------- Base ---------- */
.pt{font:400 17px/1.6 var(--pt-sans);color:var(--pt-text);-webkit-font-smoothing:antialiased}
.pt :is(h1,h2,h3,h4,p){margin:0}
.pt .elementor-widget-text-editor{font:400 17px/1.6 var(--pt-sans);color:var(--pt-text)}
.pt .elementor-widget-text-editor p{margin:0}
.pt .elementor-widget-text-editor p+p{margin-top:1em}
.pt .elementor-widget-heading .elementor-heading-title{font-family:var(--pt-cond);font-weight:600;line-height:1.02;letter-spacing:-.005em;color:var(--pt-graphite)}
.pt .elementor-widget-heading .elementor-heading-title:where(h2){font-size:clamp(34px,4.2vw,56px)}
.pt .elementor-widget-heading .elementor-heading-title:where(h3){font-size:32px}
.pt .elementor-widget-image{text-align:left}
.pt :focus-visible{outline:2px solid var(--pt-mg);outline-offset:3px}
.pt .pt-intro .elementor-widget-text-editor,.pt .pt-head .elementor-widget-text-editor{max-width:34em}
[id]{scroll-margin-top:88px}

/* ---------- Botones y enlaces ---------- */
.pt .pt-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;background:var(--pt-mg);color:#fff;border:2px solid var(--pt-mg);border-radius:2px;font:600 16px/1 var(--pt-sans);text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.pt .pt-btn .elementor-button:hover{background:var(--pt-plum);border-color:var(--pt-plum);color:#fff}
.pt .pt-btn-line .elementor-button{background:transparent;color:var(--pt-graphite);border-color:var(--pt-graphite)}
.pt .pt-btn-line .elementor-button:hover{background:var(--pt-graphite);border-color:var(--pt-graphite);color:#fff}
.pt .pt-btn-light .elementor-button{background:#fff;color:var(--pt-plum-deep);border-color:#fff}
.pt .pt-btn-light .elementor-button:hover{background:var(--pt-mg);border-color:var(--pt-mg);color:#fff}
.pt .pt-more .elementor-button{background:none;border:0;border-radius:0;padding:0;min-height:0;color:var(--pt-mg);font:600 17px/1.4 var(--pt-sans);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.pt .pt-more .elementor-button:hover{background:none;color:var(--pt-plum)}
.pt .pt-more-light .elementor-button,.pt .pt-more-light .elementor-button:hover{color:#fff}
.pt a.pt-more{color:var(--pt-mg);font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.pt a.pt-more:hover{color:var(--pt-plum)}
.pt .pt-cta-sec{margin-top:44px}
.pt .pt-cta-hero{margin-top:36px}

/* ---------- Fondo oscuro (ciruela) ---------- */
.pt.pt-dark{color:var(--pt-on-plum)}
.pt.pt-dark .elementor-widget-text-editor{color:var(--pt-on-plum)}
.pt.pt-dark .elementor-widget-heading .elementor-heading-title{color:#fff}

/* ---------- Cabecera ---------- */
.pt-hd{transition:box-shadow .2s}
.pt-scrolled .pt-hd,.pt-hd.elementor-sticky--effects{box-shadow:0 1px 0 var(--pt-line)}
.pt .pt-logo img{width:146px;height:auto}
.pt-hd .pt-nav{flex:1 1 auto}
.pt .pt-nav .elementor-nav-menu--main .elementor-item{font:500 16px/1.2 var(--pt-sans);color:var(--pt-graphite);padding:10px 12px}
.pt .pt-nav .elementor-nav-menu--main .elementor-item:hover,.pt .pt-nav .elementor-nav-menu--main .elementor-item.highlighted,.pt .pt-nav .elementor-nav-menu--main .elementor-item-active{color:var(--pt-mg)}
.pt .pt-nav .elementor-nav-menu--main .sub-arrow{padding-left:6px}
.pt .pt-nav .elementor-nav-menu--main .sub-arrow i,.pt .pt-nav .elementor-nav-menu--main .sub-arrow svg{font-size:10px;width:10px}
.pt .pt-nav .elementor-nav-menu--main .sub-menu{background:#fff;min-width:230px;padding:8px 0;border-top:4px solid var(--pt-mg);box-shadow:0 18px 30px -18px rgba(43,46,51,.35);margin-top:14px!important}
.pt .pt-nav .elementor-nav-menu--main .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-18px;height:14px}
.pt .pt-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item{font:500 16px/1.3 var(--pt-sans);color:var(--pt-graphite);background:none;padding:8px 20px;border:0}
.pt .pt-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,.pt .pt-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item.elementor-item-active{color:var(--pt-mg);background:none}
/* El CSS adicional antiguo del personalizador pinta una raya en «nav a::before»; en el diseño nuevo no aplica */
.pt nav a::before{content:none!important}
.pt-lang{display:flex;gap:14px}
.pt-lang a{padding:13px 0;font:600 14px/1 var(--pt-sans);color:var(--pt-muted);text-decoration:none}
.pt-lang a:hover{color:var(--pt-graphite)}
.pt-lang a[aria-current]{color:var(--pt-graphite);text-decoration:underline 2px var(--pt-mg);text-underline-offset:6px}
/* Con el menú móvil abierto, la pestaña «Gestionar cookies» no tapa el pie del panel */
html.pt-mm-lock #cookie-law-info-again{display:none!important}

/* ---------- Menú móvil (widget): panel lateral a pantalla completa bajo la cabecera ---------- */
.pt-mm{display:flex;align-items:center}
.pt-mm-toggle{position:relative;width:44px;height:44px;padding:0;border:0;border-radius:0;background:none;color:var(--pt-graphite);cursor:pointer}
.pt-mm-toggle:hover,.pt-mm-toggle:focus{background:none;color:var(--pt-mg)}
.pt-mm-toggle span{position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:transform .25s,top .25s,opacity .2s}
.pt-mm-toggle span:nth-child(1){top:14px}.pt-mm-toggle span:nth-child(2){top:21px}.pt-mm-toggle span:nth-child(3){top:28px}
.pt-mm.is-open .pt-mm-toggle span:nth-child(1){top:21px;transform:rotate(45deg)}
.pt-mm.is-open .pt-mm-toggle span:nth-child(2){opacity:0}
.pt-mm.is-open .pt-mm-toggle span:nth-child(3){top:21px;transform:rotate(-45deg)}
.pt-mm-panel{position:fixed;left:0;right:0;top:var(--pt-mm-top,68px);bottom:0;z-index:999;display:flex;flex-direction:column;background:#fff;border-top:4px solid var(--pt-mg);overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s linear .32s}
.pt-mm.is-open .pt-mm-panel{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.2,.7,.2,1)}
html.pt-mm-lock,html.pt-mm-lock body{overflow:hidden}
.pt-mm-nav{padding:8px 24px 24px}
.pt-mm-list,.pt-mm-sub{list-style:none;margin:0;padding:0}
.pt-mm-item{border-bottom:1px solid var(--pt-line)}
.pt-mm-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.pt-mm-link{flex:1;padding:14px 0;font:600 30px/1.05 var(--pt-cond);color:var(--pt-graphite);text-decoration:none}
.pt-mm-link:hover,.pt-mm-sublink:hover,.pt-mm-link[aria-current],.pt-mm-sublink[aria-current]{color:var(--pt-mg)}
.pt-mm-exp{position:relative;flex:none;width:48px;height:48px;padding:0;border:1px solid var(--pt-line);border-radius:2px;background:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.pt-mm-exp::after{content:"";position:absolute;left:50%;top:45%;width:9px;height:9px;border:solid var(--pt-graphite);border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg);transition:transform .2s}
.pt-mm-exp:hover,.pt-mm-exp:focus{background:#fff;border-color:var(--pt-graphite)}
.pt-mm-exp[aria-expanded=true]{background:var(--pt-graphite);border-color:var(--pt-graphite)}
.pt-mm-exp[aria-expanded=true]::after{border-color:#fff;top:55%;transform:translate(-50%,-50%) rotate(-135deg)}
.pt-mm-sub{margin:0 0 18px;padding:4px 0 4px 18px;border-left:4px solid var(--pt-mg)}
.pt-mm-sublink{display:block;padding:9px 0;font:500 18px/1.3 var(--pt-sans);color:var(--pt-text);text-decoration:none}
.pt-mm-foot{margin-top:auto;display:grid;gap:12px;padding:24px;background:var(--pt-board)}
.pt-mm-cta{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 20px;background:var(--pt-mg);color:#fff;border-radius:2px;font:600 17px/1 var(--pt-sans);text-decoration:none}
.pt-mm-cta:hover{background:var(--pt-plum);color:#fff}
.pt-mm-contact{font:500 17px/1.4 var(--pt-sans);color:var(--pt-graphite);text-decoration:none}

/* ---------- Acordeón en móvil (clase pt-acc en un contenedor: su titular abre y cierra) ---------- */
.pt-acc-btn{all:unset;display:block;width:100%}
.pt-acc>[hidden]{display:none!important}

/* ---------- Animaciones al hacer scroll (las activa protecnic.js solo bajo la pantalla inicial) ---------- */
:root{--pt-ease:cubic-bezier(.2,.7,.2,1);--pt-ease-edge:cubic-bezier(.6,0,.2,1);--pt-rv-y:26px;--pt-rv-x:48px;--pt-rv-t:.7s}
.pt-rv{opacity:0;transition:opacity var(--pt-rv-t) ease var(--pt-d,0ms),transform calc(var(--pt-rv-t) + .2s) var(--pt-ease) var(--pt-d,0ms)}
.pt-rv-up,.pt-rv-group{transform:translate3d(0,var(--pt-rv-y),0)}
.pt-rv-right{transform:translate3d(var(--pt-rv-x),0,0)}
.pt-rv.pt-in{opacity:1;transform:none}
/* Fotos: se descubren como un canto que se aplica */
.pt-rv-group.pt-photo,.pt-rv-group.pt-photo.pt-in{opacity:1;transform:none}
.pt-rv-group.pt-photo img{clip-path:inset(0 100% 0 0);transform:scale(1.06);transition:clip-path 1.1s var(--pt-ease-edge) var(--pt-d,0ms),transform 1.6s var(--pt-ease) var(--pt-d,0ms)}
.pt-rv-group.pt-photo.pt-in img{clip-path:inset(0 0 0 0);transform:none}
/* Canto de cada bloque */
.pt-rv-edge{position:relative}
.pt-edge-draw{position:absolute;left:0;right:0;z-index:2;transform:scaleX(0);transform-origin:left center;transition:transform 1s var(--pt-ease-edge) var(--pt-d,0ms);pointer-events:none}
.pt-rv-edge.pt-in>.pt-edge-draw{transform:none}
/* Proceso: tras el canto, cada número aparece en su orden */
.pt-flow li.pt-rv::before{display:inline-block;transform:translateY(.4em);opacity:0;transition:opacity .5s ease calc(var(--pt-d,0ms) + .25s),transform .6s var(--pt-ease) calc(var(--pt-d,0ms) + .25s)}
.pt-flow li.pt-rv.pt-in::before{transform:none;opacity:1}
@media (max-width:767px){:root{--pt-rv-y:16px;--pt-rv-x:28px;--pt-rv-t:.55s}}
@media (prefers-reduced-motion:reduce){.pt-rv,.pt-rv img,.pt-edge-draw{transition:none!important;opacity:1!important;transform:none!important;clip-path:none!important}}

/* ---------- Hero ---------- */
.pt .pt-h1 .elementor-heading-title{font-size:clamp(52px,6.2vw,92px);line-height:.94;letter-spacing:-.015em;max-width:11em}
.pt .pt-lead{font-size:19px;max-width:30em;margin-top:28px}
.pt-hero-video{position:relative;padding-left:var(--pt-edge);background:var(--pt-board)}
.pt-hero-video::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--pt-edge);background:var(--pt-mg);transform-origin:top;animation:pt-edge 1.4s cubic-bezier(.6,0,.2,1) .2s both;z-index:1}
@keyframes pt-edge{from{transform:scaleY(0)}}
.pt-hero-video .elementor-wrapper{aspect-ratio:16/9;padding:0!important;background:var(--pt-graphite)}
.pt-hero-video video{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- Dos accesos ---------- */
.pt .pt-door{text-decoration:none;transition:background .2s}
.pt .pt-door-h .elementor-heading-title{font-size:clamp(44px,5.5vw,76px);text-transform:uppercase;letter-spacing:.005em}
.pt .pt-door .elementor-widget-text-editor{max-width:34em}
.pt .pt-door-go{margin-top:12px}
.pt .pt-door-go .elementor-heading-title{font:600 17px/1.4 var(--pt-sans);color:var(--pt-graphite);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.pt .pt-door:hover .pt-door-go .elementor-heading-title{color:var(--pt-mg)}

/* ---------- Tabla de equivalencias ---------- */
.pt .pt-miss-t{font-weight:600;color:var(--pt-graphite)}

/* ---------- Productos ---------- */
.pt .pt-card .elementor-image-box-wrapper{text-align:left}
.pt .pt-card .elementor-image-box-img{display:block;width:100%;margin:0 0 10px}
.pt .pt-card .elementor-image-box-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-top:6px solid var(--pt-oak);transition:border-color .2s}
.pt .pt-card:hover .elementor-image-box-img img{border-color:var(--pt-mg)}
.pt .pt-card .elementor-image-box-title{font:600 24px/1.1 var(--pt-cond);color:var(--pt-graphite);margin:0 0 6px}
.pt .pt-card .elementor-image-box-title a{color:inherit;text-decoration:none}
.pt .pt-card:hover .elementor-image-box-title{color:var(--pt-mg)}
.pt .pt-card .elementor-image-box-description{font:400 15px/1.5 var(--pt-sans);color:var(--pt-text)}
.pt .pt-digital{text-decoration:none;transition:border-color .2s}
.pt .pt-digital img{width:100%;aspect-ratio:16/10;object-fit:cover}
.pt .pt-card-h .elementor-heading-title{font-size:24px;line-height:1.1}

/* ---------- Proceso (widget Proceso numerado) ---------- */
.pt-flow{list-style:none;margin:64px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));counter-reset:pt-f;border-top:var(--pt-edge) solid var(--pt-mg)}
.pt-flow li{position:relative;padding:22px 24px 0 0;counter-increment:pt-f;display:grid;gap:8px;align-content:start;font-size:15px}
.pt-flow li+li{border-left:1px solid var(--pt-plum-line);padding-left:24px}
.pt-flow li::before{content:counter(pt-f);display:block;font:600 44px/1 var(--pt-cond);color:var(--pt-mg);margin-bottom:6px}
.pt-flow b{font:600 24px/1.1 var(--pt-cond);color:#fff}
.pt-flow--claro b{color:var(--pt-graphite)}
.pt-flow--claro li+li{border-left-color:var(--pt-line)}

/* ---------- Fotos ---------- */
.pt .pt-photo img{width:100%;object-fit:cover;display:block}
.pt .pt-ing-photos{margin-top:64px}
.pt .pt-ing-photos img{height:320px;filter:grayscale(1)}
.pt .pt-emp-gal img{height:440px}

/* ---------- Carrusel de casos (widget) ---------- */
.pt-casos-head{width:min(1400px,100% - 48px);margin:0 auto 40px;display:grid;grid-template-columns:auto 1fr auto;gap:12px 48px;align-items:end}
.pt .pt-casos-h{font:600 clamp(34px,4.2vw,56px)/1.02 var(--pt-cond);color:var(--pt-graphite);letter-spacing:-.005em}
.pt-casos-head p{max-width:30em}
.pt-casos-nav{display:flex;gap:8px}
.pt-casos-nav button{width:50px;height:50px;padding:0;border-radius:2px;border:2px solid var(--pt-graphite);background:#fff;display:grid;place-items:center;cursor:pointer}
.pt-casos-nav button:hover,.pt-casos-nav button:focus{background:var(--pt-graphite)}
.pt-casos-nav svg{width:20px;height:20px;fill:none;stroke:var(--pt-graphite);stroke-width:2}
.pt-casos-nav button:hover svg,.pt-casos-nav button:focus svg{stroke:#fff}
.pt-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(1120px,86vw);column-gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(24px,calc((100% - 1400px)/2)) 20px;scroll-padding:0 max(24px,calc((100% - 1400px)/2));scrollbar-width:thin;scrollbar-color:var(--pt-mg) transparent}
.pt-slide{scroll-snap-align:start;display:grid;grid-template-columns:7fr 5fr;background:#fff;border-top:var(--pt-edge) solid var(--pt-mg)}
.pt-slide>img{width:100%;height:100%;min-height:440px;object-fit:cover}
.pt-slide-txt{padding:36px 40px;display:flex;flex-direction:column}
.pt .pt-slide-h{font:600 44px/1.02 var(--pt-cond);color:var(--pt-graphite)}
.pt-slide-cli{color:var(--pt-muted);margin-top:4px}
.pt-slide ol{list-style:none;margin:24px 0;padding:0;counter-reset:pt-s}
.pt-slide li{display:grid;grid-template-columns:44px 1fr;column-gap:16px;padding:14px 0;border-top:1px solid var(--pt-line);counter-increment:pt-s;font-size:15px}
.pt-slide li::before{content:counter(pt-s);grid-row:span 2;font:600 36px/1 var(--pt-cond);color:var(--pt-oak)}
.pt-slide li:last-child::before{color:var(--pt-mg)}
.pt-slide li b{display:block;color:var(--pt-graphite);font-weight:600}
.pt-slide .pt-more{margin-top:auto;align-self:flex-start}

/* ---------- Empresa ---------- */
.pt .pt-seal img{width:96px;height:auto}
.pt .pt-seal{margin-bottom:6px}
.pt .pt-emp-txt .elementor-widget-text-editor{max-width:30em}
.pt .pt-facts{grid-column:1/-1;margin-top:24px}
.pt .pt-fact .elementor-counter{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-top:20px;border-top:4px solid var(--pt-oak)}
.pt .pt-fact .elementor-counter-number-wrapper{order:0;display:flex;justify-content:flex-start;font:600 clamp(44px,5vw,68px)/1 var(--pt-cond);color:var(--pt-graphite)}
.pt .pt-fact .elementor-counter-title{order:1;font:400 15px/1.4 var(--pt-sans);color:var(--pt-text);text-align:left}

/* ---------- Contacto (widget Motivos + formulario de Elementor Pro) ---------- */
.pt-motivos{display:grid;gap:8px}
.pt-motivos button{display:grid;gap:2px;text-align:left;padding:18px 20px;background:#fff;border:0;border-left:var(--pt-edge) solid transparent;border-radius:0;color:var(--pt-text);font:400 15px/1.5 var(--pt-sans);cursor:pointer;transition:border-color .15s,background .15s}
.pt-motivos b{font:600 22px/1.15 var(--pt-cond);color:var(--pt-graphite)}
.pt-motivos button:hover,.pt-motivos button:focus{background:#f7f8f9;color:var(--pt-text)}
.pt-motivos button.is-active{border-left-color:var(--pt-mg);background:#fff;box-shadow:0 8px 20px -14px rgba(43,46,51,.35)}
.pt .pt-form-title .elementor-heading-title{font-size:32px}
.pt .pt-form .elementor-field-group[hidden]{display:none!important}
.pt .pt-form .elementor-field-label{font:600 14px/1.3 var(--pt-sans);color:var(--pt-graphite);margin-bottom:6px}
.pt .pt-form .elementor-field-textual{border:1px solid #c9cdd2;border-radius:2px;background:#fff;color:var(--pt-graphite);padding:12px 14px;font:400 16px/1.4 var(--pt-sans);min-height:48px}
.pt .pt-form .elementor-field-textual:focus{border-color:var(--pt-mg);box-shadow:0 0 0 1px var(--pt-mg);outline:none}
.pt .pt-form .elementor-select-wrapper select{min-height:48px}
.pt .pt-form .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option{display:flex;align-items:center;gap:10px}
.pt .pt-form .elementor-field-type-acceptance label{font:400 15px/1.4 var(--pt-sans);color:var(--pt-graphite)}
.pt .pt-form a{color:var(--pt-mg)}
.pt .pt-form .pt-rgpd{font-family:var(--pt-sans);font-size:12.5px;line-height:1.5;color:var(--pt-muted);margin:0;padding:10px 12px;background:var(--pt-board);border-left:3px solid var(--pt-mg)}
.pt .pt-form .elementor-field-type-submit{justify-content:flex-start}
.pt .pt-form .elementor-button[type=submit]{flex:0 0 auto;min-height:50px;padding:0 26px;border-radius:2px;font:600 16px/1 var(--pt-sans);width:auto}
.pt .pt-form .elementor-message{font-size:16px;color:var(--pt-graphite)}

/* ---------- Noticias (widget Entradas de Elementor Pro) ---------- */
.pt .pt-news .elementor-post{display:flex;flex-direction:column}
.pt .pt-news .elementor-post__thumbnail__link{margin-bottom:14px!important;width:100%}
.pt .pt-news .elementor-post__text{display:flex;flex-direction:column;gap:8px}
.pt .pt-news .elementor-post__meta-data{order:-1;margin:0;font:400 14px/1.4 var(--pt-sans);color:var(--pt-muted)}
.pt .pt-news .elementor-post__title,.pt .pt-news .elementor-post__title a{margin:0;font:600 22px/1.15 var(--pt-cond);color:var(--pt-graphite);text-decoration:none}
.pt .pt-news .elementor-post:hover .elementor-post__title a{color:var(--pt-mg)}

/* ---------- Pie ---------- */
.pt.pt-ft,.pt.pt-ft .elementor-widget-text-editor{font-size:15px;color:var(--pt-on-plum-muted)}
.pt.pt-ft .elementor-widget-text-editor a{color:inherit;text-decoration:none}
.pt.pt-ft .elementor-widget-text-editor a:hover{color:#fff}
.pt .pt-ft-h .elementor-heading-title{font-size:20px}
.pt .pt-ft-logo img{width:140px;height:auto}
.pt .pt-ft-links .elementor-icon-list-item{padding:3px 0!important}
.pt .pt-ft-links .elementor-icon-list-text,.pt .pt-ft-legal .elementor-icon-list-text{font:400 15px/1.5 var(--pt-sans);color:var(--pt-on-plum-muted);transition:color .15s}
.pt .pt-ft-links a:hover .elementor-icon-list-text,.pt .pt-ft-legal a:hover .elementor-icon-list-text{color:#fff}
.pt .pt-ft-legal .elementor-icon-list-text{font-size:14px;text-decoration:underline;text-underline-offset:3px}
.pt .pt-ft-legal .elementor-icon-list-items.elementor-inline-items{gap:8px 24px;margin:0!important}
.pt .pt-ft-legal .elementor-inline-items .elementor-icon-list-item{margin:0!important}
.pt .pt-ft-copy{font-size:14px}
.pt .pt-iso img{width:64px;height:auto;background:#fff;padding:4px}

/* ---------- Responsive (puntos de corte de Elementor: 1024 / 767) ---------- */
@media (max-width:1024px){
  .pt-hd .pt-lang-w{order:2;margin-left:auto}
  .pt-hd .pt-mm-w{order:3}
  .pt-flow{grid-template-columns:1fr;gap:28px;border-top:0;border-left:var(--pt-edge) solid var(--pt-mg)}
  .pt-flow li,.pt-flow li+li{padding:0 0 0 24px;border-left:0}
  .pt-casos-head{grid-template-columns:1fr;align-items:start}
  .pt-slide{grid-template-columns:1fr}
  .pt-slide>img{min-height:0;aspect-ratio:16/10}
}
@media (max-width:767px){
  .pt,.pt .elementor-widget-text-editor{font-size:16px}
  .pt .pt-h1 .elementor-heading-title{font-size:clamp(44px,12vw,60px)}
  .pt .pt-logo img{width:128px}
  .pt .pt-miss{flex-direction:column;align-items:flex-start}
  .pt .pt-ing-photos img{height:auto;aspect-ratio:4/3}
  .pt .pt-ing-photos>.pt-photo:first-child{grid-column:span 2}
  .pt .pt-card .elementor-image-box-title{font-size:20px}
  .pt .pt-card .elementor-image-box-description{display:none}
  .pt-casos-head{width:calc(100% - 32px)}
  .pt-slide-txt{padding:22px}
  .pt .pt-slide-h{font-size:32px}
  .pt-track{grid-auto-columns:88vw;padding:0 16px 16px;scroll-padding:0 16px}
  .pt-mm-nav{padding:4px 16px 24px}
  .pt-mm-link{font-size:clamp(24px,7.4vw,30px)}
  .pt-mm-foot{padding:20px 16px 28px}
  .pt .pt-ft-brand{padding-bottom:28px}
  .pt .pt-acc{border-top:1px solid var(--pt-plum-line)}
  .pt .pt-acc+:not(.pt-acc){border-top:1px solid var(--pt-plum-line)}
  .pt-acc-btn{display:flex;align-items:center;justify-content:space-between;min-height:56px;cursor:pointer}
  .pt-acc-btn::after{content:"";width:9px;height:9px;margin-right:6px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s}
  .pt-acc-btn[aria-expanded=true]::after{transform:rotate(-135deg)}
  .pt-acc-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
  .pt .pt-acc>.elementor-widget-icon-list{padding-bottom:18px}
  .pt .pt-iso{padding-top:28px}
  .pt .pt-emp-gal img{height:260px}
}
@media (prefers-reduced-motion:reduce){.pt-hero-video::before{animation:none}}
