
.pn{
  /* layout: cabecera editorial, barra sticky con buscador + categorías, carta en 2 columnas con puntos guía */
  --pn-paper:#FBF8F2; --pn-ink:#373737; --pn-muted:#6A6A63; --pn-sage:#5F6A5A; --pn-sage-soft:#6C7567;
  --pn-sand:#CABA9F; --pn-sand-soft:#EFE8DA; --pn-line:rgba(55,55,55,.24); --pn-focus:#2D3A4E; --pn-on-ink:#FBF8F2;
  --pn-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --pn-mono:"Courier Prime","Courier New",Courier,monospace;
  box-sizing:border-box; max-width:72rem; margin:0 auto; padding:clamp(2rem,6vw,4.5rem) 1rem clamp(3rem,8vw,6rem);
  background:var(--pn-paper); color:var(--pn-ink); font-family:var(--pn-mono); font-size:1rem; line-height:1.45;
}
.pn *,.pn *::before,.pn *::after{box-sizing:inherit}
.pn button,.pn input{font:inherit;color:inherit}
.pn [hidden]{display:none!important}
.pn .pn-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.pn .pn-head{display:grid;gap:.9rem;max-width:40rem;margin-bottom:clamp(1.5rem,4vw,2.5rem)}
.pn .pn-kicker{margin:0;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pn-sage);font-weight:700}
.pn .pn-title{margin:0;font-family:var(--pn-display);font-weight:400;font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.05;text-wrap:balance;color:var(--pn-ink)}
.pn .pn-lead{margin:0;color:var(--pn-muted);max-width:34rem}

.pn .pn-label{display:block;margin:0 0 .5rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pn-muted)}
.pn .pn-locs{display:flex;gap:.5rem;overflow-x:auto;padding:0 0 .6rem;margin:0 -1rem;padding-inline:1rem;scroll-snap-type:x proximity;scrollbar-width:thin}
.pn .pn-loc{flex:1 0 auto;min-width:10.5rem;scroll-snap-align:start;text-align:left;cursor:pointer;background:transparent;border:1px solid var(--pn-line);padding:.7rem .9rem;display:grid;gap:.1rem;transition:background .15s,color .15s,border-color .15s}
.pn .pn-loc b{font-size:.95rem}
.pn .pn-loc small{font-size:.75rem;color:var(--pn-muted);min-height:1.1em}
.pn .pn-loc:hover{border-color:var(--pn-ink)}
.pn .pn-loc[aria-checked="true"]{background:var(--pn-ink);color:var(--pn-on-ink);border-color:var(--pn-ink)}
.pn .pn-loc[aria-checked="true"] small{color:var(--pn-sand)}
.pn .pn-loc .pn-badge{display:inline-block;margin-left:.4rem;padding:0 .35rem;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid currentColor;vertical-align:.1em}

.pn .pn-terr{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:.9rem 0 0}
.pn .pn-seg{display:inline-flex;border:1px solid var(--pn-ink)}
.pn .pn-seg button{background:transparent;border:0;padding:.45rem .9rem;cursor:pointer;font-size:.85rem;letter-spacing:.04em}
.pn .pn-seg button[aria-pressed="true"]{background:var(--pn-ink);color:var(--pn-on-ink)}
.pn .pn-terr p{margin:0;font-size:.8125rem;color:var(--pn-muted);flex:1 1 16rem}

.pn .pn-bar{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--pn-sticky-top,0px));z-index:5;margin:1.4rem -1rem 0;padding:.8rem 1rem .7rem;background:var(--pn-paper);border-bottom:1px solid var(--pn-line)}
.pn .pn-tools{display:flex;flex-wrap:wrap;gap:.6rem .8rem;align-items:center}
.pn .pn-search{position:relative;flex:1 1 17rem;display:block}
.pn .pn-search svg{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);width:1.05rem;height:1.05rem;color:var(--pn-muted);pointer-events:none}
.pn .pn-search input{width:100%;padding:.62rem 2.4rem .62rem 2.5rem;background:transparent;border:1px solid var(--pn-ink);border-radius:0;appearance:none;-webkit-appearance:none;font-size:1rem}
.pn .pn-search input::placeholder{color:var(--pn-muted);opacity:1}
.pn .pn-search input::-webkit-search-cancel-button{display:none}
.pn .pn-clear{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);width:2.2rem;height:2.2rem;border:0;background:transparent;cursor:pointer;font-size:1.3rem;line-height:1;color:var(--pn-muted)}
.pn .pn-filters{display:flex;gap:.4rem;flex-wrap:wrap}
.pn .pn-chip{background:transparent;border:1px solid var(--pn-line);padding:.38rem .75rem;cursor:pointer;font-size:.8125rem;letter-spacing:.03em;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.pn .pn-chip:hover{border-color:var(--pn-ink)}
.pn .pn-chip[aria-pressed="true"]{background:var(--pn-ink);color:var(--pn-on-ink);border-color:var(--pn-ink)}
.pn .pn-chip em{font-style:normal;margin-left:.35rem;color:var(--pn-muted);font-variant-numeric:tabular-nums}
.pn .pn-chip[aria-pressed="true"] em{color:var(--pn-sand)}
.pn .pn-cats{display:flex;gap:.4rem;overflow-x:auto;margin:.7rem -1rem 0;padding:0 1rem .15rem;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 1rem,#000 calc(100% - 1.6rem),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 1rem,#000 calc(100% - 1.6rem),transparent 100%)}
.pn .pn-cats::-webkit-scrollbar{display:none}
.pn .pn-cats .pn-chip{scroll-snap-align:center}

.pn .pn-status{margin:1.1rem 0 .4rem;font-size:.8125rem;color:var(--pn-muted)}
.pn .pn-cat{margin-top:clamp(1.8rem,4vw,3rem);scroll-margin-top:8rem}
.pn .pn-cat h3{display:flex;align-items:baseline;gap:.9rem;margin:0 0 .3rem;font-family:var(--pn-display);font-weight:400;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.15;color:var(--pn-ink)}
.pn .pn-cat h3::after{content:"";flex:1;border-bottom:1px solid var(--pn-sand);transform:translateY(-.3em)}
.pn .pn-sub{margin:1.3rem 0 .2rem;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pn-sage)}
.pn .pn-subnote{margin:.1rem 0 .3rem;font-size:.8125rem;color:var(--pn-muted)}
.pn .pn-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,24rem),1fr));column-gap:clamp(1.5rem,5vw,3.5rem)}
.pn .pn-item{padding:.55rem 0;min-width:0;break-inside:avoid}
.pn .pn-row{display:flex;align-items:baseline;gap:.5rem}
.pn .pn-name{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.pn .pn-dots{flex:1 1 1rem;min-width:.8rem;border-bottom:2px dotted var(--pn-line);transform:translateY(-.22em)}
.pn .pn-price{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.pn .pn-price--plus{font-weight:400}
.pn .pn-note{display:block;margin-top:.1rem;font-size:.8125rem;line-height:1.35;color:var(--pn-muted);max-width:32rem}
.pn .pn-tag{display:inline-block;margin-left:.5rem;padding:0 .4rem;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--pn-sage-soft);color:var(--pn-sage);vertical-align:.1em;white-space:nowrap}
.pn .pn-vars{list-style:none;margin:.25rem 0 0;padding:0 0 0 .9rem;display:grid;gap:.15rem;border-left:2px solid var(--pn-sand)}
.pn .pn-vars .pn-row{font-size:.9375rem}
.pn .pn-vl{color:var(--pn-muted)}
.pn .pn-vars--extra{margin-top:.1rem;border-left:0;padding-left:0}
.pn .pn-vars--extra .pn-row{font-size:.8125rem;color:var(--pn-muted)}
.pn .pn-vars--extra .pn-price{font-weight:400;color:var(--pn-ink)}

.pn .pn-empty{margin:3rem 0;padding:2.5rem 1rem;text-align:center;border:1px dashed var(--pn-line)}
.pn .pn-empty h3{margin:0 0 .5rem;font-family:var(--pn-display);font-weight:400;font-size:1.8rem}
.pn .pn-empty p{margin:0 auto 1.2rem;max-width:28rem;color:var(--pn-muted)}
.pn .pn-foot{margin-top:clamp(2.5rem,6vw,4rem);padding-top:1.2rem;border-top:1px solid var(--pn-line);font-size:.8125rem;color:var(--pn-muted);display:grid;gap:.3rem;max-width:42rem}
.pn .pn-foot p{margin:0}

.pn :focus-visible{outline:2px solid var(--pn-focus);outline-offset:2px}
.pn .pn-anim .pn-cat{animation:pn-in .28s ease both}
@keyframes pn-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pn .pn-anim .pn-cat{animation:none}.pn *{transition:none!important}}
@media (max-width:720px){
  .pn .pn-bar{display:contents}
  .pn .pn-tools{margin-top:1.4rem}
  .pn .pn-cats{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--pn-sticky-top,0px));z-index:5;margin:.8rem -1rem 0;padding:.6rem 1rem;background:var(--pn-paper);border-bottom:1px solid var(--pn-line)}
}
@media (max-width:520px){
  .pn{font-size:.9375rem}
  .pn .pn-loc{min-width:9.5rem}
  .pn .pn-filters{width:100%}
  .pn .pn-vars .pn-row{font-size:.875rem}
}
@media print{.pn .pn-bar,.pn .pn-locs,.pn .pn-terr{display:none}.pn{padding:0}}

/* --- blindaje frente al tema (Flatsome): resets de botones, inputs y titulares --- */
.pn .pn-chip,.pn .pn-loc,.pn .pn-seg button,.pn .pn-clear{margin:0;min-width:0;text-transform:none;box-shadow:none;border-radius:0;line-height:1.3;font-weight:400;letter-spacing:.02em;flex-shrink:0;float:none;width:auto}
.pn .pn-loc{min-width:10.5rem;line-height:1.3;letter-spacing:0;width:auto}
.pn .pn-loc b{font-weight:700}
.pn .pn-chip,.pn .pn-seg button{font-size:.8125rem}
.pn .pn-seg button{font-size:.85rem;padding:.45rem .9rem;border:0;background:transparent;color:inherit}
.pn .pn-seg button[aria-pressed="true"]{background:var(--pn-ink);color:var(--pn-on-ink)}
.pn .pn-clear{padding:0;width:2.2rem;height:2.2rem;background:transparent;border:0;color:var(--pn-muted);font-size:1.3rem;letter-spacing:0}
.pn .pn-search input{height:auto;margin:0;box-shadow:none;border-radius:0;background:transparent;color:inherit;max-width:none;width:100%}
.pn h1.pn-title,.pn .pn-cat h3,.pn .pn-empty h3{text-transform:none;letter-spacing:0;font-family:var(--pn-display);font-weight:400;color:var(--pn-ink)}
.pn h1.pn-title{margin:0}
.pn .pn-cat h3{margin:0 0 .3rem}
.pn .pn-empty h3{margin:0 0 .5rem}
.pn h4.pn-sub{margin:1.3rem 0 .2rem;text-transform:uppercase;letter-spacing:.16em;font-family:var(--pn-mono);font-weight:700;color:var(--pn-sage)}
.pn .pn-list,.pn .pn-vars{margin-bottom:0}
.pn .pn-item,.pn .pn-vars li{margin:0;list-style:none}
.pn .pn-vars{margin-top:.25rem}
.pn .pn-vars--extra{margin-top:.1rem}
.pn p{margin-bottom:0}
.pn .pn-lead,.pn .pn-kicker{margin:0}
.pn .pn-status{margin:1.1rem 0 .4rem}
.pn .pn-subnote{margin:.1rem 0 .3rem}
.pn .pn-foot p{margin:0}
.pn .pn-terr p{margin:0}
.pn label{margin:0;font-size:inherit;font-weight:inherit;text-transform:none;display:block}
.pn .pn-label{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pn-muted)}
