/* PEL-1.9.3 · Formularios y experiencia pública profesional */
:root{--public-control:#b7c8cf;--public-control-hover:#829ca6;--public-focus:#2f7a78;--public-soft:#edf6f5;--public-shadow:0 16px 40px rgb(18 50 79 / 12%)}
.public-main{width:100%;max-width:1240px;padding-top:30px}.public-hero,.profile-hero{box-shadow:0 18px 44px rgb(18 50 79 / 15%)}.directory-hero{grid-template-columns:minmax(330px,.9fr) minmax(520px,1.1fr);padding:clamp(30px,4vw,52px)}.directory-hero .hero-copy h1{max-width:12ch;margin:12px 0 18px;font-size:clamp(2.35rem,4vw,3.35rem);line-height:1.06;letter-spacing:-.035em}.directory-hero .hero-copy p{max-width:48ch;margin:0;color:rgb(255 255 255 / 86%);font-size:1.02rem;line-height:1.65}
.directory-hero .public-search{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0;padding:26px;border:1px solid rgb(255 255 255 / 45%);box-shadow:var(--public-shadow)}.directory-hero .public-search label:first-of-type{grid-column:1/-1}.directory-hero .public-search button,.directory-hero .clear-search{min-height:48px;margin:0}.directory-hero .public-search button{grid-column:1;padding:11px 18px}.directory-hero .clear-search{display:flex;grid-column:2;align-items:center;justify-content:center;padding:10px;color:var(--teal);text-decoration:none;border:1px solid #bed8d6;border-radius:11px;background:#f4fbfa}.directory-hero .clear-search:hover{background:#e6f4f2}.directory-hero .public-search:not(:has(.clear-search)) button{grid-column:1/-1}
.public-search label,.public-form label,.date-search label,.cancel-form label{position:relative}.public-search input,.public-search select,.public-form input:not([type=checkbox]):not([type=radio]),.public-form select,.public-form textarea,.date-search input,.cancel-form input{width:100%;min-height:48px;padding:11px 13px;color:#213746;background:#fff;border:1.5px solid var(--public-control);border-radius:11px;box-shadow:0 1px 2px rgb(18 50 79 / 4%);transition:border-color .16s,box-shadow .16s,background .16s}.public-search select,.public-form select{padding-right:42px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#496672 50%),linear-gradient(135deg,#496672 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.public-search input:hover,.public-search select:hover,.public-form input:hover,.public-form select:hover,.public-form textarea:hover,.date-search input:hover,.cancel-form input:hover{border-color:var(--public-control-hover)}.public-search input:focus,.public-search select:focus,.public-form input:focus,.public-form select:focus,.public-form textarea:focus,.date-search input:focus,.cancel-form input:focus{border-color:var(--public-focus);outline:0;box-shadow:0 0 0 4px rgb(47 122 120 / 15%)}.public-search input::placeholder,.public-form input::placeholder,.public-form textarea::placeholder,.cancel-form input::placeholder{color:#758a93;opacity:1}.public-search label>span,.public-form label{font-size:.84rem}.public-form label{gap:8px}.public-form small{line-height:1.45}.public-form textarea{min-height:112px;resize:vertical}.public-form input[type=file]{min-height:52px;padding:6px 8px;color:var(--muted);background:#f8fbfb}.public-form input[type=file]::file-selector-button{min-height:36px;margin-right:10px;padding:7px 12px;color:var(--navy);font-weight:800;background:#e8f1f2;border:0;border-radius:8px;cursor:pointer}.public-form .check{gap:10px;padding:14px;background:#f6f9f9;border:1px solid var(--line);border-radius:11px}.public-form .check input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--teal)}
.public-search button,.public-form>button,.date-search button,.public-button,.service-action{min-height:48px;padding:11px 18px;font-weight:850;letter-spacing:.005em;box-shadow:0 7px 18px rgb(47 122 120 / 15%);transition:transform .16s,box-shadow .16s,background .16s}.public-search button:hover,.public-form>button:hover,.date-search button:hover,.public-button:hover,.service-action:hover{background:#286a68;box-shadow:0 10px 22px rgb(47 122 120 / 22%);transform:translateY(-1px)}button:disabled{box-shadow:none;transform:none}.public-alert{display:flex;gap:10px;align-items:flex-start;line-height:1.5}.account-card{padding:clamp(24px,4vw,38px);border-color:#cfdbdf;box-shadow:var(--public-shadow)}.account-card h1{letter-spacing:-.025em}.account-card>p{color:var(--muted);line-height:1.6}.account-card .public-form{padding-top:5px}.account-switch{padding-top:18px;border-top:1px solid var(--line)}
.reservation-heading{padding:8px 0}.reservation-heading h1,.account-heading h1{letter-spacing:-.025em}.reservation-layout{align-items:start}.reservation-layout>.public-panel{box-shadow:0 8px 28px rgb(18 50 79 / 7%)}.reservation-layout h2{font-size:1.25rem}.date-search{grid-template-columns:minmax(190px,1fr) auto;padding:15px;background:#f4f8f8;border:1px solid var(--line);border-radius:13px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slot-option span{min-height:64px;align-content:center;text-align:center;background:#fff;transition:border-color .16s,box-shadow .16s,background .16s}.slot-option span:hover{border-color:var(--teal);background:#f7fbfb}.requester-summary{line-height:1.55;border-left:4px solid var(--teal)}.cancel-form{align-items:center;padding:14px;background:#fafcfc;border:1px solid var(--line);border-radius:12px}.cancel-form button{min-height:46px}.reservation-card{box-shadow:0 5px 20px rgb(18 50 79 / 6%)}
.parish-card,.service-card,.public-panel{transition:border-color .16s,box-shadow .16s,transform .16s}.parish-card:hover,.service-card:hover{border-color:#b8cfce;box-shadow:0 12px 30px rgb(18 50 79 / 9%);transform:translateY(-2px)}
@media(max-width:1000px){.directory-hero{grid-template-columns:1fr}.directory-hero .hero-copy h1{max-width:17ch}.directory-hero .public-search{max-width:none}.public-header{position:relative}.reservation-layout{grid-template-columns:1fr}}
@media(max-width:720px){.public-main{padding-top:18px}.directory-hero{padding:26px 20px}.directory-hero .hero-copy h1{font-size:clamp(2rem,9vw,2.65rem)}.directory-hero .public-search{grid-template-columns:1fr;padding:18px}.directory-hero .public-search label:first-of-type,.directory-hero .public-search button,.directory-hero .clear-search,.directory-hero .public-search:not(:has(.clear-search)) button{grid-column:1}.public-form.two-cols{grid-template-columns:1fr}.public-form .full{grid-column:1}.date-search,.cancel-form{grid-template-columns:1fr}.date-search button,.cancel-form button{width:100%}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-card{margin-top:12px}.public-footer{text-align:left}}
@media(max-width:440px){.directory-hero{padding:23px 16px;border-radius:18px}.directory-hero .public-search{padding:15px;gap:13px}.public-search input,.public-search select,.public-form input:not([type=checkbox]):not([type=radio]),.public-form select,.date-search input{font-size:16px}.slot-grid{grid-template-columns:1fr}.account-card,.public-panel,.reservation-card{padding:18px}.public-form>button{width:100%}.reservation-heading h1,.account-heading h1{font-size:1.85rem}}
