/* ServiHogar: clearer journeys and comfortable, consistent controls. */
body.servihogar-app { --sh-ink:#172b42; --sh-soft:#f5f8fb; --sh-warm:#f5f6ef; }
body.servihogar-app .site-main { color:var(--sh-ink); }
body.servihogar-app .button { min-height:44px; line-height:1.35; white-space:normal; text-align:center; }
body.servihogar-app input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
body.servihogar-app select, body.servihogar-app textarea { font-size:16px; }
body.servihogar-app summary { cursor:pointer; line-height:1.5; }
body.servihogar-app a:focus-visible, body.servihogar-app button:focus-visible,
body.servihogar-app input:focus-visible, body.servihogar-app select:focus-visible,
body.servihogar-app textarea:focus-visible, body.servihogar-app summary:focus-visible {
  outline:3px solid #b46d00; outline-offset:4px;
}
body.servihogar-app .sh-context-note { color:#485a6e; line-height:1.65; font-size:.92rem; margin:14px 0; }
body.servihogar-app .sh-welcome { background:linear-gradient(115deg,#f3f7fb 0%,#faf9f3 100%); padding:clamp(32px,6vw,76px) 0; }
body.servihogar-app .sh-welcome-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr); gap:clamp(26px,5vw,68px); align-items:center; }
body.servihogar-app .sh-welcome-copy { min-width:0; }
body.servihogar-app .sh-welcome h1 { color:#153457; font-size:clamp(2.25rem,4vw,3.8rem); line-height:1.12; letter-spacing:-.035em; max-width:15ch; margin:14px 0 22px; }
body.servihogar-app .sh-welcome-copy>p { font-size:1.09rem; color:#42566d; line-height:1.65; max-width:52ch; }
body.servihogar-app .sh-entry-options { display:grid; gap:12px; margin:26px 0 16px; max-width:540px; }
body.servihogar-app .sh-entry { display:flex; align-items:center; gap:14px; background:white; border:1px solid #c6d5e5; border-radius:16px; padding:19px 20px; text-decoration:none; color:#14385e; box-shadow:0 4px 18px #18355206; }
body.servihogar-app .sh-entry:hover { border-color:#28659e; background:#f9fcff; }
body.servihogar-app .sh-entry>span { flex:1; min-width:0; }
body.servihogar-app .sh-entry strong { display:block; font-size:1.07rem; line-height:1.45; }
body.servihogar-app .sh-entry small { display:block; color:#4b6074; margin-top:4px; font-size:.88rem; }
body.servihogar-app .sh-entry>svg { flex-shrink:0; width:23px; height:23px; }
body.servihogar-app .sh-entry-work { border-color:#bdcfc5; color:#254f43; }
body.servihogar-app .sh-entry-work:hover { background:#f6fbf6; border-color:#477768; }
body.servihogar-app .sh-welcome-copy>.sh-welcome-note { font-size:.9rem; margin:10px 0; }
body.servihogar-app .sh-zone-note { display:flex; gap:8px; align-items:flex-start; }
body.servihogar-app .sh-zone-note svg { flex-shrink:0; width:20px; height:20px; margin-top:3px; }
body.servihogar-app .sh-welcome-photo { margin:0; border-radius:28px; overflow:hidden; background:#fff; box-shadow:0 16px 48px #14385e12; transform:rotate(1deg); }
body.servihogar-app .sh-welcome-photo img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
body.servihogar-app .sh-welcome-photo figcaption { padding:22px; }
body.servihogar-app .sh-welcome-photo strong { display:block; font-size:1.08rem; color:#203a50; }
body.servihogar-app .sh-welcome-photo span { display:block; color:#526476; margin-top:6px; }
body.servihogar-app .sh-home-search { scroll-margin-top:150px; }
body.servihogar-app .sh-search-grid { display:grid; grid-template-columns:1.2fr 1fr 1.1fr auto; gap:16px; align-items:end; padding:26px; }
body.servihogar-app .sh-search-grid .field { margin:0; min-width:0; }
body.servihogar-app .sh-search-grid input, body.servihogar-app .sh-search-grid select { width:100%; min-height:50px; }
body.servihogar-app .sh-search-grid button { min-height:50px; }
body.servihogar-app .sh-trust { background:#f4f7f4; }
body.servihogar-app .sh-trust h2 { max-width:28ch; }
body.servihogar-app .sh-trust .home-trust-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; padding:0; }
body.servihogar-app .sh-trust .home-trust-list li { display:flex; align-items:flex-start; gap:12px; background:transparent; border:0; }
body.servihogar-app .sh-trust .home-trust-list strong { color:#234b3c; font-size:1rem; }
body.servihogar-app .sh-trust .home-trust-list small { display:block; color:#4a6256; font-size:.9rem; line-height:1.55; margin-top:5px; }
body.servihogar-app .sh-help-inline { margin-top:26px; }
body.servihogar-app .sh-edit-details { margin:16px 0; padding:0; border:1px solid #d5dfe7; border-radius:12px; background:#fbfcfd; }
body.servihogar-app .sh-edit-details summary { font-weight:600; padding:14px 16px; color:#264966; overflow-wrap:anywhere; }
body.servihogar-app .sh-edit-details>.field, body.servihogar-app .sh-edit-details>.form-row,
body.servihogar-app .sh-edit-details>.check-label { margin:4px 16px 18px; }
body.servihogar-app .sh-completed-step { display:flex; align-items:center; gap:8px; color:#24603d; padding:12px 0; }
body.servihogar-app .sh-completed-step svg { width:22px; height:22px; }
body.servihogar-app .sh-next-message { background:#eef5fb; color:#254866; padding:13px 16px; border-radius:10px; line-height:1.6; }
body.servihogar-app .sh-assistance { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:22px 26px; margin-block:22px 40px; border:1px solid #d7e1e8; border-radius:16px; background:#f8fafb; }
body.servihogar-app .sh-assistance>span { display:flex; gap:10px; align-items:center; color:#334e68; }
body.servihogar-app .sh-assistance svg { width:22px; height:22px; flex-shrink:0; }
body.servihogar-app .sh-assistance a { padding:9px 0; font-weight:650; }
body.servihogar-app .sh-help-options { display:grid; gap:14px; margin-block:28px; }
body.servihogar-app .sh-help-options details { padding:18px 22px; }
body.servihogar-app .sh-help-options summary { font-size:1.05rem; font-weight:650; padding:5px 0; }
body.servihogar-app .sh-help-options p { line-height:1.7; margin-top:14px; }
body.servihogar-app .sh-help-options .button { margin:4px 6px 4px 0; }
body.servihogar-app .sh-rating-stars { display:inline-flex; white-space:nowrap; gap:3px; font-size:1.15rem; color:#8a6000; line-height:1.3; }
body.servihogar-app .sh-rating-star { position:relative; display:inline-block; width:1em; }
body.servihogar-app .sh-rating-star>span { position:absolute; top:0; left:0; display:block; overflow:hidden; white-space:nowrap; color:#8a6000; }
body.servihogar-app .profile-stats strong { overflow-wrap:anywhere; }
body.servihogar-app .sh-testimonial blockquote { margin:20px 0 0; max-width:800px; padding:26px 30px; background:#f7f8f3; border-left:4px solid #527a60; border-radius:0 16px 16px 0; }
body.servihogar-app .sh-testimonial blockquote>p { font-size:clamp(1.15rem,2.1vw,1.6rem); line-height:1.6; color:#284735; overflow-wrap:anywhere; }
body.servihogar-app .sh-testimonial footer { color:#526457; margin-top:18px; font-size:.94rem; }
body.servihogar-app .release-panel>summary { font-size:1.12rem; font-weight:650; min-height:32px; }
body.servihogar-app .release-panel[open]>summary { margin-bottom:18px; }
body.servihogar-app .release-panel .table-wrap { margin-top:14px; }
body.servihogar-app .release-panel td { vertical-align:top; }
body.servihogar-app .release-launch { padding:16px 22px; }
body.servihogar-app .release-launch h2 { font-size:1.08rem; }
body.servihogar-app .release-launch p { font-size:.92rem; margin-bottom:0; }
body.servihogar-app .work-plan-note h2 { font-size:1.35rem; }
body.servihogar-app .plan-summary .text-link { display:inline-block; padding:12px 0; line-height:1.5; }
body.servihogar-app .sh-request-options { gap:16px; }
@media (max-width:1050px) {
  body.servihogar-app .sh-search-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.servihogar-app .sh-trust .home-trust-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  body.servihogar-app .sh-welcome-grid { grid-template-columns:1fr; }
  body.servihogar-app .sh-welcome h1 { font-size:clamp(2rem,8.5vw,3rem); max-width:19ch; }
  body.servihogar-app .sh-welcome-photo { display:none; }
  body.servihogar-app .sh-entry { padding:17px 15px; gap:11px; }
  body.servihogar-app .sh-entry strong { font-size:1rem; }
  body.servihogar-app .sh-welcome-copy>p { font-size:1rem; }
  body.servihogar-app .sh-search-grid { grid-template-columns:1fr; padding:21px; }
  body.servihogar-app .sh-home-search .section-heading { margin-bottom:22px; }
  body.servihogar-app .sh-assistance { flex-direction:column; align-items:flex-start; gap:6px; width:calc(100% - 32px); padding:18px 20px; }
  body.servihogar-app .sh-trust .home-trust-list { grid-template-columns:1fr; gap:18px; }
  body.servihogar-app .sh-request-options { display:grid; grid-template-columns:1fr; }
  body.servihogar-app .sh-help-options details { padding:16px 18px; }
  body.servihogar-app .sh-testimonial blockquote { padding:22px; }
  body.servihogar-app .release-narrow>.release-panel { margin-inline:0; }
  body.servihogar-app .profile-stats strong { font-size:.94rem; }
  body.servihogar-app .service-actions .button { flex:1 1 auto; }
  body.servihogar-app .sh-assistance a { min-height:44px; display:flex; align-items:center; }
}
@media (prefers-reduced-motion:reduce) {
  body.servihogar-app .sh-entry, body.servihogar-app .sh-welcome-photo { transition:none; transform:none; }
}

body.servihogar-app .sh-welcome-copy>.sh-launch-note { background:#edf3e9; color:#36523b; border-left:3px solid #6b8a59; border-radius:0 8px 8px 0; padding:11px 14px; font-size:.9rem; margin-top:18px; }
body.servihogar-app .sh-reminder-choice { margin:22px 0 14px; }
body.servihogar-app .sh-reminder-choice small { display:block; margin-top:5px; line-height:1.5; color:#526476; }

.sh-publication-list{display:grid;gap:1rem;margin:1rem 0}
.sh-publication-card .panel-heading{flex-wrap:wrap;gap:1rem}
.sh-publication-card p,.sh-publication-link{overflow-wrap:anywhere}
.sh-publication-card h3{font-size:1rem;margin-top:1rem}
