.pf-notice{padding:16px 20px;margin:0 0 24px;background:#e5f2e8;color:#1f5134;border:1px solid #a7cdb3;border-radius:12px;font-size:14px;line-height:1.6}.pf-error{background:#fff1ed;color:#842d27;border-color:#e2b2a8}.pf-empty{padding:24px 0;color:#4b6071;line-height:1.7;max-width:70ch}.pf-empty h3{margin:0 0 8px;color:#102c45;font-size:18px}.pf-empty p{margin:0 0 12px}.pf-meta{font-size:13px;color:#4b6071;line-height:1.7}.pf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0}.pf-cover-empty{display:grid;place-items:center;width:100%;height:210px;border-radius:10px;background:#e5eef5;color:#4b6071;font-size:14px;padding:24px;text-align:center}.portfolio-editor .field{margin-top:20px}.portfolio-editor .field input:not([type=checkbox]):not([type=radio]),.portfolio-editor .field textarea,.portfolio-editor .field select,.portfolio-client .field :is(input,select,textarea){max-width:100%;width:100%;box-sizing:border-box}.portfolio-editor textarea,.portfolio-client textarea{min-height:120px;resize:vertical}.portfolio-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;margin:18px 0}.portfolio-check input{flex:0 0 auto;margin-top:5px;accent-color:#086da8}.portfolio-editor .layout-two{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}.portfolio-editor .panel,.portfolio-editor .stack,.portfolio-client .panel{min-width:0}.portfolio-editor .panel p,.portfolio-client .panel p{max-width:70ch;line-height:1.7}.pf-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.pf-photo-grid img{width:100%;height:180px;object-fit:cover;display:block;border-radius:10px}.pf-photo-grid .portfolio-check{font-size:13px;margin:10px 0}.pf-review{padding:24px 0;border-top:1px solid #dbe3e9;overflow-wrap:anywhere}.pf-review-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}.pf-review-heading span{color:#4b6071;font-size:13px}.pf-review p{white-space:normal;line-height:1.7;max-width:70ch}.pf-response{padding:16px 20px;margin-top:16px;background:#edf4f9;border-radius:12px;color:#102c45}.pf-response p{margin-bottom:0}.pf-public-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pf-public-photos img{width:100%;height:270px;object-fit:cover;border-radius:12px;display:block}.pf-public-album .catalog-heading h1{font-size:clamp(32px,4vw,56px);overflow-wrap:anywhere}.pf-public-album .catalog-heading p{max-width:70ch;line-height:1.7}.portfolio-manager h3,.portfolio-manager .info-row span{overflow-wrap:anywhere}.portfolio-client form .field{margin:20px 0}.portfolio-manager :is(input,textarea,select,button):focus-visible,.pf-public-album a:focus-visible{outline:3px solid #086da8;outline-offset:3px}.portfolio-manager :is(input,textarea){caret-color:#086da8}.portfolio-manager button{transition:background-color 150ms ease-out}.portfolio-manager button:disabled{opacity:.65;cursor:wait}.pf-public-album ::selection{background:#cce6f7;color:#102c45}.portfolio-manager .info-row strong{overflow-wrap:anywhere}.pf-review label{font-weight:600}
@media(max-width:1000px){.portfolio-editor .layout-two{grid-template-columns:1fr}.pf-public-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pf-photo-grid,.pf-public-photos{grid-template-columns:1fr}.pf-public-photos img{height:260px}.portfolio-editor .info-row{align-items:flex-start;flex-direction:column;gap:8px}.portfolio-editor .pf-actions .button{width:100%;justify-content:center}.pf-review-heading{align-items:flex-start;flex-direction:column;gap:6px}.portfolio-manager .page-heading .button{white-space:normal;text-align:center}.pf-notice{padding:14px 16px}.portfolio-manager .field input[type=file]{font-size:13px}.pf-public-album .catalog-heading{padding-top:32px}}
@media(prefers-reduced-motion:reduce){.portfolio-manager button{transition:none}}

.real-gallery-page .real-album>div{display:block;margin-top:16px}.real-gallery-page .real-album h3{margin:0 0 6px;overflow-wrap:anywhere}.real-gallery-page .real-album span{display:block;white-space:normal;line-height:1.6;min-height:0}.real-gallery-page .real-album figure{margin:0}.real-gallery-page .real-album img{height:100%;width:100%;object-fit:cover}
.pf-review-details{margin-top:18px;border-top:1px solid #d5e0e7;padding-top:12px}.pf-review-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#102e45;font-weight:600}.pf-review-details summary:focus-visible{outline:3px solid #086da8;outline-offset:3px}.pf-review-details form{max-width:70ch;padding:12px 0}.pf-my-reviews h3{font-size:20px;margin:0}.pf-my-reviews p{overflow-wrap:anywhere}.pf-rating-bars{max-width:420px;margin:22px 0 30px}.pf-rating-row{display:grid;grid-template-columns:44px 1fr 32px;gap:14px;align-items:center;margin:10px 0;font-size:13px;color:#4b6071}.pf-rating-row meter{width:100%;height:16px;accent-color:#086da8}.pf-review-heading{flex-wrap:wrap;gap:12px}
#fotos{scroll-margin-top:28px}
.pf-delete-confirm summary{cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #d9bab5;border-radius:8px;color:#923b32;font-size:14px;font-weight:600;list-style:none}.pf-delete-confirm summary::-webkit-details-marker{display:none}.pf-delete-confirm summary:hover{background:#faf0ee}.pf-delete-confirm summary:focus-visible{outline:3px solid #086da8;outline-offset:3px}.pf-delete-body{padding-top:16px}.pf-delete-body p{font-size:13px;line-height:1.7}.pf-delete-body .portfolio-check{align-items:flex-start;font-size:13px;margin:18px 0}.pf-delete-body .portfolio-check input{margin-top:4px;flex-shrink:0}.pf-delete-body .pf-delete-button{width:100%;background:#923b32;color:white;border-color:#923b32;white-space:normal;min-height:44px}.pf-delete-body .pf-delete-button:hover{background:#752f28}
#fotos>p:first-of-type{font-size:14px;color:#4b6071;line-height:1.7}#album-photos{border:0;background:transparent;padding:0;width:100%;font-size:13px;color:#4b6071}#album-photos::file-selector-button{border:0;border-radius:8px;background:#102e45;color:white;font:600 14px 'Segoe UI',sans-serif;padding:14px 18px;margin-right:12px;cursor:pointer;min-height:44px}#album-photos::file-selector-button:hover{background:#1d4665}#album-photos:focus-visible{outline:3px solid #086da8;outline-offset:6px}#photo-help{font-size:13px;line-height:1.7;color:#4b6071}.portfolio-editor .pf-photo-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;margin:24px 0}.pf-photo-item{min-width:0}.portfolio-editor .pf-photo-item>img{width:100%;height:180px;object-fit:cover;border-radius:10px;display:block}.pf-photo-controls{display:flex;justify-content:space-between;gap:8px;margin-top:10px;align-items:center}.pf-cover-choice,.pf-remove-choice{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border-radius:8px;font-size:13px;cursor:pointer;box-sizing:border-box;margin:0}.pf-cover-choice{color:#4b6071;background:#edf2f5}.pf-cover-choice:has(input:checked){background:#e0f0e9;color:#205a44;font-weight:600}.pf-photo-controls input{width:16px;height:16px;margin:0;accent-color:#205a44;flex-shrink:0}.pf-remove-choice{color:#923b32}.pf-remove-choice svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.pf-remove-choice input{appearance:none;position:absolute;opacity:0;width:1px;height:1px}.pf-remove-choice:has(input:focus-visible){outline:3px solid #086da8;outline-offset:3px}.pf-remove-choice:hover,.pf-remove-choice:has(input:checked){background:#fae9e5}.pf-photo-pending{display:none;font-size:12px;color:#923b32;line-height:1.6;margin-top:8px}.pf-photo-item:has(.pf-remove-choice input:checked) .pf-photo-pending{display:block}.pf-photo-item:has(.pf-remove-choice input:checked)>img{opacity:.45}.pf-upload-previews{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.pf-upload-previews img{width:72px;height:72px;object-fit:cover;border-radius:8px}@media(max-width:600px){.portfolio-editor .pf-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pf-photo-controls{flex-wrap:wrap;gap:2px}.portfolio-editor .pf-photo-item>img{height:150px}.pf-cover-choice,.pf-remove-choice{padding:8px;font-size:12px}} 
/* Calificación 1–5 compartida (cliente-resena.php y álbum público): radios nativos con número y descripción visibles. */
.pf-rating-choice{border:0;padding:0;margin:20px 0;min-width:0}.pf-rating-choice legend{padding:0;margin:0 0 10px;font-size:14px;font-weight:600;color:#102e45}
.pf-rating-choice>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.pf-rating-choice>div>label{display:flex;align-items:center;gap:10px;min-height:56px;margin:0;padding:10px 12px;border:1px solid #c2d0db;border-radius:8px;background:#fff;color:#102e45;font-weight:400;cursor:pointer;box-sizing:border-box}
.pf-rating-choice input[type=radio]{width:18px;min-width:18px;max-width:18px;height:18px;margin:0;padding:0;flex:0 0 18px;accent-color:#086da8}
.pf-rating-choice strong{display:block;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.pf-rating-choice small{display:block;margin-top:2px;font-size:12px;color:#4b6071}
.pf-rating-choice label:hover{border-color:#086da8}.pf-rating-choice label:has(input:checked){border-color:#086da8;background:#e6f2fa;box-shadow:inset 0 0 0 1px #086da8}
.pf-rating-choice label:has(input:focus-visible){outline:3px solid #086da8;outline-offset:2px}.pf-rating-choice input:focus-visible{outline:0}
@media(max-width:900px){.pf-rating-choice>div{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}}
.real-gallery-page .real-album span span{display:inline}

/* Galería de experiencias: pulsera de festival bajo cada foto */
@font-face{font-family:"Bebas Neue";src:url("fonts/bebas-neue-latin.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-500-latin.woff2") format("woff2");font-weight:500;font-display:swap}
.real-gallery-page .is-bands .real-album{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 6px 18px rgba(16,29,51,.1);text-decoration:none}
.real-gallery-page .is-bands .real-album figure{margin:0;border-radius:0}
.real-gallery-page .is-bands .real-album figure img{border-radius:0}
.real-gallery-page .is-bands .real-album>.real-album-band{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:12px 16px;background:var(--band,#0f1d33);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 8px,transparent 8px 16px);color:#fff}
.real-gallery-page .is-bands .real-album-band h3{min-width:0;margin:0;font:400 26px/1 "Bebas Neue",Impact,"Arial Narrow",sans-serif;letter-spacing:.01em;text-transform:uppercase;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.real-gallery-page .is-bands .real-album-band>span{flex:none;display:inline-block;padding:4px 8px;border-radius:4px;background:rgba(0,0,0,.25);color:#fff;font:500 11.5px/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.real-gallery-page .is-bands .real-album-band>span span{display:inline}
@media(pointer:fine){.real-gallery-page .is-bands .real-album:hover{box-shadow:0 10px 26px rgba(16,29,51,.18)}}
@media(max-width:560px){.real-gallery-page .is-bands .real-album-band h3{font-size:23px}}
