/* LumiFix Studio · Tema «clásico dorado» para las páginas públicas (mismo lenguaje visual que el panel).
   Se carga DESPUÉS de landing.css / publico.css / home.css / cuenta.css y solo reemplaza colores, formas y tipografía. */
:root{
  --navy:#1b2438;--navy2:#222c44;--navy3:#2a3652;
  --gold:#b8935a;--gold2:#d3b27a;--gold-d:#8a6a34;--gold-l:#f3ecdd;
  --ink:#232a3b;--mute:#6a6454;--line:#e2dbcc;
  --cream:#f6f1e6;--paper:#fffdf9;--ivory:#fbf8f2;--ok:#2f7d5b;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --r:4px;--r-sm:2px;
  --sh:0 1px 2px rgba(27,36,56,.05),0 10px 28px -14px rgba(27,36,56,.16);
  --sh-lg:0 2px 4px rgba(27,36,56,.06),0 28px 54px -22px rgba(27,36,56,.32);
  /* variables de la portada y la cuenta (antes azules) */
  --bx:#b8935a;--bx2:#d3b27a;--bxd:#8a6a34;--n1:#141b2b;--n2:#1b2438;--n3:#2a3652;--soft:#f6f1e6;--tx:#232a3b;--mu:#6a6454;
}
body{background:var(--ivory);color:var(--ink)}
em{color:var(--gold-d)}
:focus-visible{outline-color:var(--gold)}

/* ---------- Tipografía editorial ---------- */
.hx-hero h1,.hx-head h2,.hx-glass h3,.hx-card h3,.hx-flow h3,.hx-pair h3,.pb-head h2,.pb-pro h2,.cu-art h1,.cu-box h2,.cu-title,.pb-empty h3,.dark .pb-empty h3,.sec-head h2,h2,.bl-hero h1,.bl-card h3{font-family:var(--serif)!important;font-weight:500!important;letter-spacing:0!important}
.hx-hero h1{font-size:clamp(36px,5vw,62px)!important;line-height:1.1}
.hx-head h2{font-size:clamp(28px,3.4vw,42px)}
.eyebrow,.hx-eyebrow{font-family:var(--sans)}

/* ---------- Botones: rectos, mayúsculas finas ---------- */
.btn,.hx-btn,.hx-ghost,.hx-outline,.btn-lg,.btn-sm{border-radius:2px!important;font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.btn-lg{padding:17px 28px;font-size:12.5px}
.hx-btn,.btn-gold{background:var(--gold);color:var(--navy);border-color:var(--gold);box-shadow:none}
.hx-btn:hover,.btn-gold:hover{background:var(--gold2);border-color:var(--gold2);color:var(--navy);transform:none;box-shadow:0 10px 22px -12px color-mix(in srgb,var(--gold-d,var(--gold-d,#8a6a34)) 70%,transparent)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--gold);color:var(--navy);transform:none}
.btn-ghost{border-color:#cfc6b0;color:var(--navy)}.btn-ghost:hover{background:var(--gold-l);border-color:var(--gold)}
.hx-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.hx-ghost:hover{background:rgba(255,255,255,.1);border-color:var(--gold2);color:#fff}
.light .hx-ghost,.white .hx-ghost{color:var(--navy);border-color:#cfc6b0}
.hx-outline,.hx-outline-d{color:var(--navy);border:1.5px solid var(--gold);background:transparent}.hx-outline:hover,.hx-outline-d:hover{background:var(--gold);color:var(--navy)}
.btn .ic{transition:transform .2s}

/* ---------- Portada ---------- */
.hx-hero{min-height:0;padding:96px 0 64px;
  background-image:linear-gradient(90deg,rgba(20,27,43,.93) 0,rgba(20,27,43,.66) 54%,rgba(20,27,43,.32) 100%),linear-gradient(180deg,rgba(20,27,43,.35),rgba(20,27,43,0) 30%,rgba(20,27,43,.7)),url(/img/publico/hero.webp),url(/img/landing/studio.webp)}
.hx-hero .lead2{color:#c9cfdc}.hx-hero .lead{color:#eef0f5}
.hx-search{border-radius:4px;border:1px solid var(--line);background:var(--paper)}
.hx-search label{border-color:var(--line)}.hx-search label .ic{color:var(--gold-d)}
.hx-search small{color:var(--gold-d);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hx-search .btn{border-radius:2px}
.hx-strip{color:#e4e7ee}.hx-strip .ic{color:var(--gold2)}
.hx-sec.light{background:var(--cream)}.hx-sec.white{background:var(--paper)}
.hx-sec.dark{background:linear-gradient(180deg,var(--navy),var(--n1));color:#d5dae6}
.hx-head p{color:var(--mu)}.dark .hx-head p,.photo .hx-head p{color:#c9cfdc}
.hx-soon,.light .hx-soon,.white .hx-soon{background:var(--gold-l);color:var(--gold-d);border:1px solid #e6d7b8;border-radius:2px;letter-spacing:.12em}
.hx-cat{border-radius:4px}
.hx-cat[data-k]{background-color:#2a3652}
.hx-cat .n{border-radius:2px;color:var(--navy)}
.hx-cat b{font-family:var(--serif);font-weight:500;font-size:17px}
.hx-flow .ico,.hx-card .ico{background:var(--gold-l);color:var(--gold-d);border-radius:50%;border:1px solid #e6d7b8}
.hx-flow li:not(:last-child):after{color:var(--gold2)}
.hx-card,.hx-glass{border-radius:4px}
.hx-card{background:var(--paper);border-color:var(--line);box-shadow:none}
.hx-glass{background:rgba(27,36,56,.66);border-color:rgba(211,178,122,.28)}
.hx-flist .ic,.hx-checks .ic,.dark .hx-checks .ic,ul.hx-glass .ic{color:var(--gold2)}.hx-checks .ic{color:var(--gold-d)}
.hx-img{border-radius:4px}
.mundo{background-image:linear-gradient(90deg,rgba(20,27,43,.93),rgba(20,27,43,.62)),radial-gradient(700px 420px at 80% 45%,color-mix(in srgb,var(--gold,var(--gold,#b8935a)) 30%,transparent),transparent 65%),url(/img/publico/mundo.webp),url(/img/landing/web.webp)}
.opiniones{background-image:linear-gradient(90deg,rgba(20,27,43,.92),rgba(20,27,43,.62)),url(/img/publico/opiniones.webp),url(/img/landing/entrega.webp)}
.fotografo{background-image:linear-gradient(90deg,rgba(20,27,43,.94),rgba(20,27,43,.62)),url(/img/publico/fotografo.webp),url(/img/landing/studio.webp)}
.cta-final{background-image:linear-gradient(90deg,rgba(20,27,43,.92),rgba(20,27,43,.4)),url(/img/publico/cta.webp),url(/img/landing/entrega.webp)}
.faq summary:hover,.faq summary .ic{color:var(--gold-d)}.faq details,.faq details:first-child{border-color:var(--line)}
.hx-foot{background:var(--n1)}.hx-fgrid nav a:hover{color:var(--gold2)}.hx-fbase i{color:var(--gold2)}.hx-fgrid h4{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;font-size:11.5px;color:var(--gold2)}
.pb-av.ph{color:var(--gold-d)}

/* ---------- Cabecera compartida ---------- */
.sn{position:sticky;top:0;z-index:60;background:rgba(255,253,249,.94);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line);transition:box-shadow .25s}
.sn.scrolled{box-shadow:0 8px 24px -18px rgba(27,36,56,.45)}
.sn-in{max-width:1200px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;gap:28px}
.sn-brand img{height:46px;width:auto}
.sn-links{display:flex;gap:26px;align-items:center}
.sn-links a{position:relative;font:600 14px var(--sans);color:#3a4256;padding:8px 0;white-space:nowrap;transition:color .2s}
.sn-links a:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.sn-links a:hover{color:var(--navy)}.sn-links a:hover:after,.sn-links a.on:after{transform:scaleX(1)}
.sn-links a.on{color:var(--gold-d)}
.sn-right{display:flex;align-items:center;gap:6px;margin-left:auto}
.sn-btn{position:relative;display:inline-grid;grid-auto-flow:column;gap:5px;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 9px;border:0;border-radius:50%;background:transparent;color:var(--navy);cursor:pointer;font:700 13px var(--sans);transition:background .2s,color .2s}
.sn-btn:hover{background:var(--gold-l);color:var(--gold-d)}
.sn-btn .ic{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sn-btn .ic.sm{width:14px;height:14px}
.sn-btn.txt{border-radius:21px;padding:0 10px}.sn-btn.txt .ic:first-child{width:20px;height:20px}
.sn-badge{position:absolute;top:4px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#c2412d;color:#fff;font:700 10.5px/17px var(--sans);text-align:center;font-style:normal;border:2px solid var(--paper);box-sizing:content-box}
.sn-av{background:var(--navy);color:var(--gold2);padding:0;width:42px;margin-left:4px}.sn-av:hover{background:var(--gold);color:var(--navy)}.sn-av .ic{width:21px;height:21px}
/* Sin sesión: solo botón «Iniciar sesión». Con sesión (.sn.in): campanita, mensajes y avatar. */
.sn-login{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 22px;margin-left:4px;border:1px solid var(--gold);border-radius:2px;background:var(--gold);color:var(--navy);font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s,box-shadow .2s}
.sn-login:hover{background:var(--gold2);border-color:var(--gold2);color:var(--navy);box-shadow:0 10px 22px -12px color-mix(in srgb,var(--gold-d,var(--gold-d,#8a6a34)) 70%,transparent)}
.sn .sn-bell,.sn #snMsg,.sn .sn-me{display:none}
.sn.in .sn-bell,.sn.in #snMsg{display:inline-grid}
.sn.in .sn-me{display:block}
.sn.in .sn-login{display:none}
.sn-av #uAv{display:grid;place-items:center;font:600 17px var(--serif)}
.sn-burger{display:none}
.sn-dd{position:relative}
.sn-pop{position:absolute;right:0;top:50px;width:340px;background:var(--paper);border:1px solid var(--line);border-radius:4px;box-shadow:var(--sh-lg);padding:8px;display:none;z-index:70}
.sn-dd.open>.sn-pop{display:block}
.sn-pop-s{width:230px}
.sn-pop-s a,.sn-pop-s button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;font:500 14px var(--sans);color:var(--ink);padding:11px 12px;border:0;background:none;border-radius:2px;cursor:pointer}
.sn-pop-s a:hover,.sn-pop-s button:not(:disabled):hover{background:var(--gold-l);color:var(--navy)}
.sn-pop-s button:disabled{color:#9a9482;cursor:not-allowed}.sn-pop-s small{margin-left:auto;font-size:11px}
.sn-pop-s .sel{font-weight:700;color:var(--navy)}.sn-pop-s .sel .ic{margin-left:auto;color:var(--gold-d);width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4}
.sn-pop-s .ic{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;color:var(--gold-d)}
.sn-pop hr{border:0;border-top:1px solid var(--line);margin:6px 0}
.sn-who{padding:10px 12px 8px}.sn-who b{display:block;font:600 15px var(--serif);color:var(--navy)}.sn-who small{display:block;font-size:12.5px;color:var(--mute);overflow:hidden;text-overflow:ellipsis}
.sn-ph{display:flex;justify-content:space-between;align-items:center;padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.sn-ph b{font:600 16px var(--serif);color:var(--navy)}.sn-ph a{font-size:12.5px;font-weight:600;color:var(--gold-d);text-decoration:underline}
.sn-list{display:grid;max-height:340px;overflow:auto}
.sn-note{display:flex;gap:12px;padding:12px;border-radius:2px;font-size:13.5px;line-height:1.4;color:var(--ink)}
.sn-note:hover{background:var(--cream)}.sn-note.new{background:#fbf3df}
.sn-note .ico{flex:none;width:34px;height:34px;border-radius:50%;background:var(--gold-l);color:var(--gold-d);display:grid;place-items:center}
.sn-note .ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sn-note em{font-family:var(--serif);color:var(--gold-d)}
.sn-empty{padding:22px 14px;text-align:center;color:var(--mute);font-size:13.5px}
.sn-cta{display:block;margin:2px 8px 8px;text-align:center;background:var(--gold);color:var(--navy);padding:12px;border-radius:2px;font:700 12px var(--sans);letter-spacing:.09em;text-transform:uppercase}
.sn-drawer{border-top:1px solid var(--line);background:var(--paper);padding:8px 24px 16px}
.sn-drawer nav{display:grid}.sn-drawer a{padding:14px 2px;border-bottom:1px solid var(--line);font:600 15px var(--sans);color:var(--navy)}
@media (max-width:1080px){.sn-links{display:none}.sn-burger{display:inline-grid}.sn-in{gap:12px}}
@media (min-width:1081px){.sn-drawer{display:none!important}}
@media (max-width:520px){.sn-in{padding:0 14px;height:60px}.sn-brand img{height:40px}.sn-btn{min-width:38px;height:38px}.sn-lang .sn-btn span{display:none}.sn-pop{position:fixed;left:12px;right:12px;top:64px;width:auto}.sn-pop-s{width:auto}}

/* ---------- Directorio: cabecera y filtros ---------- */
.pb-dhead{background:linear-gradient(180deg,var(--navy),var(--n1));padding:52px 0 92px}
.pb-dhead h1{font-family:var(--serif)!important;font-weight:500!important;letter-spacing:0!important}
.pb-dhead h1 em{color:var(--gold2)}.pb-dhead p{color:#c9cfdc}
.pb-fbox{border-radius:4px;background:var(--paper)}
.pb-q,.pb-sel select{border-radius:2px;border-color:#d8cfba;background:#fff}.pb-q:focus-within,.pb-sel select:focus{border-color:var(--gold)}
.pb-sel label,.pb-search span{color:var(--gold-d);letter-spacing:.12em}
.pb-quick button{border-radius:2px;border-color:#d8cfba;background:var(--paper)}.pb-quick button:hover{border-color:var(--gold);background:var(--gold-l)}.pb-quick button.on{background:var(--navy);border-color:var(--navy)}
.pb-toggle{border-radius:2px;border-color:#d8cfba;background:var(--paper);letter-spacing:.04em}
.pb-toggle.on{border-color:#b8454d;color:#b8454d;background:#fbf0f0}
.pb-pro{background:linear-gradient(180deg,var(--navy),var(--n1));border-radius:4px}
.pb-pro:after{background:radial-gradient(circle,color-mix(in srgb,var(--gold,var(--gold,#b8935a)) 32%,transparent),transparent 70%)}
.pb-pro h2 em{color:var(--gold2)}
.pb-sec.cream{background:var(--cream)}
.pb-empty{border-color:#d8cfba;background:var(--cream);border-radius:4px}
.foot{background:var(--paper);border-top:1px solid var(--line)}

/* ---------- Tarjeta de fotógrafo (mosaico + ficha limpia) ---------- */
.pb-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.pb-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(27,36,56,.05);padding:0;gap:0;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,border-color .28s}
.pb-card:hover{transform:translateY(-4px);border-color:var(--gold2);box-shadow:var(--sh-lg)}
/* Mosaico de fotos */
.pb-mos{position:relative;display:grid;gap:3px;aspect-ratio:5/4;background:var(--paper);overflow:hidden}
.pb-mos.m2{grid-template-columns:1fr 1fr}
.pb-mos.m3{grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr}
.pb-mos.m3 .pb-ph:first-child{grid-row:1/3}
.pb-ph{position:relative;display:block;overflow:hidden;background:var(--navy2);min-height:0}
.pb-ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.pb-card:hover .pb-ph:first-child img{transform:scale(1.045)}
.pb-noimg{display:grid;place-items:center;width:100%;height:100%;font:500 54px var(--serif);color:var(--gold2);background:radial-gradient(120% 100% at 30% 0,var(--navy3),var(--navy))}
.pb-mos:after{content:'';position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(180deg,rgba(27,36,56,0),rgba(27,36,56,.28));pointer-events:none}
.pb-fav{position:absolute;top:10px;right:10px;z-index:4;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,253,249,.92);color:var(--navy);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px -4px rgba(27,36,56,.45);transition:transform .2s,color .2s,background .2s}
.pb-fav .ic{width:16px;height:16px}
.pb-fav:hover{transform:scale(1.08);color:var(--gold-d);background:#fff}.pb-fav.on{color:#c2415d}.pb-fav.on .ic{fill:currentColor}
/* Ficha */
.pb-info{position:relative;display:flex;flex-direction:column;gap:9px;flex:1;padding:0 18px 16px}
.pb-top{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:-26px;position:relative;z-index:5}
.pb-avl{display:block;flex:none;line-height:0}
.pb-av{width:54px;height:54px;border-radius:50%;object-fit:cover;background:var(--navy);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--line),0 6px 14px -6px rgba(27,36,56,.5)}
.pb-av.ph{display:grid;place-items:center;font:600 21px var(--serif);color:var(--gold2);background:var(--navy)}
.pb-rate{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink);padding-bottom:4px}
.pb-rate b{font-weight:700;color:var(--navy)}.pb-rate small{color:var(--mute);font-size:12px}
.pb-stars{display:inline-flex;gap:1px;color:#e6d8b8}.pb-stars .ic{width:12px;height:12px;fill:currentColor;stroke:none}.pb-stars .on{color:var(--gold)}
.pb-new{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d);padding:0 0 5px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pb-new:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold)}
.pb-who{display:block;min-width:0;margin-top:2px}
.pb-who h3{font:600 20px/1.2 var(--serif);color:var(--navy);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-who h3 a{transition:color .2s}.pb-who h3 a:hover{color:var(--gold-d)}
.pb-sub{margin-top:3px;font-size:12.5px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-loc{display:flex;align-items:center;gap:6px;font-size:13px;color:#4a5164;min-width:0}
.pb-loc .ic{width:14px;height:14px;flex:none;color:var(--gold-d)}
.pb-loc>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-loc .dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:#bdb39b;margin:0 7px;vertical-align:middle}
.pb-tags{display:flex;flex-wrap:wrap;gap:6px}
.pb-tag2{font-size:11.5px;font-weight:600;line-height:1;padding:6px 10px;border-radius:99px;background:transparent;color:var(--navy);border:1px solid #d9d0bb}
.pb-tag2.more{color:var(--gold-d);border-color:transparent;background:var(--gold-l)}
.pb-bio{margin:0;font-size:13px;line-height:1.55;color:#5d5a50;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pb-cardfoot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;min-height:48px;box-sizing:border-box;padding-top:2px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mute)}
.pb-info>.pb-tags+.pb-bio,.pb-info>.pb-loc+.pb-bio{margin-bottom:4px}
.pb-cardfoot b{color:var(--navy);font-size:15px;font-weight:700}
.pb-cardfoot a{display:inline-flex;align-items:center;gap:6px;font:700 11.5px var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--navy);transition:color .2s,gap .2s}
.pb-cardfoot a .ic{width:14px;height:14px;color:var(--gold);transition:transform .2s}
.pb-cardfoot a:hover{color:var(--gold-d)}.pb-cardfoot a:hover .ic{transform:translateX(3px)}
.pb-skel{height:430px;border-radius:14px;background:linear-gradient(100deg,#f1ebdd 30%,#faf6ec 50%,#f1ebdd 70%);background-size:200% 100%}
.dark .pb-card{background:var(--paper);border-color:rgba(255,255,255,.1)}
.dark .pb-card:hover{border-color:var(--gold2)}
.dark .pb-skel{background:linear-gradient(100deg,#232d46 30%,#2f3b5a 50%,#232d46 70%);background-size:200% 100%}
.dark .pb-empty{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.22)}
.pb-card .btn-navy{background:var(--navy)}
/* Riel horizontal de la portada: las tarjetas siguen a la derecha con flechas (sin bajar de fila) */
.pb-rail{position:relative}
.pb-grid.pb-scroll{display:flex;gap:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:6px 2px 16px;margin:-6px -2px -4px;outline:0}
.pb-scroll::-webkit-scrollbar{display:none}
.pb-scroll>.pb-card,.pb-scroll>.pb-skel{flex:0 0 calc((100% - 66px) / 4);min-width:0;scroll-snap-align:start}
.pb-scroll>.pb-card{height:auto;align-self:stretch}
.pb-scroll>.pb-empty{flex:1 0 100%}
.pb-rarrow{position:absolute;top:calc(50% - 60px);z-index:6;width:44px;height:44px;border-radius:50%;border:1px solid rgba(27,36,56,.1);background:var(--paper);color:var(--navy);display:none;place-items:center;cursor:pointer;box-shadow:0 10px 26px -8px rgba(0,0,0,.55);transition:background .2s,color .2s,opacity .2s,transform .2s}
.pb-rarrow .ic{width:20px;height:20px;stroke-width:2.4}
.pb-rarrow.prev{left:-18px}.pb-rarrow.next{right:-18px}
.pb-rail.has-more .pb-rarrow{display:grid}
.pb-rarrow:hover{background:var(--gold);color:var(--navy);transform:scale(1.06)}
.pb-rarrow[disabled]{opacity:0;pointer-events:none}
.pb-rarrow:focus-visible{outline:3px solid var(--gold2);outline-offset:2px}
@media (max-width:1180px){.pb-scroll>.pb-card,.pb-scroll>.pb-skel{flex-basis:calc((100% - 44px) / 3)}}
@media (max-width:1020px){.pb-scroll>.pb-card,.pb-scroll>.pb-skel{flex-basis:calc((100% - 22px) / 2)}}
@media (max-width:640px){.pb-grid.pb-scroll{max-width:none;margin-inline:-2px}.pb-scroll>.pb-card,.pb-scroll>.pb-skel{flex-basis:82%}.pb-rarrow{width:38px;height:38px;top:calc(50% - 70px)}.pb-rarrow.prev{left:4px}.pb-rarrow.next{right:4px}}
@media (max-width:1180px){.pb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1020px){.pb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pb-grid{grid-template-columns:1fr;max-width:460px;margin-inline:auto}.pb-skel{height:420px}}
@media (prefers-reduced-motion:reduce){.pb-card,.pb-ph img,.pb-cardfoot a .ic{transition:none}.pb-card:hover{transform:none}}

/* ---------- Landing para fotógrafos (/para-fotografos) ---------- */
.hero{background:radial-gradient(1000px 520px at 88% -10%,#f3e6c8 0,transparent 60%),linear-gradient(180deg,var(--cream),var(--ivory))}
.hero h1{font-weight:500}.hero h1 em{color:var(--gold-d)}
.pill{border-radius:2px;border-color:#e6d7b8;background:var(--paper);color:var(--gold-d)}.pill .dot{background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold,var(--gold,#b8935a)) 25%,transparent)}
.art-main,.float{border-radius:4px}.f-ic{background:var(--gold-l);color:var(--gold-d);border-radius:3px}.f-ic-navy{background:var(--navy);color:var(--gold2)}
.chip-gold,.tag-soon{background:var(--gold-l);color:var(--gold-d)}.tag,.chip{border-radius:2px}
.sec.cream{background:var(--cream)}.sec.dark{background:linear-gradient(180deg,var(--navy),var(--n1))}.dark em{color:var(--gold2)}
.tool,.faq-in details,.price,.plan{border-radius:4px}
.nav{background:rgba(255,253,249,.94)}.nav .brand img{height:50px}
.link-quiet:hover{color:var(--gold-d)}.links a:hover{color:var(--navy)}
.genres li{color:var(--navy)}

/* ---------- Cuenta del cliente ---------- */
.cu{background:var(--ivory)}
.cu-auth{background:var(--paper)}
.cu-art{background-color:var(--n1);background-image:linear-gradient(180deg,rgba(20,27,43,.8),rgba(20,27,43,.94)),radial-gradient(700px 500px at 80% 20%,color-mix(in srgb,var(--gold,var(--gold,#b8935a)) 34%,transparent),transparent 65%),url(/img/publico/cuenta.webp),url(/img/landing/entrega.webp)}
.cu-art p{color:#c9cfdc}.cu-art .ic{color:var(--gold2)}.cu-art small{color:#aab2c4}
.cu-tabs{background:#efe8d8;border-radius:2px}.cu-tabs button{border-radius:2px}.cu-tabs button[aria-selected=true]{background:var(--paper);color:var(--navy);box-shadow:none;border:1px solid var(--line)}
.fld input,.fld select,.fld textarea{border-radius:2px;border-color:#d3cab5;background:var(--paper)}
.fld input:focus,.fld select:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold,var(--gold,#b8935a)) 18%,transparent)}
.fld>span{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#5d5645}
.err{border-radius:2px}.alt a,.cu-back:hover{color:var(--gold-d)}
.cu-subnav{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--paper);padding:0 24px;scrollbar-width:none}
.cu-subnav::-webkit-scrollbar{display:none}
.cu-subnav .in{max-width:1200px;margin:0 auto;width:100%;display:flex;gap:6px}
.cu-subnav a{padding:14px 14px;font:600 13.5px var(--sans);color:#5a6075;border-bottom:2px solid transparent;white-space:nowrap}.cu-subnav a:hover{color:var(--navy)}.cu-subnav a.on{color:var(--navy);border-color:var(--gold)}
.cu-main{padding-top:34px}
.stat,.panel,.empty,.cu-card,.fc{border-radius:4px;box-shadow:none;border-color:var(--line);background:var(--paper)}
.stat .ico{background:var(--gold-l);color:var(--gold-d);border-radius:3px}
.fc .bd .chips span{border-radius:2px;background:var(--gold-l);color:var(--gold-d)}
.ms-empty{text-align:center;max-width:560px;margin:40px auto;padding:48px 28px;border:1px dashed #d3c8ae;border-radius:4px;background:var(--cream)}
.ms-empty .ico{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--paper);border:1px solid #e6d7b8;color:var(--gold-d);margin-bottom:16px}
.ms-empty .ico .ic{width:28px;height:28px}
.ms-empty h3{font:500 24px var(--serif);color:var(--navy);margin-bottom:8px}.ms-empty p{color:var(--mute);margin-bottom:22px;font-size:15px}

/* ---------- Blog y Eventos (próximamente) ---------- */
.bl-hero{background:linear-gradient(180deg,var(--navy),var(--n1));color:#dfe3ec;padding:72px 0 96px;position:relative;overflow:hidden}
.bl-hero:after{content:'';position:absolute;right:-90px;top:-90px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold,var(--gold,#b8935a)) 30%,transparent),transparent 70%)}
.bl-hero .wrap{position:relative;z-index:1;max-width:820px}
.bl-hero .eyebrow{color:var(--gold2)}
.bl-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.1;color:#fff;margin-bottom:16px}.bl-hero h1 em{color:var(--gold2)}
.bl-hero p{font-size:17px;color:#c9cfdc;max-width:600px;margin-bottom:28px}
.bl-badge{display:inline-block;font:700 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:var(--gold2);padding:6px 12px;border-radius:2px;margin-bottom:20px}
.bl-sec{padding:0 0 84px;margin-top:-48px;position:relative;z-index:2}
.bl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.bl-card{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:26px 22px;box-shadow:var(--sh)}
.bl-card .ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--gold-l);color:var(--gold-d);border:1px solid #e6d7b8;margin-bottom:16px}.bl-card .ico .ic{width:22px;height:22px}
.bl-card h3{font-size:20px;color:var(--navy);margin-bottom:8px}.bl-card p{font-size:14px;color:var(--mute)}
.bl-card i{display:inline-block;font:700 10.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:var(--gold-d);margin-top:14px}
.bl-note{margin-top:32px;text-align:center;color:var(--mute);font-size:14.5px}.bl-note a{color:var(--gold-d);font-weight:600;border-bottom:1px solid currentColor}
@media (max-width:1020px){.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.bl-grid{grid-template-columns:1fr}.bl-hero{padding:48px 0 80px}}

/* Categorías: velo navy cálido */
.hx-cat[data-k=bodas]{background-image:linear-gradient(180deg,rgba(20,27,43,0) 35%,rgba(20,27,43,.9)),url(/img/publico/cat-bodas.webp)}
.hx-cat[data-k=retratos]{background-image:linear-gradient(180deg,rgba(20,27,43,0) 35%,rgba(20,27,43,.9)),url(/img/publico/cat-retratos.webp)}
.hx-cat[data-k=familia]{background-image:linear-gradient(180deg,rgba(20,27,43,0) 35%,rgba(20,27,43,.9)),url(/img/publico/cat-familia.webp)}
.hx-cat[data-k=celebraciones]{background-image:linear-gradient(180deg,rgba(20,27,43,0) 35%,rgba(20,27,43,.9)),url(/img/publico/cat-celebraciones.webp)}
.hx-cat[data-k=graduaciones]{background-image:linear-gradient(180deg,rgba(20,27,43,0) 35%,rgba(20,27,43,.9)),url(/img/publico/cat-graduaciones.webp)}
.hx-cat[data-k=corporativo]{background-image:linear-gradient(180deg,rgba(20,27,43,0) 35%,rgba(20,27,43,.9)),url(/img/publico/cat-corporativo.webp)}
.hx-cat[data-k=moda]{background-image:linear-gradient(180deg,rgba(20,27,43,0) 35%,rgba(20,27,43,.9)),url(/img/publico/cat-moda.webp)}
.hx-cat[data-k=productos]{background-image:linear-gradient(180deg,rgba(20,27,43,0) 35%,rgba(20,27,43,.9)),url(/img/publico/cat-productos.webp)}
.hx-cat[data-k=inmobiliaria]{background-image:linear-gradient(180deg,rgba(20,27,43,0) 35%,rgba(20,27,43,.9)),url(/img/publico/cat-inmobiliaria.webp)}
.hx-cat[data-k=naturaleza]{background-image:linear-gradient(180deg,rgba(20,27,43,0) 35%,rgba(20,27,43,.9)),url(/img/publico/cat-naturaleza.webp)}


/* ---------- Marca en texto (sustituye al logo en imagen) ---------- */
.sn-brand,.brand{flex:none}
.wm{display:inline-flex;align-items:center;gap:9px;color:var(--navy);line-height:1;white-space:nowrap}
.brand .wm-ic,.sn-brand .wm-ic,.wm .wm-ic{flex:none;height:28px!important;width:auto!important;display:block;margin:0!important}
.wm-t{font:700 18px var(--sans);letter-spacing:-.01em}
.wm-t i{font-style:normal;font-weight:400}
.foot .wm .wm-ic{height:30px!important}
.hx-fbrand .wm,.cu-art .wm{color:#fff}
.hx-fbrand .wm-ic,.cu-art .wm-ic{content:url(/img/mark-light.png)}
.hx-fbrand .wm{margin-bottom:12px}
.hx-fbrand .wm .wm-ic{height:32px!important}.cu-art .wm .wm-ic{height:36px!important}
.cu-art .wm-t{font-size:22px}
@media (max-width:520px){.wm .wm-ic{height:24px!important}.wm-t{font-size:16px}.wm{gap:7px}}
@media (max-width:1180px) and (min-width:1081px){.sn-in{gap:18px}.sn-links{gap:16px}}

/* ---------- Páginas más anchas (cabecera, contenido y pie llegan más cerca de los bordes) ---------- */
.wrap,.sn-in,.cu-subnav .in,.pf-wrap{max-width:1680px;padding-left:clamp(18px,3.2vw,56px);padding-right:clamp(18px,3.2vw,56px)}
.cu-subnav .in{padding-left:0;padding-right:0}

/* Directorio · encabezado con foto */
.pb-dhead{background-color:var(--navy);background-image:linear-gradient(90deg,rgba(20,27,43,.94) 0,rgba(20,27,43,.72) 55%,rgba(20,27,43,.45) 100%),linear-gradient(180deg,rgba(20,27,43,.3),rgba(20,27,43,.65)),url(/img/publico/directorio.webp);background-size:cover;background-position:center 30%}
.hx-sec.photo.fotografo{background-position:center 38%}

/* Cabecera de la landing de fotógrafos: misma distribución que la portada pública (enlaces junto a la marca; idioma y botones a la derecha) */
.nav-pub .nav-in{height:68px;gap:28px}
.nav-pub .links{margin-left:0;gap:26px;align-items:center}
.nav-pub .links a{font:600 14px var(--sans);color:#3a4256;white-space:nowrap}
.nav-pub .links a:hover{color:var(--navy)}
.nav-pub .nav-cta{margin-left:auto;gap:8px}
.nav-pub .nav-login{white-space:nowrap}
@media (max-width:1080px){.nav-pub .links{display:none}}
@media (max-width:760px){.nav-pub .nav-login{display:none}.nav-pub .nav-in{gap:12px}}
@media (max-width:520px){.nav-pub .sn-lang .sn-btn span{display:none}.nav-pub .sn-pop{position:fixed;left:12px;right:12px;top:64px;width:auto}}

.nav-pub .links a.on{color:var(--gold-d)}.nav-pub .links a.on:after{transform:scaleX(1)}

/* ---------- Móvil: cabeceras compactas y sin desbordamiento horizontal (portada de clientes y landing de fotógrafos) ---------- */
html,body{max-width:100%;overflow-x:clip}
.sn-brand,.brand{min-width:0}
.sn-drawer .only-in{display:none}
@media (max-width:520px){
  /* Portada de clientes */
  .sn-in{padding-left:14px;padding-right:14px;gap:8px}
  .sn-right{gap:2px;min-width:0}
  .sn-btn{min-width:36px;height:36px;padding:0 6px}
  .sn-btn .ic{width:22px;height:22px}
  .sn-av,.sn-av.sn-btn{width:36px;min-width:36px;margin-left:2px}
  .sn-lang .sn-btn,.nav-pub .sn-lang .sn-btn{border-radius:50%;padding:0;min-width:36px}
  .sn-lang .sn-btn .ic.sm{display:none}
  .sn-login{height:36px;padding:0 12px;margin-left:2px;font-size:11px;letter-spacing:.06em}
  .sn.in #snMsg{display:none}                         /* Mensajes pasa al menú desplegable */
  .sn.in .sn-drawer .only-in{display:block}
  .sn-drawer{padding:4px 18px 14px}
  .wm .wm-ic{height:22px!important}.wm-t{font-size:15px}.wm{gap:6px}
  /* Landing de fotógrafos */
  .nav-pub .nav-in{gap:8px}
  .nav-pub .nav-cta{gap:4px;min-width:0}
  .nav-pub .nav-cta .btn{height:38px;padding:0 14px;font-size:11px;letter-spacing:.06em;white-space:nowrap}
  /* Botones y tarjetas que no deben pasar del ancho de pantalla */
  .hx-actions .btn,.hero-btns .btn,.cta-btns .btn,.plc .btn{max-width:100%;white-space:normal;text-align:center;justify-content:center}
  .hx-row .btn,.hx-head .btn,p.hx-c .btn{max-width:100%;white-space:normal;text-align:center}
  .plx-grid{grid-template-columns:minmax(0,1fr)}.plx-grid>*{min-width:0}
  .pc-foot .btn{max-width:100%;white-space:normal;text-align:center;justify-content:center}
}
@media (max-width:380px){
  .sn-brand .wm-t i,.nav-pub .brand .wm-t i{display:none}   /* en pantallas muy pequeñas solo «LumiFix» */
  .sn-login{padding:0 9px;font-size:10.5px;letter-spacing:.04em}
}
@media (max-width:340px){.sn-lang{display:none}}   /* guest en pantallas de 320px: se prioriza «Iniciar sesión» */

/* ---------- Selector País · Moneda · Idioma (escritorio y móvil) ----------
   Va al final y con selectores más específicos para ganarle a `.sn-pop-s button`,
   que antes deformaba los botones del selector (pastillas desbordadas, listas pegadas). */
.sn-dd.sn-lang>.lx-pop{width:380px;min-width:0;max-width:calc(100vw - 24px);box-sizing:border-box;padding:18px;gap:18px;max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}
.sn-dd.sn-lang.open>.lx-pop{display:grid}
.lx-pop .lx-sec{display:grid;gap:8px;min-width:0}
.lx-pop .lx-sec>b{font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);opacity:1}
.lx-pop .lx-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lx-pop .lx-pills button{display:flex;justify-content:center;align-items:center;width:auto;min-width:0;padding:10px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:500 14px var(--sans);white-space:nowrap}
.lx-pop .lx-pills button:hover{background:var(--gold-l);color:var(--navy)}
.lx-pop .lx-pills button.on,.lx-pop .lx-list button.on{background:var(--gold-l);border-color:var(--gold);color:var(--navy);font-weight:700}
.lx-pop .lx-q{display:block;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:400 14px var(--sans);outline:0}
.lx-pop .lx-q:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold,var(--gold,#b8935a)) 22%,transparent)}
.lx-pop .lx-list{list-style:none;margin:0;padding:0;max-height:184px;overflow-y:auto;border:1px solid var(--line);border-radius:6px;background:#fff;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.lx-pop .lx-list li{margin:0;padding:0}
.lx-pop .lx-list button{display:block;width:100%;padding:9px 12px;border:0;border-left:3px solid transparent;border-radius:0;background:transparent;color:var(--ink);font:400 14px var(--sans);text-align:left}
.lx-pop .lx-list button:hover{background:var(--gold-l);color:var(--navy)}
.lx-pop .lx-list button.on{border-left-color:var(--gold-d)}
.lx-pop .lx-auto{display:flex;justify-content:center;align-items:center;width:100%;padding:11px 12px;border:1px dashed var(--gold);border-radius:6px;background:transparent;color:var(--gold-d);font:600 13px var(--sans)}
.lx-pop .lx-auto:hover{background:var(--gold-l);color:var(--gold-d)}
@media (max-width:520px){.sn-dd.sn-lang>.lx-pop{width:auto;padding:14px;gap:14px}.lx-pop .lx-list{max-height:150px}}

/* Foto de perfil del cliente en el botón redondo de la barra */
.sn-av{overflow:hidden}.sn-av #uAv{width:100%;height:100%}.sn-av #uAv img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}

/* Foto de perfil en la barra (móvil y escritorio): círculo fijo, nunca más grande que los demás iconos */
.sn-right{align-items:center}
.sn-av,.sn-av.sn-btn{box-sizing:border-box;flex:0 0 auto;aspect-ratio:1/1;padding:0;border-radius:50%;overflow:hidden;line-height:0}
.sn-av #uAv{display:grid;place-items:center;width:100%;height:100%;overflow:hidden;border-radius:50%}
.sn-av #uAv img{position:static;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block;border-radius:50%}
@media (max-width:520px){
  .sn-av,.sn-av.sn-btn{width:34px;min-width:34px;max-width:34px;height:34px;min-height:34px;margin-left:4px}
  .sn-right{gap:4px}
}
