/* =========================================================
   GALU — Página de cada proyecto (/proyecto_1/<slug>/, hecha con proyecto_1/ver.php)
   Se suma a galu.css y ficha.css. Cada proyecto tiene su color:
   .pr-azul (Oasis del Sol) y .pr-turquesa (Oasis Residencial).
   ========================================================= */
.pr{--ac:#16323C;--ac-2:#131E23;--resalte:#00807A;--claro:#EDF2F4;--linea:#C9D6DA;--fondo-sec:#F3F6F7;--info:radial-gradient(120% 140% at 100% 0%,rgba(0,170,162,.28) 0%,rgba(0,170,162,0) 55%),linear-gradient(125deg,#16323C 0%,#131E23 100%);--cab:87px;--barra:58px;background:var(--paper)}
.pr-turquesa{--ac:#00AAA2;--ac-2:#00807A;--resalte:#00807A;--claro:#E8F6F5;--linea:#B8E2DF;--fondo-sec:#F2F8F8;--info:radial-gradient(120% 140% at 100% 0%,rgba(56,182,176,.55) 0%,rgba(56,182,176,0) 55%),linear-gradient(125deg,#00AAA2 0%,#00807A 100%)}
.galu-home .pr h1,.galu-home .pr h2,.galu-home .pr h3{font-family:var(--display);color:var(--ink);margin:0;line-height:1.15;text-wrap:balance;text-transform:none}
.galu-home .pr p{margin:0}
.galu-home .pr .ic{width:20px;height:20px}

/* ---------- Botones ---------- */
.galu-home .pr .pr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:10px;border:1.5px solid var(--ac);background:var(--ac);color:#fff;font:700 15px/1.2 var(--display);text-decoration:none;cursor:pointer;box-shadow:none;text-shadow:none;transition:background .2s,border-color .2s,color .2s,transform .2s}
.galu-home .pr .pr-btn:hover{background:var(--ac-2);border-color:var(--ac-2);color:#fff;transform:translateY(-1px)}
.galu-home .pr .pr-btn-borde{background:transparent;color:var(--ac)}
.galu-home .pr .pr-btn-borde:hover{background:var(--ac);border-color:var(--ac);color:#fff}
.pr-acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* ---------- 1. Presentación y video ---------- */
.pr-top{background:linear-gradient(180deg,var(--claro) 0%,#fff 100%);padding:26px 0 clamp(40px,5vw,64px)}
.pr-top-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);grid-template-areas:"marca video" "texto video";column-gap:clamp(32px,4.5vw,64px);row-gap:22px;align-items:center}
.pr-marca{grid-area:marca;align-self:end}
.pr-video{grid-area:video;scroll-margin-top:calc(var(--cab) + var(--barra) + 16px)}
.pr-texto{grid-area:texto;align-self:start}
.pr-migas{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:#5B6B70;margin-bottom:18px}
.galu-home .pr-migas a{color:var(--resalte);font-weight:600;text-decoration:none}
.galu-home .pr-migas a:hover{text-decoration:underline}
.pr-id{display:flex;align-items:center;gap:18px}
.pr-logo{flex:none;width:96px;height:96px;border-radius:22px;background:#fff;padding:8px;box-shadow:0 12px 28px -14px rgba(19,30,35,.45);border:1px solid var(--linea)}
.galu-home .pr-logo img{width:100%;height:100%;object-fit:contain}
.galu-home .pr .pr-etq{font:700 12.5px var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--resalte)}
.galu-home .pr h1{font-size:clamp(32px,4.2vw,54px);font-weight:800;letter-spacing:-.02em;margin:4px 0 6px;line-height:1.04;color:var(--ink)}
.galu-home .pr .pr-lugar{display:flex;align-items:center;gap:6px;font:600 15px var(--display);color:#4E5D63}
.pr-lugar .ic{color:var(--resalte)}
.galu-home .pr .pr-resumen{font-size:17px;line-height:1.65;color:#33444A;max-width:46ch}

/* Reproductor de video */
.pr-repro{position:relative;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 26px 50px -26px rgba(19,30,35,.6)}
.pr-repro.pr-ancho{aspect-ratio:16/9}
.pr-repro.pr-vertical{aspect-ratio:9/16}
.pr-repro video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.galu-home .pr .pr-play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:rgba(255,255,255,.94);color:var(--ac);cursor:pointer;box-shadow:0 14px 30px -10px rgba(0,0,0,.55);text-shadow:none;transition:transform .2s}
.galu-home .pr .pr-play[hidden]{display:none}
.galu-home .pr .pr-play:hover{transform:scale(1.07)}
.galu-home .pr .pr-play .ic{width:34px;height:34px;margin-left:5px;fill:currentColor}
.pr-play::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,255,255,.7);animation:pr-pulso 2.2s ease-out infinite}
@keyframes pr-pulso{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.25);opacity:0}}
.pr-vertical .pr-play{width:64px!important;height:64px!important}
.pr-vertical .pr-play .ic{width:26px!important;height:26px!important}

/* Recuadro «Muy pronto» */
.pr-pronto{display:grid;place-content:center;justify-items:center;gap:6px;text-align:center;padding:24px;border-radius:18px;border:2px dashed var(--linea);background:linear-gradient(160deg,var(--claro),#fff);color:var(--ac);min-height:180px}
.pr-pronto.pr-ancho{aspect-ratio:16/9;min-height:0}
.galu-home .pr .pr-pronto .ic{width:36px;height:36px;color:var(--resalte);margin-bottom:4px}
.pr-pronto b{font:800 17px var(--display);color:var(--ink)}
.pr-pronto span{font-size:14px;color:#5B6B70;max-width:30ch}

/* ---------- Barra de secciones (queda fija debajo del encabezado) ---------- */
.pr-nav{position:sticky;top:var(--cab);z-index:40;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-block:1px solid var(--line)}
.pr-nav .wrap{display:flex;justify-content:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding-block:10px;min-height:var(--barra)}
.pr-nav .wrap::-webkit-scrollbar{display:none}
.galu-home .pr-nav a{flex:none;display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:#33444A;font:600 14px var(--display);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.galu-home .pr-nav a:hover{border-color:var(--ac);color:var(--ac)}
.galu-home .pr-nav a.activo{background:var(--ac);border-color:var(--ac);color:#fff}

/* ---------- Secciones ---------- */
.pr-sec{padding:clamp(52px,6vw,84px) 0;scroll-margin-top:calc(var(--cab) + var(--barra) - 1px)}
.pr-claro{background:var(--fondo-sec)}
.pr-cab{margin-bottom:28px;max-width:720px}
.galu-home .pr .pr-kicker{display:flex;align-items:center;gap:10px;font:700 12.5px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--resalte)}
.pr-kicker span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ac);color:#fff;font:700 12px var(--display);letter-spacing:0}
.galu-home .pr h2{font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-.015em;margin-top:12px}
.galu-home .pr .pr-p{font-size:17px;line-height:1.65;color:#33444A;margin-top:12px;max-width:52ch}
.pr-dos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.pr-datos{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.pr-datos li{display:flex;align-items:center;gap:12px;font:600 15.5px var(--display);color:var(--ink)}
.galu-home .pr .pr-datos .ic{width:34px;height:34px;padding:7px;border-radius:50%;background:var(--claro);color:var(--resalte)}

/* ---------- 2. Testimonios ---------- */
.pr-testimonios{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,260px));justify-content:center;gap:22px}
.pr-testi{margin:0}
.pr-testi figcaption{margin-top:12px;display:grid;gap:2px;text-align:center}
.pr-testi figcaption b{font:700 15px var(--display);color:var(--ink)}
.pr-testi figcaption span{font-size:14px;color:#5B6B70}
.pr-vacio{position:relative;grid-template-columns:repeat(3,minmax(0,190px))}
.pr-testi-vacio{aspect-ratio:9/16;border-radius:18px;border:2px dashed var(--linea);background:linear-gradient(165deg,#fff,var(--claro));display:grid;place-items:center;color:var(--linea)}
.galu-home .pr .pr-testi-vacio .ic{width:46px;height:46px;padding:12px;border-radius:50%;background:#fff;color:var(--linea);fill:currentColor}
.pr-sello{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;text-align:center;background:#fff;border-radius:16px;padding:18px 26px;box-shadow:0 18px 40px -18px rgba(19,30,35,.45);min-width:min(300px,86%)}
.galu-home .pr .pr-sello .ic{width:30px;height:30px;color:var(--resalte)}
.pr-sello b{font:800 18px var(--display);color:var(--ink)}
.pr-sello span{font-size:14px;color:#5B6B70}

/* ---------- 3. Plano ---------- */
.pr-plano{margin:0;justify-self:center;background:#000;border-radius:22px;padding:18px 18px 14px;box-shadow:0 26px 50px -26px rgba(19,30,35,.6);display:grid;justify-items:center}
.galu-home .pr .pr-plano button{all:unset;cursor:zoom-in;display:block;border-radius:12px}
.galu-home .pr .pr-plano button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.galu-home .pr-plano img{display:block;width:auto;max-width:100%;max-height:min(620px,72vh);transition:transform .4s ease}
.pr-plano button:hover img{transform:scale(1.02)}
.pr-plano figcaption{display:flex;align-items:center;gap:6px;margin-top:12px;font:600 13px var(--display);color:rgba(255,255,255,.78)}
.galu-home .pr .pr-plano figcaption .ic{width:16px;height:16px}
.pr-plano-vacio{min-height:360px}

/* Visor del plano en pantalla completa */
.pr-visor{position:fixed;inset:0;z-index:100001;background:rgba(5,9,11,.96);display:flex;flex-direction:column}
.pr-visor[hidden]{display:none}
.pr-visor-barra{display:flex;align-items:center;gap:10px;padding:12px max(16px,env(safe-area-inset-left));color:#fff}
.pr-visor-barra b{flex:1;font:700 15px var(--display);color:#fff;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.galu-home .pr .pr-visor-barra button{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font:600 14px var(--display)}
.galu-home .pr .pr-visor-barra button:hover{background:rgba(255,255,255,.22)}
.galu-home .pr .pr-visor-barra button[data-cerrar]{width:44px;padding:0;justify-content:center}
.pr-visor-lienzo{flex:1;overflow:auto;display:grid;place-items:center;padding:8px 16px 24px;-webkit-overflow-scrolling:touch}
.galu-home .pr-visor-lienzo img{max-width:100%;max-height:calc(100vh - 100px);width:auto;height:auto;cursor:zoom-in}
.pr-visor.zoom .pr-visor-lienzo{place-items:start}
.galu-home .pr-visor.zoom .pr-visor-lienzo img{max-width:none;max-height:none;width:min(1200px,220vw);cursor:zoom-out}

/* ---------- 4. Pedir información ---------- */
.pr-info{background:var(--info);color:#fff}
.galu-home .pr-info h2{color:#fff}
.galu-home .pr .pr-info .pr-kicker{color:#BFEAE7}
.pr-info .pr-kicker span{background:#fff;color:var(--ac)}
.galu-home .pr .pr-info .pr-p{color:rgba(255,255,255,.9)}
.pr-info .pr-datos li{color:#fff}
.galu-home .pr .pr-info .pr-datos .ic{background:rgba(255,255,255,.14);color:#fff}
.pr-form{background:#fff;color:var(--ink);border-radius:20px;padding:clamp(22px,3vw,34px);box-shadow:0 26px 50px -24px rgba(0,0,0,.55);display:grid;gap:14px}
.galu-home .pr-form h3{font-size:21px;font-weight:800}
.galu-home .pr-form label{display:grid;gap:6px;font:600 13px var(--display);color:var(--ink)}
.galu-home .pr-form input:not([type=checkbox]),.galu-home .pr-form select,.galu-home .pr-form textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font:16px var(--body);color:var(--ink);background:#fff;box-shadow:none;height:auto}
.galu-home .pr-form textarea{resize:vertical;min-height:84px}
.galu-home .pr-form select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316323C' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/18px;padding-right:40px}
.galu-home .pr-form input:focus,.galu-home .pr-form select:focus,.galu-home .pr-form textarea:focus{border-color:var(--ac);outline:0}
.pr-tel{display:flex;gap:8px}
.pr-tel>span{display:grid;place-items:center;padding:0 12px;border:1.5px solid var(--line);border-radius:10px;font:600 14px var(--display);background:var(--claro);color:var(--ink)}
.galu-home .pr-form .pr-chk{display:flex;align-items:flex-start;gap:10px;font:400 13px var(--body);color:#4E5D63}
.pr-chk input{margin-top:3px;accent-color:var(--ac);width:16px;height:16px;flex:none}
.galu-home .pr .pr-error{font-size:13px;color:#B42318;min-height:1em}
.galu-home .pr-form button[type=submit]{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;background:#25D366;color:#fff;font:700 16px var(--display);padding:15px;cursor:pointer;box-shadow:none;text-shadow:none}
.galu-home .pr-form button[type=submit]:hover{background:#1EBE5A}
.galu-home .pr-form button .ic{width:22px;height:22px}

/* ---------- 5. Avance de obra ---------- */
.pr-estado{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--ac);border-radius:14px;padding:20px 22px;max-width:760px;margin-bottom:24px;box-shadow:0 14px 30px -24px rgba(19,30,35,.5)}
.galu-home .pr .pr-estado>.ic{width:40px;height:40px;padding:9px;border-radius:50%;background:var(--claro);color:var(--resalte)}
.pr-estado b{display:block;font:800 16px var(--display);color:var(--ink);margin-bottom:4px}
.galu-home .pr .pr-estado p{color:#33444A;line-height:1.6}
.pr-estado-pronto{border-left-color:var(--linea)}
.pr-fotos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pr-fotos figure{margin:0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 14px 30px -22px rgba(19,30,35,.55)}
.galu-home .pr-fotos img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pr-fotos figcaption{padding:12px 14px;font-size:14px;color:#33444A}
.pr-fotos figcaption b{display:block;font:700 12px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--resalte);margin-bottom:2px}
.pr-fotos .pr-pronto{aspect-ratio:16/10;min-height:0}

/* ---------- 6. Documentación ---------- */
.pr-docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.pr-doc{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 22px;box-shadow:0 16px 34px -26px rgba(19,30,35,.55)}
.pr-doc-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--claro);color:var(--resalte);margin-bottom:4px}
.galu-home .pr .pr-doc-ic .ic{width:28px;height:28px}
.galu-home .pr .pr-doc h3{font-size:18px;font-weight:800}
.galu-home .pr .pr-doc p{color:#4E5D63;font-size:14.5px;line-height:1.55;flex:1}
.galu-home .pr .pr-doc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:6px;padding:12px 16px;border-radius:10px;border:1.5px solid var(--ac);color:var(--ac);font:700 14.5px var(--display);text-decoration:none;transition:background .2s,color .2s}
.galu-home .pr .pr-doc-btn:hover{background:var(--ac);color:#fff}
.pr-respaldo{display:flex;align-items:flex-start;gap:16px;margin-top:24px;padding:22px 24px;border-radius:18px;background:var(--claro);border:1px solid var(--linea)}
.galu-home .pr .pr-respaldo>.ic{width:42px;height:42px;padding:9px;border-radius:50%;background:var(--ac);color:#fff}
.pr-respaldo b{display:block;font:800 16px var(--display);color:var(--ink);margin-bottom:8px}
.pr-respaldo ul{margin:0;padding:0 0 0 18px;display:grid;gap:6px;color:#33444A;line-height:1.55}

/* ---------- Cierre ---------- */
.pr-fin{border-top:1px solid var(--line);background:var(--fondo-sec)}
.pr-fin .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-block:28px}
.galu-home .pr-volver{display:inline-flex;align-items:center;gap:8px;font:700 15px var(--display);color:var(--ac);text-decoration:none}
.galu-home .pr-volver:hover{text-decoration:underline}

/* ---------- Tablet y celular ---------- */
@media (max-width:900px){
 .pr-top-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"marca" "video" "texto";row-gap:20px}
 .pr-dos{grid-template-columns:minmax(0,1fr)}
 .pr-plano{width:100%}
}
@media (max-width:767px){
 .pr{--cab:69px;--barra:54px}
 .pr-top{padding-top:16px}
 .pr-migas{margin-bottom:14px}
 .pr-id{gap:14px}
 .pr-logo{width:72px;height:72px;border-radius:18px;padding:6px}
 .galu-home .pr h1{font-size:30px}
 .galu-home .pr .pr-resumen{font-size:16px}
 .pr-repro{border-radius:14px}
 .pr-repro.pr-ancho{margin-inline:calc(var(--gutter) * -.5)}
 .pr-acciones{margin-top:18px}
 .pr-acciones .pr-btn{flex:1 1 100%}
 .pr-nav .wrap{justify-content:flex-start;padding-block:9px}
 .galu-home .pr-nav a{padding:7px 14px;font-size:13.5px}
 .pr-vacio{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .pr-testimonios:not(.pr-vacio){grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:68%;justify-content:start;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none}
 .pr-testimonios:not(.pr-vacio)>*{scroll-snap-align:center}
 .pr-sello{padding:14px 18px}
 .galu-home .pr-plano img{max-height:none;width:100%}
 .pr-plano{padding:12px 12px 10px;border-radius:18px}
 .pr-fotos{grid-template-columns:minmax(0,1fr);gap:14px}
 .pr-fotos .pr-pronto:nth-child(n+2){display:none}
 .pr-docs{grid-template-columns:minmax(0,1fr)}
 .pr-fin .wrap{flex-direction:column-reverse;align-items:stretch;text-align:center}
 .pr-fin .wrap .pr-volver{justify-content:center}
}
@media (prefers-reduced-motion:reduce){.pr-play::after{animation:none}}
.galu-home .pr .pr-etq a{color:inherit;text-decoration:none;border-bottom:1.5px solid transparent;transition:border-color .2s}
.galu-home .pr .pr-etq a:hover{border-bottom-color:currentColor}
