/* Peletines Fotitos · uses Peletines Core design tokens, with safe fallbacks. */
.pel-fotitos, .pf-upload-card, .pf-gallery-shell { --pf-ink:var(--pel-ink,#301b11); --pf-muted:var(--pel-ink-soft,#70574b); --pf-cream:var(--pel-cream,#fef5ee); --pf-sand:var(--pel-sand,#f6e6d8); --pf-teal:var(--pel-teal,#45b0af); --pf-teal-dark:var(--pel-teal-deep,#146e6c); --pf-pink:var(--pel-pink,#ea8c92); --pf-yellow:var(--pel-yellow,#f5be5e); --pf-font:var(--pel-display,system-ui,sans-serif); color:var(--pf-ink); box-sizing:border-box; }
.pel-fotitos *, .pf-upload-card *, .pf-gallery-shell * { box-sizing:border-box; }
.pel-fotitos { max-width:1210px; margin:0 auto 4rem; padding:0 16px; }
.pel-fotitos h1,.pel-fotitos h2,.pf-upload-card h2,.pel-fotitos h3,.pf-upload-card h3 { font-family:var(--pf-font); letter-spacing:-.035em; line-height:1.1; color:var(--pf-ink); }
.pel-fotitos a, .pf-upload-card a { color:var(--pf-teal-dark); }
.pf-kicker { display:inline-block; font-size:.72rem; font-weight:850; letter-spacing:.17em; text-transform:uppercase; color:var(--pf-teal-dark); }
.pf-hero { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr); align-items:center; background:var(--pf-cream); border:2px solid var(--pf-ink); border-radius:28px; box-shadow:7px 7px 0 var(--pf-sand); min-height:350px; padding:clamp(25px,5vw,65px); gap:24px; overflow:hidden; position:relative; }
.pf-hero h1 { font-size:clamp(2.5rem,6vw,5.2rem); max-width:10ch; margin:13px 0 20px; }
.pf-hero p { max-width:580px; font-size:clamp(1rem,2vw,1.16rem); line-height:1.65; color:var(--pf-muted); margin:0 0 26px; }
.pf-hero strong { color:var(--pf-ink); }
.pf-hero-art { width:min(100%,430px); margin:auto; align-self:end; display:flex; align-items:end; justify-content:center; min-width:0; }
.pf-hero-art img { display:block; width:100%; height:auto; max-height:390px; object-fit:contain; filter:drop-shadow(0 9px 13px rgba(48,27,17,.12)); }
.pf-btn { border:2px solid var(--pf-ink); background:var(--pf-yellow); color:var(--pf-ink)!important; display:inline-flex; align-items:center; justify-content:center; gap:13px; padding:14px 24px; border-radius:16px; box-shadow:4px 4px 0 var(--pf-ink); font:800 1rem/1.2 var(--pf-font); text-decoration:none!important; cursor:pointer; transition:transform .16s,box-shadow .16s; }
.pf-btn:hover { transform:translate(2px,2px);box-shadow:2px 2px 0 var(--pf-ink); }
.pf-btn:focus-visible,.pf-photo-picker:focus-within,.pf-tile a:focus-visible,.pf-more:focus-visible { outline:3px solid var(--pf-teal-dark); outline-offset:4px; }
.pf-btn-outline { background:#fff; }
.pf-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 45px; }
.pf-steps>div { display:flex; flex-direction:column; gap:7px; padding:20px;border-radius:18px;background:#fff;border:1.5px solid var(--pf-sand); }
.pf-steps>div>span {font:900 1.1rem var(--pf-font);color:var(--pf-teal-dark) }
.pf-steps strong {font:800 1.04rem var(--pf-font)}
.pf-steps small {font-size:.9rem;color:var(--pf-muted)}
.pf-upload-card { max-width:970px; margin:20px auto 72px; padding:clamp(22px,5vw,52px); background:#fff;border:2px solid var(--pf-ink);border-radius:26px;box-shadow:7px 7px 0 var(--pf-pink);scroll-margin-top:32px; }
.pf-form-heading h2 {font-size:clamp(1.9rem,4vw,3rem);margin:12px 0 8px}
.pf-form-heading p {color:var(--pf-muted);margin:0 0 26px}
.pf-fields {display:grid;grid-template-columns:1fr 1fr;gap:17px}
.pf-form label:not(.pf-photo-picker):not(.pf-check) {display:flex;flex-direction:column;gap:8px;font-size:.94rem;font-weight:750;color:var(--pf-ink)}
.pf-fields label>span {color:#b63743}
.pf-fields label>.pf-opt {color:var(--pf-muted);font-weight:400}
.pf-fields input {width:100%;border:1.5px solid #d7c5b9!important;border-radius:12px!important; padding:12px 13px!important;min-height:48px;background:#fff!important;color:var(--pf-ink)!important;font:inherit;box-shadow:none!important}
.pf-fields input:focus {outline:2px solid var(--pf-teal-dark);outline-offset:1px}
.pf-photo-field {margin:26px 0 22px}
.pf-photo-picker {display:flex;position:relative;min-height:210px;gap:7px;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;border:2px dashed var(--pf-teal-dark);background:#f0faf8;border-radius:18px;cursor:pointer;}
.pf-photo-picker .pf-picker-icon {font-size:2.5rem}
.pf-photo-picker strong {font:800 1.2rem var(--pf-font)}
.pf-photo-picker small {font-size:.86rem;color:var(--pf-muted)}
.pf-picker-cta {display:inline-flex; background:var(--pf-teal-dark);color:#fff;border-radius:999px;padding:9px 17px;font-weight:750;margin-top:4px}
.pf-photo-picker input {position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.pf-preview {position:relative;min-height:160px;border-radius:16px;overflow:hidden;background:#f8f5f2;text-align:center;padding:14px}
.pf-preview img {display:block;width:auto;height:auto;max-height:350px;max-width:100%;margin:0 auto;border-radius:12px;object-fit:contain}
.pf-replace {margin-top:10px;border:0;border-radius:12px;background:var(--pf-teal-dark);color:#fff;padding:9px 15px;cursor:pointer;font-weight:700}
.pf-check {display:flex;gap:12px;align-items:flex-start;font-size:.89rem;line-height:1.55;color:var(--pf-muted);margin:17px 0;cursor:pointer}
.pf-check input {width:19px;height:19px;flex:none;margin-top:3px;accent-color:var(--pf-teal-dark)}
.pf-check strong {color:var(--pf-ink)}
.pf-honeypot {position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.pf-submit {background:var(--pf-teal);margin-top:10px;width:100%;font-size:1.12rem;min-height:54px}
.pf-submit:disabled {opacity:.55;cursor:progress;box-shadow:none}
.pf-fine {font-size:.81rem;line-height:1.5;color:var(--pf-muted);text-align:center;margin:14px 0 0}
.pf-terms {margin-top:27px;padding-top:18px;border-top:1px solid #eaded5;}
.pf-terms h3 {font-size:1rem;margin:0 0 8px}
.pf-terms p {font-size:.84rem;line-height:1.6;color:var(--pf-muted);margin:0}
.pf-alert {padding:15px 17px;border-radius:12px;margin:16px 0;line-height:1.5;border:1px solid #b79d8b}
.pf-success {background:#e5f6ee;border-color:#8bc2a1;color:#215c41}
.pf-error {background:#fff0ef;border-color:#ecbab5;color:#842e2d}
.pf-divider-head {display:flex;align-items:end;justify-content:space-between;gap:20px;margin:40px 0 23px}
.pf-divider-head h2 {font-size:clamp(2rem,4vw,3.4rem);margin:9px 0 8px}
.pf-divider-head p {color:var(--pf-muted);margin:0}
.pf-photo-count {padding:9px 14px;border-radius:99px;background:var(--pf-sand);font-size:.82rem;font-weight:700;white-space:nowrap}
.pf-gallery {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pf-tile {margin:0;min-width:0;border-radius:18px;overflow:hidden;background:#eee1d9;transition:transform .2s;}
.pf-tile:hover {transform:translateY(-4px)}
.pf-tile a {position:relative;display:block;aspect-ratio:4/5;overflow:hidden;color:#fff!important;text-decoration:none!important}
.pf-tile img {width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.pf-tile:hover img {transform:scale(1.05)}
.pf-tile-overlay {position:absolute;inset:auto 0 0;padding:38px 15px 13px;display:flex;flex-direction:column;gap:3px;background:linear-gradient(transparent,rgba(24,20,17,.83));color:#fff}
.pf-tile-overlay strong {font:850 1.12rem var(--pf-font);color:#fff}
.pf-tile-overlay small {font-size:.8rem;color:#fff}
.pf-empty {grid-column:1/-1;text-align:center;border:2px dashed var(--pf-sand);border-radius:20px;padding:36px;color:var(--pf-muted)}
.pf-more {display:block;margin:23px auto 0;padding:13px 24px;border:2px solid var(--pf-ink);border-radius:13px;background:#fff;font-weight:800;cursor:pointer;box-shadow:3px 3px 0 var(--pf-ink);color:var(--pf-ink)}
.pf-more:hover {background:var(--pf-cream)}
.pf-lightbox {position:fixed;inset:0;z-index:999999;background:rgba(19,13,11,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;gap:13px}
.pf-lightbox[hidden] {display:none!important}
.pf-lightbox img {max-width:min(100%,1050px);max-height:78vh;object-fit:contain;border-radius:12px}
.pf-lightbox-caption {color:#fff;font:800 1.2rem var(--pf-font)}
.pf-lightbox-close {position:absolute;top:18px;right:22px;background:#fff;border:0;border-radius:50%;width:43px;height:43px;font-size:1.4rem;cursor:pointer}
@media(max-width:800px){.pf-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-hero{grid-template-columns:1fr}.pf-hero h1{max-width:16ch}.pf-hero-art{width:min(100%,300px);margin:4px auto -26px}.pf-hero-art img{max-height:300px}.pf-divider-head{align-items:start;flex-direction:column}.pf-photo-count{align-self:flex-start}}
@media(max-width:560px){.pel-fotitos{padding:0 8px}.pf-hero{padding:26px 22px;min-height:unset;border-radius:19px;box-shadow:4px 4px 0 var(--pf-sand)}.pf-hero h1{font-size:2.7rem}.pf-hero-art{width:min(100%,250px);margin:0 auto -24px}.pf-steps{grid-template-columns:1fr;gap:8px;margin:20px 0 30px}.pf-steps>div{padding:12px 16px}.pf-upload-card{padding:20px 16px;margin:16px auto 56px;border-radius:19px;box-shadow:4px 4px 0 var(--pf-pink)}.pf-fields{grid-template-columns:1fr;gap:13px}.pf-photo-picker{min-height:180px}.pf-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pf-tile{border-radius:12px}.pf-tile-overlay{padding:30px 10px 10px}.pf-tile-overlay strong{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.pf-btn,.pf-tile,.pf-tile img{transition:none!important}}
