/* Área de clientes con el estilo de paulamurillofotografia.com. Complementa client-portal.css.
   Fuentes alojadas aquí (licencia SIL OFL, ver /fonts/LICENCIA.txt): Poppins para títulos, Lora para textos. */
@font-face{font-family:"PM Sans";src:url(/fonts/Poppins-Light.woff) format("woff");font-weight:300;font-display:swap}
@font-face{font-family:"PM Sans";src:url(/fonts/Poppins-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"PM Sans";src:url(/fonts/Poppins-Medium.woff) format("woff");font-weight:500 700;font-display:swap}
@font-face{font-family:"PM Serif";src:url(/fonts/Lora-Variable.woff) format("woff");font-weight:400 700;font-display:swap}
@font-face{font-family:"PM Serif";src:url(/fonts/Lora-Italic-Variable.woff) format("woff");font-weight:400 700;font-style:italic;font-display:swap}
:root{--ch-bg:#fff;--ch-alt:#f8f7f1;--ch-card:#fff;--ch-ink:#3d3b36;--ch-soft:#656157;--ch-line:#e6e1d3;--ch-accent:#e49f31;--ch-olive:#8b7e2b;--ch-dark:#3d3b36;--ch-sans:"PM Sans",Montserrat,"Helvetica Neue",Arial,sans-serif;--ch-serif:"PM Serif",Lora,Georgia,serif}
body{background:var(--ch-bg);color:var(--ch-ink);font:16px/1.7 var(--ch-serif)}
h1,h2,h3{font-family:var(--ch-sans);font-weight:300;text-transform:uppercase;letter-spacing:.14em;line-height:1.35;color:var(--ch-ink)}
h1{font-size:24px}h2{font-size:17px}
button,.ch-btn{border:0;border-radius:0;padding:13px 26px;background:var(--ch-dark);color:#fff;font:500 12px/1.3 var(--ch-sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
button:hover{filter:none;opacity:.88}
input,select,textarea{border-radius:0;border:1px solid var(--ch-line);background:#fff;font:15px var(--ch-serif);color:var(--ch-ink)}
input:focus,select:focus,textarea:focus{outline:1px solid var(--ch-olive);border-color:var(--ch-olive)}
label{font:400 13px var(--ch-sans);letter-spacing:.04em;color:var(--ch-soft)}
a{color:var(--ch-olive)}

/* Cabecera y pie como en la web */
.pm-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px clamp(18px,5vw,48px);background:rgba(255,255,255,.96);border-bottom:1px solid var(--ch-line)}
.pm-brand{font:500 15px var(--ch-sans);letter-spacing:.19em;text-transform:uppercase;color:#000;text-decoration:none}
.pm-back{font:400 12px var(--ch-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ch-soft);text-decoration:none}
.pm-back:hover{color:var(--ch-olive)}
@media(max-width:520px){.pm-header{padding:18px}.pm-brand{font-size:13px;letter-spacing:.14em}.pm-back{font-size:11px}}
main{max-width:1080px;margin:0 auto;padding:36px clamp(18px,5vw,48px) 60px}
.pm-footer{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 20px 48px;background:var(--ch-alt);text-align:center}
.pm-footer a{font:500 13px var(--ch-sans);letter-spacing:.19em;text-transform:uppercase;color:var(--ch-ink);text-decoration:none}
.pm-footer span{font-size:14px;color:var(--ch-soft)}
#portal-message:not(:empty){position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:40;max-width:min(92vw,560px);margin:0;padding:14px 20px;background:var(--ch-dark);color:#fff;font-size:15px}
.ch-eyebrow{margin:0 0 8px;font:400 12px var(--ch-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ch-olive)}

/* Acceso */
#portal>h1:first-child{margin:24px 0 24px;text-align:center}
#portal>h1:first-child+form{margin:0 auto;padding:32px;background:var(--ch-alt)}
#portal>h1:first-child+form button{width:100%;background:var(--ch-accent)}
#portal>h1:first-child~button{display:block;margin:18px auto;background:transparent;color:var(--ch-olive)}

/* Portada */
.ch-home .ch-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 28px;padding-bottom:20px;border-bottom:1px solid var(--ch-line)}
.ch-home .ch-top .ch-eyebrow{flex-basis:100%;margin:0}
.ch-home .ch-top h1{margin:0;font-size:26px}
.ch-home .ch-top>button{background:transparent;color:var(--ch-soft);padding:8px 0}
.ch-lead{display:grid;gap:20px}
@media(min-width:780px){.ch-lead{grid-template-columns:1.6fr 1fr;align-items:start}.ch-lead>.ch-hero,.ch-lead>.ch-others{grid-column:1}.ch-lead>.ch-promo{grid-column:2;grid-row:1/span 2}}
.ch-hero,.ch-promo,.ch-others{margin:0;padding:30px;border:0}
.ch-hero{background:var(--ch-alt)}
.ch-hero h2{margin:0;font-size:22px}
.ch-hero h2 small{display:block;margin-top:6px;font:italic 400 16px var(--ch-serif);letter-spacing:0;text-transform:none;color:var(--ch-soft)}
.ch-date{margin:10px 0 0;color:var(--ch-soft)}
.ch-text{margin:18px 0 22px;font-size:17px}
.ch-cta{background:var(--ch-accent);padding:16px 34px}
@media(max-width:520px){.ch-cta{width:100%}}
.ch-steps{display:flex;list-style:none;margin:26px 0 0;padding:0}
.ch-steps li{position:relative;flex:1;padding-top:22px;font:400 10px var(--ch-sans);letter-spacing:.08em;text-transform:uppercase;text-align:center;color:#aaa496}
.ch-steps li span{position:absolute;top:2px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--ch-line);z-index:1}
.ch-steps li::before{content:"";position:absolute;top:6px;left:-50%;width:100%;height:1px;background:var(--ch-line)}
.ch-steps li:first-child::before{display:none}
.ch-steps li.done,.ch-steps li.now{color:var(--ch-ink)}
.ch-steps li.done span,.ch-steps li.done::before,.ch-steps li.now::before{background:var(--ch-olive)}
.ch-steps li.now span{top:-1px;width:16px;height:16px;margin-left:-8px;background:#fff;border:2px solid var(--ch-accent)}
.ch-steps li.now{font-weight:500}
@media(max-width:420px){.ch-steps li{font-size:8.5px;letter-spacing:.02em}}
.ch-promo{background:var(--promo-bg);color:var(--promo-fg)}
.ch-promo .ch-eyebrow{color:inherit;opacity:.75}
.ch-promo h2{margin:0 0 10px;color:inherit}
.ch-promo p{margin:0 0 20px}
.ch-promo button{background:var(--ch-accent);color:#fff}
.ch-others{padding:0 30px;background:transparent}
.ch-others h2{margin:0 0 6px;font-size:14px;color:var(--ch-soft)}
.ch-other{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--ch-line)}
.ch-other strong{display:block;font:500 13px var(--ch-sans);letter-spacing:.1em;text-transform:uppercase}
.ch-other span{display:block;font-size:14px;color:var(--ch-soft)}
.ch-small{padding:9px 16px;font-size:11px;white-space:nowrap;background:transparent;color:var(--ch-ink);border:1px solid var(--ch-ink)}
.ch-shortcuts{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 26px;margin:40px 0 10px;padding:18px 0;border-top:1px solid var(--ch-line);border-bottom:1px solid var(--ch-line)}
.ch-shortcuts button{padding:6px 0;background:transparent;color:var(--ch-ink);font-size:11px}
.ch-shortcuts button:hover{color:var(--ch-olive);opacity:1}
.ch-sections>section,.ch-fold{margin:0;padding:40px 0;border:0;border-bottom:1px solid var(--ch-line);scroll-margin-top:100px}
.ch-sections>section>h2{margin:0 0 20px;font-size:18px}
.ch-sections .booking{padding:16px 0;border-bottom:1px solid var(--ch-line)}
.ch-sections .booking:last-child{border-bottom:0}
.ch-sections .booking>strong{font:500 13px var(--ch-sans);letter-spacing:.1em;text-transform:uppercase}
.ch-sections .booking p{margin:4px 0;color:var(--ch-soft)}
.ch-sections .booking button{margin:8px 8px 0 0;padding:10px 18px;background:transparent;color:var(--ch-ink);border:1px solid var(--ch-ink)}
.ch-sections form button[type=submit]{background:var(--ch-accent)}
.ch-fold{padding:24px 0}
.ch-fold summary{cursor:pointer;list-style:none;font:300 17px var(--ch-sans);letter-spacing:.14em;text-transform:uppercase}
.ch-fold summary::-webkit-details-marker{display:none}
.ch-fold summary::after{content:"+";float:right;color:var(--ch-soft)}
.ch-fold[open] summary::after{content:"−"}
.ch-fold>section{border:0;padding:16px 0 0}
.ch-galleries{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:28px}
.ch-gallery{display:flex;flex-direction:column;padding:0;overflow:hidden;text-align:center;background:transparent;color:var(--ch-ink);font:inherit;letter-spacing:0;text-transform:none}
.ch-gallery:hover{opacity:1}
.ch-cover{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--ch-alt)}
.ch-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.ch-gallery:hover .ch-cover img{transform:scale(1.03)}
.ch-gallery-body{display:flex;flex-direction:column;gap:2px;padding:16px 8px 0;font-size:14px;color:var(--ch-soft)}
.ch-gallery-body strong{font:400 14px var(--ch-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ch-ink)}
.ch-urgent{color:#b4701a;font-weight:600}
.finals-warning{background:#fbf1df}

/* Galería */
.cg-view{padding-bottom:0}
.cg-back{background:transparent;color:var(--ch-soft);padding:6px 0;margin-bottom:16px}
.cg-hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;margin:0 calc(-1 * clamp(18px,5vw,48px)) 30px;overflow:hidden;background:#3d3b36;color:#fff;text-align:center}
@media(min-width:780px){.cg-hero{min-height:440px}}
.cg-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cg-hero::after{content:"";position:absolute;inset:0;background:rgba(30,26,20,.38)}
.cg-hero>div{position:relative;z-index:1;padding:30px}
.cg-hero .ch-eyebrow{color:rgba(255,255,255,.9)}
.cg-hero h1{margin:0;color:#fff;font-size:clamp(22px,4vw,34px)}
.cg-hero p{margin:8px 0 0}
.cg-until{font-size:14px;opacity:.9}
.cg-offer{margin:0 0 30px;padding:26px;background:var(--ch-alt);border:0;text-align:center}
.cg-timer{margin:0 0 12px;font:500 13px var(--ch-sans);letter-spacing:.12em;text-transform:uppercase;color:#b4701a}
.cg-offer label{display:inline-flex;flex-direction:row;align-items:center;gap:10px;margin:0;font:400 15px var(--ch-sans);letter-spacing:.06em;color:var(--ch-ink)}
.cg-offer p{margin:8px 0 0}
.cg-offer-until{font-size:14px;color:var(--ch-soft)}
.cg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:30px}
@media(min-width:640px){.cg-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}
@media(min-width:980px){.cg-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cg-tile{position:relative;display:block;margin:0;overflow:hidden;background:var(--ch-alt);cursor:pointer}
.cg-tile img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:transform .4s}
.cg-tile:hover img{transform:scale(1.02)}
.cg-tile .cg-name{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;font:400 11px var(--ch-sans);color:#fff;background:linear-gradient(to top,rgba(0,0,0,.45),transparent);opacity:0;transition:opacity .2s}
.cg-tile:hover .cg-name,.cg-tile:focus-within .cg-name{opacity:1}
.cg-check{position:absolute;top:8px;right:8px;width:30px!important;height:30px!important;margin:0;padding:0;appearance:none;-webkit-appearance:none;border-radius:50%;border:1.5px solid #fff;background:rgba(0,0,0,.2);cursor:pointer}
.cg-check:checked{background:var(--ch-accent);border-color:#fff}
.cg-check:checked::after{content:"♥";display:block;color:#fff;font-size:14px;line-height:27px;text-align:center}
.cg-check:focus-visible{outline:2px solid #fff;outline-offset:2px}
.cg-tile.is-selected{outline:3px solid var(--ch-accent);outline-offset:-3px}
.cg-zoom{position:absolute;left:8px;top:8px;width:30px;height:30px;padding:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ch-ink);font-size:14px;letter-spacing:0;opacity:0;transition:opacity .2s}
.cg-tile:hover .cg-zoom,.cg-zoom:focus-visible{opacity:1}
@media(hover:none){.cg-zoom{opacity:1}}
.cg-view>section{margin:0;padding:34px 0;border:0;border-top:1px solid var(--ch-line)}
.cg-view>section>h2{margin-top:0}
.cg-bar{position:sticky;bottom:0;z-index:30;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 calc(-1 * clamp(18px,5vw,48px));padding:14px clamp(18px,5vw,48px) calc(14px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--ch-line)}
.cg-bar p{margin:0;font-size:14px;color:var(--ch-soft)}
.cg-bar #cg-count strong{font:500 18px var(--ch-sans);color:var(--ch-ink)}
.cg-checkout{margin-left:auto;background:var(--ch-accent)}
#cg-viewer{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.98)}
#cg-viewer img{max-width:92vw;max-height:78vh;object-fit:contain}
#cg-viewer>button{position:absolute;width:46px;height:46px;padding:0;background:transparent;color:var(--ch-ink);font-size:30px;font-weight:300;letter-spacing:0}
.cg-close{top:14px;right:14px;font-size:22px!important}
.cg-prev{left:6px;top:50%;margin-top:-23px}
.cg-next{right:6px;top:50%;margin-top:-23px}
.cg-viewer-foot{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px calc(16px + env(safe-area-inset-bottom));font:400 13px var(--ch-sans);letter-spacing:.1em;color:var(--ch-soft)}
.cg-viewer-foot button{background:transparent;color:var(--ch-ink);border:1px solid var(--ch-ink)}
.cg-viewer-foot button.is-on{background:var(--ch-accent);border-color:var(--ch-accent);color:#fff}
.cg-coupon label{margin:0}
.cg-view>section.cg-offer{padding:26px;border:0}
body:has(.cg-bar) #portal-message:not(:empty){bottom:96px}
