/*
Theme Name: Sal Gema
Description: Tema editorial propio para Salt Boulder Bistro: facetas de cristal, color por sección y lectura limpia.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.1
Author: Redacción Salt Boulder Bistro
Update URI: false
Text Domain: salgema-sb
*/

@font-face{font-family:"Funnel Display";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/fd-600.woff2) format("woff2")}
@font-face{font-family:"Funnel Display";font-weight:800;font-style:normal;font-display:swap;src:url(fonts/fd-800.woff2) format("woff2")}
@font-face{font-family:"Funnel Sans";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/fs-400.woff2) format("woff2")}
@font-face{font-family:"Funnel Sans";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/fs-500.woff2) format("woff2")}
@font-face{font-family:"Funnel Sans";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/fs-700.woff2) format("woff2")}

:root{--ink:#1C1823;--paper:#F4F2F7;--rose:#F3B6C0;--coral:#FF5A36;--cobalt:#2D3CFF;--soft:#D9D3E3;--mute:#5A5266;--d:"Funnel Display",system-ui,sans-serif;--s:"Funnel Sans",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--s);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.sg-hd :focus-visible,.sg-ft :focus-visible,.sg-band :focus-visible{outline-color:var(--rose)}
.sg-chamfer:focus-visible,.sg-card:focus-visible,.sg-row:focus-visible{outline-offset:-4px}
h1,h2,h3,h4{font-family:var(--d);font-weight:800;letter-spacing:-.025em;line-height:1.08;margin:0}
p{margin:0}
.sg-skip{position:absolute;left:-9999px;top:0;background:var(--rose);color:var(--ink);padding:12px 18px;z-index:99;font-weight:700}
.sg-skip:focus{left:12px;top:12px}
.sg-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.sg-narrow{max-width:1100px;margin:0 auto;padding:0 24px}
.sg-label{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12.5px}
.sg-cut{clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
.sg-cut-sm{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}

/* Cabecera */
.sg-hd{background:var(--ink);color:var(--paper)}
.sg-hd__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px}
.sg-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paper)}
.sg-logo:hover{text-decoration:none}
.sg-logo svg{width:40px;height:44px;flex:none}
.sg-logo__t{font-family:var(--d);font-weight:800;font-size:24px;line-height:1;letter-spacing:-.02em}
.sg-logo__t small{display:block;margin-top:3px;font-family:var(--s);font-weight:500;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose)}
.sg-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-weight:500;font-size:15px}
.sg-nav a{display:block;padding:10px 14px;text-decoration:none;min-height:44px}
.sg-nav a:hover,.sg-nav a[aria-current]{color:var(--coral);text-decoration:none}
.sg-nav details{position:relative}
.sg-nav summary{list-style:none;cursor:pointer;padding:10px 14px;min-height:44px;border:1.5px solid var(--rose);color:var(--rose);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.sg-nav summary::-webkit-details-marker{display:none}
.sg-nav summary::after{content:" ▾"}
.sg-nav__sub{position:absolute;right:0;top:48px;background:var(--paper);color:var(--ink);min-width:230px;padding:8px;z-index:20}
.sg-nav__sub a{padding:12px}
.sg-nav__sub a:hover{color:var(--cobalt)}
.sg-find{position:relative}
.sg-find summary{list-style:none;cursor:pointer;width:44px;height:44px;background:var(--rose);display:grid;place-items:center;border:0;color:var(--ink);padding:0;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.sg-find summary::-webkit-details-marker{display:none}
.sg-find summary::after{content:none}
.sg-find form{position:absolute;right:0;top:50px;z-index:20;background:var(--paper);padding:10px;display:flex;gap:8px;min-width:min(340px,86vw)}
.sg-find input{flex:1;min-width:0;height:48px;border:2px solid var(--ink);padding:0 12px;font:inherit;background:#fff;color:var(--ink)}
.sg-find button{height:48px;padding:0 16px;border:0;background:var(--ink);color:var(--paper);font:inherit;font-weight:700;cursor:pointer}
.sg-burger{display:none}
.sg-burger summary{list-style:none;cursor:pointer;width:44px;height:44px;background:var(--coral);display:grid;place-items:center;color:var(--ink)}
.sg-burger summary::-webkit-details-marker{display:none}

/* Hero */
.sg-hero{background:var(--ink);color:var(--paper);clip-path:polygon(0 0,100% 0,100% calc(100% - 70px),0 100%);padding:48px 0 150px}
.sg-hero__in{display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.sg-hero__txt{flex:1 1 460px;min-width:0}
.sg-hero__k{margin-bottom:18px;color:var(--rose)}
.sg-hero h1{font-size:clamp(46px,6.2vw,84px);line-height:.95;letter-spacing:-.035em}
.sg-hero h1 em{font-style:normal;color:var(--coral)}
.sg-hero__p{margin-top:26px;font-size:19px;line-height:1.55;max-width:520px;color:var(--soft)}
.sg-btns{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.sg-btn{display:inline-block;padding:15px 26px;background:var(--coral);color:var(--ink);font-weight:700;text-decoration:none;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.sg-btn:hover{text-decoration:none;filter:brightness(1.08)}
.sg-btn--line{background:transparent;border:2px solid var(--rose);color:var(--rose);clip-path:none}
.sg-feat{flex:1 1 420px;min-width:0;display:block;text-decoration:none;color:var(--ink)}
.sg-feat:hover{text-decoration:none}
.sg-feat__box{background:var(--c,#FF5A36);color:var(--f,#1C1823);padding:20px 20px 28px;clip-path:polygon(0 0,calc(100% - 56px) 0,100% 56px,100% 100%,56px 100%,0 calc(100% - 56px))}
.sg-feat h2{margin-top:6px;font-size:clamp(24px,2.4vw,30px)}
.sg-feat .sg-label{display:block;margin-top:20px}

/* Medios */
.sg-media{display:block;position:relative;overflow:hidden;background:rgba(28,24,35,.28);aspect-ratio:16/10}
.sg-media img{width:100%;height:100%;object-fit:cover}
.sg-ph{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.4) 0 34%,transparent 34% 66%,rgba(28,24,35,.2) 66%)}
.sg-feat .sg-media{aspect-ratio:16/11}

/* Rejilla de tarjetas */
.sg-up{margin-top:-70px}
.sg-sechead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}
.sg-sechead h2{font-size:clamp(30px,3.4vw,40px);letter-spacing:-.03em}
.sg-sechead a{font-weight:700;color:var(--cobalt)}
.sg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sg-card{display:flex;flex-direction:column;background:var(--c,#fff);color:var(--f,#1C1823);clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%);min-width:0}
.sg-card__b{padding:18px 20px 24px}
.sg-card h3{margin:8px 0 0;font-size:23px;letter-spacing:-.015em;line-height:1.15}
.sg-card h3 a{text-decoration:none}
.sg-card h3 a::after{content:"";position:absolute;inset:0}
.sg-card{position:relative}
.sg-card__d{margin-top:14px;font-size:14px;font-weight:500}
.sg-tag{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px}

/* Barras de sección */
.sg-bars{display:flex;flex-direction:column;gap:10px}
.sg-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:22px 40px 22px 34px;text-decoration:none;background:var(--c);color:var(--f);clip-path:polygon(0 0,100% 0,calc(100% - 28px) 100%,0 100%)}
.sg-bar:hover{text-decoration:none;filter:brightness(1.05)}
.sg-bar b{font-family:var(--d);font-weight:800;font-size:clamp(26px,2.8vw,34px);letter-spacing:-.02em}
.sg-bar span{font-size:16px;font-weight:500;max-width:520px}
.sg-bar i{font-style:normal;font-weight:800;font-size:26px}

/* Cabeceras de página y sección */
.sg-band{background:var(--c,#FF5A36);color:var(--f,#1C1823);clip-path:polygon(0 0,100% 0,100% calc(100% - 50px),0 100%);padding:34px 0 110px}
.sg-crumbs{font-size:14px;font-weight:600}
.sg-crumbs a{text-decoration:none}
.sg-crumbs a:hover{text-decoration:underline}
.sg-crumbs .sep{margin:0 .4em}
.sg-band h1{margin-top:22px;font-size:clamp(52px,9.6vw,132px);line-height:.9;letter-spacing:-.045em;overflow-wrap:anywhere}
.sg-band__p{margin-top:20px;max-width:640px;font-size:20px;line-height:1.5;font-weight:500}
.sg-band--post{padding-bottom:100px}
.sg-band--post h1{font-size:clamp(34px,5.2vw,64px);line-height:1;letter-spacing:-.035em}
.sg-by{margin-top:22px;font-size:16px;font-weight:600}
.sg-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:-40px;position:relative}
.sg-row{position:relative;display:flex;background:#fff;color:var(--ink);min-height:190px;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%);min-width:0}
.sg-row .sg-media{flex:0 0 190px;aspect-ratio:auto;background:var(--c)}
.sg-row__b{padding:20px 24px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.sg-row h2{font-size:23px;letter-spacing:-.015em;line-height:1.15}
.sg-row h2 a{text-decoration:none}
.sg-row h2 a::after{content:"";position:absolute;inset:0}
.sg-row__d{margin-top:12px;font-size:14px;font-weight:500;color:var(--mute)}
.sg-pag{margin-top:40px;display:flex;flex-wrap:wrap;gap:10px}
.sg-pag a,.sg-pag span{min-width:48px;height:48px;padding:0 16px;display:grid;place-items:center;background:#fff;font-weight:800;text-decoration:none}
.sg-pag .current{background:var(--ink);color:var(--paper)}
.sg-pag .next,.sg-pag .prev{background:var(--coral)}

/* Entrada */
.sg-post{margin-top:-50px;display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start;position:relative}
.sg-share{flex:0 0 56px;display:flex;flex-direction:column;gap:8px;position:sticky;top:20px}
.sg-share a,.sg-share button{width:48px;height:48px;background:var(--ink);color:var(--paper);display:grid;place-items:center;border:0;cursor:pointer;text-decoration:none;padding:0}
.sg-share a:hover,.sg-share button:hover{background:var(--cobalt);text-decoration:none}
.sg-share .is-copy{background:var(--rose);color:var(--ink)}
.sg-art{flex:1 1 560px;min-width:0;max-width:720px;background:#fff;padding:36px 44px 44px;clip-path:polygon(0 0,calc(100% - 36px) 0,100% 36px,100% 100%,0 100%)}
.sg-art__img{margin-bottom:30px}
.sg-art__img img{width:100%;height:auto}
.sg-body{font-size:18px;line-height:1.7}
.sg-body>*{margin-top:0;margin-bottom:20px}
.sg-body p:first-of-type{font-size:20px;line-height:1.65}
.sg-body h2{margin:38px 0 14px;font-size:clamp(26px,3vw,32px);scroll-margin-top:20px}
.sg-body h3{margin:30px 0 12px;font-size:24px}
.sg-body a{text-decoration:none;font-weight:600;background:linear-gradient(transparent 62%,var(--rose) 62%)}
.sg-body a:hover{background:linear-gradient(transparent 20%,var(--rose) 20%)}
.sg-body a.sg-auto{background:linear-gradient(transparent 58%,var(--rose) 58%)}
.sg-body ul,.sg-body ol{padding-left:1.3em}
.sg-body li{margin-bottom:8px}
.sg-body blockquote{margin:30px 0;padding:22px 26px;background:var(--ink);color:var(--paper);font-family:var(--d);font-weight:600;font-size:24px;line-height:1.3;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}
.sg-body blockquote p{font-size:inherit!important}
.sg-body img{height:auto}
.sg-body figure{margin-left:0;margin-right:0}
.sg-body figcaption{font-size:14px;color:var(--mute);margin-top:8px}
.sg-body table{width:100%;border-collapse:collapse;font-size:16px;display:block;overflow-x:auto}
.sg-body th,.sg-body td{border:2px solid var(--ink);padding:8px 12px;text-align:left}
.sg-sign{margin-top:36px;padding-top:18px;border-top:3px solid var(--ink);font-size:15px;font-weight:600}
.sg-toc{flex:1 1 220px;max-width:260px;position:sticky;top:20px;background:#FFD23F;padding:22px 22px 26px;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.sg-toc ol{margin:12px 0 0;padding-left:20px;font-size:15.5px;line-height:1.45;font-weight:600}
.sg-toc li{padding:5px 0}
.sg-toc a{text-decoration:none}
.sg-toc a:hover{text-decoration:underline}
.sg-more{margin-top:70px}
.sg-more h2{margin-bottom:20px;font-size:clamp(28px,3vw,34px);letter-spacing:-.03em}

/* Páginas */
.sg-page{margin-top:-40px;position:relative;background:#fff;max-width:860px;padding:36px 44px 44px;clip-path:polygon(0 0,calc(100% - 36px) 0,100% 36px,100% 100%,0 100%)}
.sg-statement{margin-top:-20px;max-width:900px}
.sg-statement p{font-size:clamp(20px,2.2vw,24px);line-height:1.55;font-weight:500}
.sg-about-hero{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-end}
.sg-about-hero>div:first-child{flex:1 1 560px;min-width:0}
.sg-about-hero h1{margin-top:22px;font-size:clamp(46px,6.8vw,96px);line-height:.92;letter-spacing:-.04em}
.sg-about-img{flex:0 1 380px;min-height:300px;position:relative;background:var(--ink);overflow:hidden;clip-path:polygon(0 0,calc(100% - 50px) 0,100% 50px,100% 100%,50px 100%,0 calc(100% - 50px))}
.sg-about-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-rules{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}
.sg-rule{flex:1 1 300px;padding:30px 28px 36px;background:var(--c);color:var(--f);clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,0 100%)}
.sg-rule:nth-child(2){margin-top:44px}
.sg-rule:nth-child(3){margin-top:88px}
.sg-rule b{display:block;font-family:var(--d);font-weight:800;font-size:72px;line-height:1}
.sg-rule h3{margin:10px 0 8px;font-size:26px}
.sg-rule p{font-size:17px;line-height:1.55}
.sg-duo{display:flex;flex-wrap:wrap;gap:22px;margin-top:110px}
.sg-duo>div{padding:34px 34px 40px;clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%)}
.sg-duo h2{margin-bottom:14px;font-size:32px;letter-spacing:-.02em}
.sg-duo p{font-size:18px;line-height:1.65}
.sg-contact{background:var(--ink);color:var(--paper)}
.sg-contact .sg-hd{border-bottom:0}
.sg-ct{display:flex;flex-wrap:wrap;gap:50px;align-items:flex-start;margin-top:26px}
.sg-ct__l{flex:1 1 420px;min-width:0}
.sg-ct__l h1{font-size:clamp(56px,8.4vw,110px);line-height:.9;letter-spacing:-.045em;color:var(--rose)}
.sg-ct__l>p{margin-top:26px;font-size:20px;line-height:1.55;max-width:480px;color:var(--soft)}
.sg-mail{margin-top:34px;background:var(--coral);color:var(--ink);padding:22px 26px;max-width:420px;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
.sg-mail a{font-family:var(--d);font-weight:800;font-size:24px;text-decoration:none;word-break:break-all}
.sg-ct__img{margin-top:22px;max-width:420px;height:200px;position:relative;background:#2D3CFF;overflow:hidden;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
.sg-ct__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-form{flex:1 1 480px;min-width:0;background:var(--paper);color:var(--ink);padding:34px 34px 40px;clip-path:polygon(0 0,calc(100% - 44px) 0,100% 44px,100% 100%,0 100%)}
.sg-form__f{display:flex;flex-direction:column;gap:20px}
.sg-form label,.sg-form legend{font-weight:700;font-size:14px;display:block;margin-bottom:6px;padding:0}
.sg-form fieldset{border:0;margin:0;padding:0;min-width:0}
.sg-form input[type=text],.sg-form input[type=email],.sg-form textarea{width:100%;border:2px solid var(--ink);background:#fff;padding:12px 14px;font:inherit;font-size:17px;color:var(--ink);border-radius:0}
.sg-form input[type=text],.sg-form input[type=email]{height:52px}
.sg-form textarea{min-height:150px;resize:vertical}
.sg-chips{display:flex;flex-wrap:wrap;gap:8px}
.sg-chips input{position:absolute;opacity:0;width:1px;height:1px}
.sg-chips label{margin:0;padding:10px 16px;font-size:14px;cursor:pointer;background:var(--c);color:var(--f);border:3px solid transparent}
.sg-chips input:checked+label{border-color:var(--ink)}
.sg-chips input:focus-visible+label{outline:3px solid var(--cobalt);outline-offset:2px}
.sg-ok{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45;font-weight:500}
.sg-ok input{width:22px;height:22px;margin:0;flex:none}
.sg-send{height:56px;border:0;background:var(--ink);color:var(--paper);font:inherit;font-weight:800;font-size:17px;cursor:pointer;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}
.sg-send:hover{background:var(--cobalt)}
.sg-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sg-note{padding:16px 18px;font-weight:600;margin-bottom:20px}
.sg-note--ok{background:#19C3CF}
.sg-note--err{background:#FFD23F}
.sg-404{padding:60px 0 20px}
.sg-404 h1{font-size:clamp(90px,16vw,200px);line-height:.85;color:var(--coral)}

/* Pie */
.sg-ft{margin-top:110px;background:var(--ink);color:var(--soft);clip-path:polygon(0 70px,100% 0,100% 100%,0 100%);padding:130px 0 40px}
.sg-ft__in{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}
.sg-ft__brand{flex:1 1 300px}
.sg-ft__brand b{display:block;font-family:var(--d);font-weight:800;font-size:44px;line-height:1;letter-spacing:-.03em;color:var(--paper)}
.sg-ft__brand b span{color:var(--rose)}
.sg-ft__brand p{margin-top:16px;max-width:320px;line-height:1.55}
.sg-ft__col{flex:1 1 160px}
.sg-ft__col b{display:block;margin-bottom:12px;color:var(--paper)}
.sg-ft__col a{display:block;padding:5px 0}
.sg-ft__c{margin-top:44px;font-size:13px}

@media (max-width:980px){
 .sg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sg-rows{grid-template-columns:minmax(0,1fr)}
 .sg-toc{position:static;max-width:none;flex:1 1 100%;order:3}
 .sg-share{flex-direction:row;flex-wrap:wrap;position:static;flex:1 1 100%;order:0}
 .sg-art{order:2}
}
@media (max-width:760px){
 body{font-size:17px}
 .sg-wrap,.sg-narrow{padding:0 16px}
 .sg-nav--d{display:none}
 .sg-burger{display:block;position:relative}
 .sg-burger nav{position:absolute;right:0;top:50px;background:var(--paper);color:var(--ink);min-width:240px;padding:8px;z-index:30;display:flex;flex-direction:column}
 .sg-burger nav a{display:block;padding:12px}
 .sg-hd__r{display:flex;gap:8px;align-items:center}
 .sg-hd__in{flex-wrap:nowrap}
 .sg-logo__t{font-size:19px}.sg-logo svg{width:32px;height:35px}.sg-logo__t small{font-size:11px}
 .sg-hero{padding:30px 0 100px;clip-path:polygon(0 0,100% 0,100% calc(100% - 44px),0 100%)}
 .sg-up{margin-top:-60px}
 .sg-grid{grid-template-columns:minmax(0,1fr)}
 .sg-row{flex-direction:column}
 .sg-row .sg-media{flex:none;aspect-ratio:16/9}
 .sg-art,.sg-page{padding:24px 20px 32px}
 .sg-form{padding:24px 20px 32px}
 .sg-rule:nth-child(n){margin-top:0}
 .sg-band{padding:24px 0 90px}
 .sg-ft{padding:90px 0 28px;clip-path:polygon(0 40px,100% 0,100% 100%,0 100%)}
}
@media (min-width:761px){.sg-hd__r{display:flex;gap:10px;align-items:center;flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.page-template-page-contacto{background:var(--ink);color:var(--paper)}
.page-template-page-contacto .sg-crumbs a{color:var(--paper)}
.screen-reader-text{position:absolute;left:-9999px}
