/*
Theme Name: Sogar Puertas Metálicas
Theme URI: https://sogarpuertasmetalicas.com/
Description: Tema a medida para Sogar Puertas Metálicas. Portada con persiana animada y vídeo, catálogo filtrable, presupuestador a medida en 5 pasos, outlet con WooCommerce y asistente IA (Claude). Las solicitudes llegan al panel (Solicitudes) y por email.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Author: Sogar
Text Domain: sogar
License: GPLv2 or later
*/

:root{
	--ink:#1c1d1f;--dark:#141517;--dark-2:#2a2b2e;--dark-line:#34363a;
	--paper:#f3f1ec;--paper-2:#ebe8e1;--line:#d9d5cc;--muted:#5d5a54;--muted-2:#8a867e;--on-dark:#bdb8ae;
	--accent:#1f5fae;--accent-ink:#1a4f94;--accent-l:#9cc0ec;
	--pad:clamp(16px,4vw,48px);
	--sans:'Archivo',Helvetica,Arial,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;
}
@supports (color:oklch(0 0 0)){:root{--accent:oklch(0.52 0.17 255);--accent-ink:oklch(0.46 0.16 255);--accent-l:oklch(0.8 0.1 240)}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent-ink)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;line-height:1}
p{margin:0}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.sg-skip:focus{clip:auto;width:auto;height:auto;z-index:100;background:#fff;padding:10px;left:10px;top:10px}

/* Tipografía */
.sg-mono{font-family:var(--mono);font-size:13px;letter-spacing:.04em}
.sg-eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--accent-ink);text-transform:uppercase}
.sg-dark .sg-eyebrow,.sg-accent-l{color:var(--accent-l)}
.sg-display{font-weight:900;font-stretch:66%;text-transform:uppercase;line-height:.88;letter-spacing:-.01em}
.sg-h1{font-size:clamp(56px,8vw,128px)}
.sg-h2{font-size:clamp(44px,6vw,96px)}
.sg-h3{font-size:clamp(36px,4vw,52px)}
.sg-lead{font-size:18px;color:#45433f;max-width:560px;text-wrap:pretty}
.sg-dark .sg-lead{color:var(--on-dark)}
.sg-small{font-size:13px;color:var(--muted)}
.sg-dark .sg-small{color:#a7a39b}

/* Botones */
.sg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:0;padding:16px 24px;font-weight:700;font-size:16px;cursor:pointer;min-height:48px;transition:background .2s,color .2s,opacity .2s;text-align:center}
.sg-btn:hover{background:var(--ink);color:#fff}
.sg-dark .sg-btn:hover{background:var(--paper);color:var(--ink)}
.sg-btn[disabled]{opacity:.35;cursor:not-allowed}
.sg-btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.sg-btn--ghost:hover{background:var(--ink);color:var(--paper)}
.sg-dark .sg-btn--ghost,.sg-hero .sg-btn--ghost{color:var(--paper);border-color:var(--paper);background:rgba(20,21,23,.45);backdrop-filter:blur(6px)}
.sg-dark .sg-btn--ghost:hover,.sg-hero .sg-btn--ghost:hover{background:var(--paper);color:var(--ink)}
.sg-btn--dark{background:var(--ink);color:var(--paper)}.sg-btn--dark:hover{background:var(--accent)}
.sg-link{font-weight:600;border-bottom:1px solid currentColor;padding-bottom:2px;background:none;border-top:0;border-left:0;border-right:0;cursor:pointer}
.sg-chip{background:transparent;border:1px solid var(--ink);padding:10px 18px;font-weight:600;font-size:14px;cursor:pointer;min-height:44px;transition:background .2s,color .2s;display:inline-flex;align-items:center;gap:8px}
.sg-chip:hover{background:var(--paper-2)}
.sg-chip.is-on{background:var(--ink);color:var(--paper)}
.sg-row{display:flex;flex-wrap:wrap;gap:12px}
.sg-chips{display:flex;flex-wrap:wrap;gap:8px}

/* Header */
.sg-header{position:sticky;top:0;z-index:40;background:var(--dark);color:#e9e5dc;border-bottom:1px solid var(--dark-2);padding:10px var(--pad);display:flex;align-items:center;gap:20px}
.admin-bar .sg-header{top:32px}
.sg-brand{display:flex;align-items:center;gap:12px;color:#e9e5dc}
.sg-brand:hover{color:#fff}
.sg-brand-logo{background:var(--paper);padding:4px 6px;display:flex}
.sg-brand-logo img{height:38px;width:auto}
.sg-brand-text{display:flex;flex-direction:column;line-height:1}
.sg-brand-text b{font-weight:800;font-stretch:80%;font-size:22px;letter-spacing:.04em}
.sg-brand-text small{font-family:var(--mono);font-size:10px;color:#9a958b;margin-top:3px}
.sg-nav{margin-left:auto}
.sg-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.sg-nav a{display:block;padding:8px 10px;font-weight:600;font-size:15px;color:#e9e5dc;border-bottom:2px solid transparent}
.sg-nav a:hover{color:#fff;border-bottom-color:#5a5b5e}
.sg-nav .current-menu-item>a,.sg-nav .current_page_item>a{border-bottom-color:var(--accent)}
.sg-header-tel{font-family:var(--mono);font-size:13px;color:#e9e5dc}
.sg-cart{border:1px solid #4a4b4e;padding:9px 12px;font-family:var(--mono);font-size:13px;color:#e9e5dc;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.sg-header .sg-btn{padding:11px 18px;font-size:15px;min-height:44px}
.sg-header .sg-btn:hover{background:var(--paper);color:var(--ink)}
.sg-menu-toggle{display:none;background:var(--paper);color:var(--ink);border:0;height:44px;padding:0 16px;font-weight:700;font-size:14px;cursor:pointer}
.sg-mobile-menu{display:none}
@media (max-width:1100px){.sg-header-tel{display:none}}
@media (max-width:960px){
	.sg-nav,.sg-header>.sg-btn{display:none}
	.sg-header-actions{margin-left:auto;display:flex;gap:8px}
	.sg-menu-toggle{display:block}
	.sg-mobile-menu{position:fixed;inset:65px 0 0 0;z-index:39;background:var(--dark);padding:8px 16px 24px;overflow:auto;flex-direction:column}
	.sg-menu-open .sg-mobile-menu{display:flex}
	.sg-mobile-menu ul{list-style:none;margin:0;padding:0}
	.sg-mobile-menu a{display:block;color:var(--paper);border-bottom:1px solid var(--dark-2);padding:18px 0;font-weight:800;font-stretch:75%;font-size:34px}
	.sg-mobile-menu .sg-btn{margin-top:20px}
	.sg-mobile-menu .sg-mobile-tel{margin-top:12px;text-align:center;padding:14px;border:1px solid #4a4b4e;color:var(--paper);font-weight:600;font-size:16px}
}

/* Hero persiana */
.sg-hero{position:relative;height:230vh;background:#0f1011}
.sg-hero--static{height:100vh}
.sg-hero-stage{position:sticky;top:0;height:100vh;min-height:620px;overflow:hidden;color:var(--paper)}
.sg-hero-media{position:absolute;inset:0;transform:scale(1.16);transition:transform .2s linear;background:#2a2b2e center/cover no-repeat}
.sg-hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,13,14,.82) 0%,rgba(12,13,14,.45) 55%,rgba(12,13,14,.15) 100%)}
.sg-door{position:absolute;inset:0;display:flex;flex-direction:column;box-shadow:0 30px 60px rgba(0,0,0,.6);transition:transform .12s linear;will-change:transform}
.sg-door.is-intro{transition:transform 1.5s cubic-bezier(.2,.7,.2,1)}
.sg-door i{flex:1;background:linear-gradient(180deg,#4b4e53 0%,#3b3e43 7%,#35383c 46%,#2a2c30 50%,#373a3e 54%,#303337 100%);border-bottom:3px solid #1a1b1e;box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.sg-door b{height:12px;background:#0c0c0d;border-top:1px solid #000}
.sg-door-tag{position:absolute;right:var(--pad);top:28px;font-family:var(--mono);font-size:11px;color:#8d8a84;letter-spacing:.08em}
.sg-hero-copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--pad) clamp(40px,7vh,80px);max-width:1200px;gap:24px}
.sg-hero-copy .sg-eyebrow{color:var(--accent-l)}
.sg-hero h1{font-size:clamp(64px,11vw,184px);line-height:.84}
.sg-hero h1 em{font-style:normal;color:var(--accent-l)}
.sg-hero-copy p{font-size:clamp(17px,1.5vw,21px);color:#d9d4ca;max-width:560px;text-wrap:pretty}
.sg-hero-copy .sg-btn{padding:18px 26px;font-size:17px}
.sg-hero-meter{position:absolute;z-index:2;right:var(--pad);bottom:clamp(40px,7vh,80px);display:flex;align-items:flex-end;gap:16px;font-family:var(--mono)}
.sg-hero-meter>div:first-child{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.sg-hero-meter small{font-size:11px;letter-spacing:.1em;color:#a7a39b}
.sg-hero-meter strong{font-size:44px;line-height:1;font-weight:400}
.sg-hint{animation:sgbob 1.6s ease-in-out infinite;transition:opacity .3s}
.sg-bar{width:4px;height:170px;background:rgba(243,241,236,.18);position:relative}
.sg-bar-fill{position:absolute;left:0;right:0;bottom:0;height:0;background:var(--accent-l)}
.sg-hero--static .sg-hero-meter{display:none}
@media (max-width:960px){.sg-hero-meter{display:none}}
@keyframes sgbob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* Marquee */
.sg-marquee{background:var(--accent);color:#fff;overflow:hidden;border-bottom:1px solid var(--ink)}
.sg-marquee-track{display:flex;width:max-content;animation:sgmarquee 48s linear infinite}
.sg-marquee span{font-weight:800;font-stretch:70%;font-size:28px;text-transform:uppercase;padding:16px 22px;white-space:nowrap;display:flex;align-items:center;gap:44px}
.sg-marquee span::after{content:"";width:8px;height:8px;background:var(--ink)}
@keyframes sgmarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.sg-marquee-track{animation:none}}

/* Secciones */
.sg-section{padding:clamp(56px,8vw,120px) var(--pad);display:flex;flex-direction:column;gap:40px}
.sg-section--line{border-bottom:1px solid var(--line)}
.sg-dark{background:var(--dark);color:var(--paper)}
.sg-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.sg-head>div{display:flex;flex-direction:column;gap:12px}
.sg-page-head{display:flex;flex-direction:column;gap:14px;max-width:860px}

.sg-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-bottom:1px solid var(--line)}
.sg-stats>div{padding:40px var(--pad);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.sg-stats>div:last-child{border-right:0}
.sg-stats strong{font-weight:900;font-stretch:66%;font-size:72px;line-height:1}
.sg-stats span{color:var(--muted);font-size:15px}

/* Índice de productos */
.sg-index-wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:start}
.sg-index{border-top:1px solid var(--ink)}
.sg-index-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 12px;border-bottom:1px solid var(--ink);transition:background .25s,color .25s,padding .25s}
.sg-index-row.is-active,.sg-index-row:hover{background:var(--ink);color:var(--paper);padding-left:24px}
.sg-index-row .sg-mono{opacity:.6;font-size:12px}
.sg-index-row strong{font-weight:800;font-stretch:75%;font-size:clamp(22px,2.4vw,32px);text-transform:uppercase;line-height:1}
.sg-index-row small{font-family:var(--mono);font-size:11px;opacity:.7;text-align:right}
.sg-index-preview{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px}
.sg-index-preview p{font-size:20px;line-height:1.45;text-wrap:pretty}
@media (max-width:960px){.sg-index-wrap{grid-template-columns:1fr}.sg-index-preview,.sg-index-row small{display:none}.sg-index-row:hover{padding-left:12px}}

.sg-ph{background:repeating-linear-gradient(135deg,#ebe8e1 0 12px,#e3dfd6 12px 24px) center/cover no-repeat;position:relative;display:flex;align-items:flex-end;padding:14px;font-family:var(--mono);font-size:12px;color:var(--muted-2)}
.sg-ph.has-img{color:transparent}
.sg-ph--43{aspect-ratio:4/3}
.sg-ph--45{aspect-ratio:4/5}

/* Split (presupuestador / servicios) */
.sg-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));overflow:hidden}
.sg-split-copy{padding:clamp(56px,8vw,120px) var(--pad);display:flex;flex-direction:column;gap:28px}
.sg-split-media{min-height:480px;position:relative;overflow:hidden}
.sg-split-media>div{position:absolute;inset:-8% 0;background:#2a2b2e center/cover no-repeat}
.sg-steps-list{display:flex;flex-direction:column;border-top:1px solid var(--dark-line);max-width:520px}
.sg-steps-list div{display:flex;gap:20px;padding:15px 0;border-bottom:1px solid var(--dark-line);font-size:17px}
.sg-steps-list .sg-mono{color:var(--accent-l)}
.sg-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));border-bottom:1px solid var(--line)}
.sg-duo>div{padding:clamp(48px,6vw,88px) var(--pad);display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.sg-duo>div:first-child{border-right:1px solid var(--line)}

/* Tarjetas */
.sg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px}
.sg-grid--4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.sg-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;transition:transform .3s,box-shadow .3s}
.sg-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(28,29,31,.12)}
.sg-card-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.sg-card-body strong{font-weight:800;font-stretch:75%;font-size:26px;text-transform:uppercase;line-height:1}
.sg-card-body p{color:var(--muted);font-size:15px;line-height:1.45;flex:1}
.sg-card-actions{display:flex;gap:8px;margin-top:10px}
.sg-card-actions .sg-btn{flex:1;padding:12px;font-size:14px;min-height:44px}
.sg-card-actions .sg-btn--ghost{flex:0 0 auto;padding:12px 14px}
.sg-card[hidden]{display:none}
.sg-prod{display:flex;flex-direction:column;gap:10px;transition:transform .3s}
.sg-prod:hover{transform:translateY(-6px);color:inherit}
.sg-prod-img{aspect-ratio:4/5;background:#fff center/contain no-repeat;border:1px solid var(--line);position:relative}
.sg-badge{position:absolute;top:10px;left:10px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:11px;padding:4px 8px}
.sg-prod-name{font-weight:600;font-size:15px;line-height:1.3}
.sg-price{font-family:var(--mono);font-size:16px;color:var(--accent-ink)}

/* Reseñas */
.sg-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:48px}
.sg-reviews figure{margin:0;display:flex;flex-direction:column;gap:16px;border-top:3px solid var(--ink);padding-top:24px}
.sg-stars{color:var(--accent);letter-spacing:4px;font-size:18px}
.sg-reviews blockquote{margin:0;font-size:21px;line-height:1.45;text-wrap:pretty}
.sg-reviews figcaption{font-family:var(--mono);font-size:13px;color:var(--muted)}

/* Contenido de páginas (Elementor / editor) */
.sg-content{max-width:1200px}
.sg-content>*+*{margin-top:1.2em}
.sg-content img{height:auto}
.sg-content .gallery,.sg-content .wp-block-gallery{gap:16px}

/* Formularios */
.sg-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
.sg-field input,.sg-field select,.sg-field textarea{border:1px solid var(--ink);background:#fff;padding:14px;font-size:16px;font-weight:400;border-radius:0;width:100%}
.sg-field textarea{resize:vertical}
.sg-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.sg-check{display:flex;gap:10px;font-size:13px;color:#45433f;align-items:flex-start;font-weight:400}
.sg-check input{margin-top:3px}
.sg-hp{position:absolute;left:-9999px}
.sg-error{color:#a3261b;font-weight:600;font-size:14px}
.sg-file{border:1px dashed var(--ink);padding:16px;font-size:14px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;gap:12px}
.sg-file input{display:none}
.sg-panel{background:#fff;border:1px solid var(--line);padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:16px;align-self:start}
.sg-contact-list{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.sg-contact-list>*{display:flex;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--ink);font-size:20px;font-weight:700}
.sg-contact-list small{font-family:var(--mono);font-size:12px;font-weight:400;flex:0 0 auto}
.sg-map{width:100%;height:320px;border:1px solid var(--ink);filter:grayscale(1) contrast(1.05)}

/* Configurador */
.sg-cfg{display:flex;flex-direction:column;gap:32px}
.sg-cfg-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.sg-cfg-step{background:none;border:0;padding:0;text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;color:var(--ink)}
.sg-cfg-bar{height:4px;border:1px solid #c9c4ba;transition:background .3s}
.sg-cfg-step.is-done .sg-cfg-bar{background:var(--ink);border-color:var(--ink)}
.sg-cfg-step.is-on .sg-cfg-bar{background:var(--accent);border-color:var(--accent)}
.sg-cfg-step .sg-mono{font-size:11px;color:var(--muted)}
.sg-cfg-step-n{font-weight:600;font-size:14px}
@media (max-width:700px){.sg-cfg-step-n{display:none}}
.sg-cfg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px;align-items:start}
.sg-cfg-main{display:flex;flex-direction:column;gap:24px}
.sg-cfg-main h2{font-size:24px;font-weight:700}
.sg-cfg-q{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.sg-tipos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.sg-tipo{text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:120px;transition:background .2s,color .2s,border-color .2s}
.sg-tipo:hover{border-color:var(--ink)}
.sg-tipo strong{font-weight:800;font-stretch:75%;font-size:20px;text-transform:uppercase;line-height:1}
.sg-tipo span{font-size:13px;line-height:1.4;color:var(--muted)}
.sg-tipo.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.sg-tipo.is-on span{color:var(--on-dark)}
.sg-range{display:flex;flex-direction:column;gap:10px}
.sg-range>div{display:flex;justify-content:space-between;font-weight:600}
.sg-range input{width:100%;accent-color:var(--accent)}
.sg-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px}
.sg-color{background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:8px;text-align:left;font-size:13px;font-weight:600}
.sg-color i{display:block;width:100%;height:56px;border:1px solid rgba(0,0,0,.15)}
.sg-color.is-on i{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--ink)}
.sg-motor{text-align:left;width:100%;justify-content:flex-start;padding:16px 18px;font-size:16px}
.sg-cfg-nav{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:20px}
.sg-cfg-side{position:sticky;top:100px;display:flex;flex-direction:column;gap:14px;background:var(--dark);color:var(--paper);padding:28px}
.sg-sum-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--dark-2);padding-bottom:10px;font-size:15px}
.sg-sum-row span:first-child{color:#a7a39b}
.sg-prev{height:300px;display:flex;align-items:flex-end;justify-content:center;border-bottom:2px solid #4a4b4e;position:relative}
.sg-prev-m{position:absolute;top:0;left:0;color:#a7a39b;font-size:12px}
.sg-prev-door{display:flex;flex-direction:column;position:relative;transition:width .25s,height .25s,background .3s;box-shadow:0 0 0 6px var(--dark-2)}
.sg-prev-door i{flex:1;border-bottom:2px solid var(--l)}
.sg-prev-win{position:absolute;left:10%;right:10%;top:22%;height:7%;display:flex;gap:8%}
.sg-prev-win u{flex:1;background:#9fb4c0;border:2px solid var(--l)}
.sg-prev-peat{position:absolute;left:14%;bottom:0;width:22%;height:82%;border:2px solid var(--l);border-bottom:0}
.sg-done{background:var(--dark);color:var(--paper);padding:clamp(32px,5vw,64px);display:flex;flex-direction:column;gap:20px;max-width:880px}

/* Footer */
.sg-footer{background:var(--dark);color:#cfcac0;padding:clamp(48px,6vw,80px) var(--pad) 32px;display:flex;flex-direction:column;gap:48px}
.sg-footer-word{font-weight:900;font-stretch:66%;font-size:clamp(64px,14vw,240px);line-height:.8;color:var(--paper);text-transform:uppercase}
.sg-footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;font-size:15px;line-height:1.9}
.sg-footer-cols>div{display:flex;flex-direction:column}
.sg-footer-cols ul{list-style:none;margin:0;padding:0}
.sg-footer-cols .sg-mono{font-size:12px;color:var(--muted-2);margin-bottom:8px}
.sg-footer a:hover{color:#fff}
.sg-footer-sub{background:#fff;padding:8px}
.sg-footer-bottom{border-top:1px solid var(--dark-2);padding-top:20px;font-family:var(--mono);font-size:12px;color:var(--muted-2);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* Flotantes + chat */
.sg-float{position:fixed;right:16px;bottom:16px;z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.sg-float-btns{display:flex;gap:10px}
.sg-wa{background:#25d366;color:#0b2e17;height:52px;padding:0 18px;display:flex;align-items:center;font-weight:700;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.sg-wa:hover{color:#0b2e17;background:#3ee07c}
.sg-chat-btn{background:var(--dark);color:var(--paper);border:0;height:52px;padding:0 20px;font-weight:700;font-size:15px;cursor:pointer;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.sg-chat-btn:hover{background:var(--accent)}
.sg-dot{width:9px;height:9px;background:#5fbf7a;border-radius:50%;display:block}
.sg-chat{width:400px;height:600px;max-width:calc(100vw - 24px);max-height:calc(100vh - 100px);background:var(--paper);border:1px solid var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.3);display:none;flex-direction:column}
.sg-chat-open .sg-chat{display:flex}
.sg-chat-open .sg-chat-btn{display:none}
.sg-chat-top{background:var(--dark);color:var(--paper);padding:14px 16px;display:flex;align-items:center;gap:12px}
.sg-chat-top div{display:flex;flex-direction:column;flex:1;line-height:1.2}
.sg-chat-top b{font-size:15px}
.sg-chat-top small{font-family:var(--mono);font-size:11px;color:#a7a39b}
.sg-chat-top button{background:none;border:1px solid #4a4b4e;color:var(--paper);width:36px;height:36px;cursor:pointer;font-size:16px}
.sg-chat-list{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.sg-msg{max-width:86%;padding:10px 13px;font-size:15px;line-height:1.45;white-space:pre-wrap;border:1px solid var(--line);background:#fff;align-self:flex-start;overflow-wrap:anywhere}
.sg-msg--user{align-self:flex-end;background:var(--ink);color:var(--paper);border-color:var(--ink)}
.sg-msg a{text-decoration:underline}
.sg-note{align-self:center;font-family:var(--mono);font-size:11px;color:var(--accent-ink);text-transform:uppercase;letter-spacing:.05em}
.sg-typing{align-self:flex-start;display:flex;gap:5px;padding:12px;background:#fff;border:1px solid var(--line)}
.sg-typing i{width:7px;height:7px;background:var(--ink);animation:sgpulse 1s infinite}
.sg-typing i:nth-child(2){animation-delay:.2s}.sg-typing i:nth-child(3){animation-delay:.4s}
@keyframes sgpulse{0%,100%{opacity:.25}50%{opacity:1}}
.sg-chat-quick{display:flex;flex-direction:column;gap:6px;padding:0 16px 12px}
.sg-chat-quick[hidden]{display:none}
.sg-chat-quick button{text-align:left;background:none;border:1px solid var(--ink);padding:10px 12px;font-size:14px;font-weight:600;cursor:pointer}
.sg-chat-quick button:hover{background:var(--ink);color:var(--paper)}
.sg-chat-form{display:flex;border-top:1px solid var(--ink)}
.sg-chat-form input{flex:1;border:0;padding:16px;font-size:15px;background:#fff;outline:none;min-width:0}
.sg-chat-form button{background:var(--accent);color:#fff;border:0;padding:0 20px;font-weight:700;font-size:15px;cursor:pointer}
.sg-chat-legal{font-size:11px;color:var(--muted);padding:6px 12px;background:#fff;border-top:1px solid var(--line)}
@media (max-width:600px){.sg-chat{height:calc(100vh - 100px)}}

/* Aparición al hacer scroll */
.js [data-reveal]{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}}

/* WooCommerce */
.sg-woo{padding:clamp(48px,7vw,96px) var(--pad)}
.woocommerce .woocommerce-breadcrumb{font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:24px}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:28px 24px;margin:0!important;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;gap:10px;transition:transform .3s}
.woocommerce ul.products li.product:hover{transform:translateY(-6px)}
.woocommerce ul.products li.product a img{aspect-ratio:4/5;object-fit:contain;background:#fff;border:1px solid var(--line);margin:0 0 6px!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sans);font-size:15px!important;font-weight:600;line-height:1.3;padding:0!important}
.woocommerce ul.products li.product .price{font-family:var(--mono);font-size:16px!important;color:var(--accent-ink)!important}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--accent)!important;color:#fff!important;border-radius:0!important;font-family:var(--sans)!important;font-weight:700!important;padding:14px 18px!important}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--ink)!important}
.woocommerce span.onsale{background:var(--ink);border-radius:0;min-height:0;min-width:0;padding:4px 8px;line-height:1.4;font-family:var(--mono);font-size:11px;font-weight:400;top:10px;left:10px}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:24px;font-size:14px}
.woocommerce .woocommerce-ordering select{border:1px solid var(--ink);padding:10px;background:#fff}
.woocommerce div.product .product_title{font-weight:900;font-stretch:66%;text-transform:uppercase;font-size:clamp(40px,5vw,72px);line-height:.9;margin-bottom:16px}
.woocommerce div.product p.price{font-family:var(--mono);color:var(--accent-ink)!important;font-size:24px!important}
.woocommerce nav.woocommerce-pagination ul{border:0}
.woocommerce nav.woocommerce-pagination ul li{border:1px solid var(--ink)!important;margin:0 4px!important}
.woocommerce-message,.woocommerce-info{border-top-color:var(--accent)!important}

/* Créditos de foto */
.sg-ph{overflow:hidden}
.sg-credit{position:absolute;left:8px;bottom:8px;background:rgba(20,21,23,.65);color:#e9e5dc;font-family:var(--mono);font-size:10px;padding:3px 6px;letter-spacing:0}
.sg-credit a{color:#fff;text-decoration:underline}
.sg-ph:not(.has-img) .sg-credit{display:none}

/* Logo pintado (grafiti) sobre la persiana */
.sg-door-logo{position:absolute;left:50%;top:50%;width:min(64vw,62vh,680px);transform:translate(-50%,-50%);pointer-events:none}
.sg-door-logo img{width:100%;height:auto;opacity:.93;filter:drop-shadow(0 0 2px rgba(255,255,255,.35)) drop-shadow(0 0 14px rgba(120,170,235,.45)) drop-shadow(3px 4px 0 rgba(0,0,0,.35)) saturate(1.15)}
.sg-door-logo i{position:absolute;inset:-4%;background:radial-gradient(circle at 30% 40%,rgba(42,44,48,.35) 0 1px,transparent 2px) 0 0/7px 7px;mix-blend-mode:multiply}
