/* Perfil dinámico: identidad compartida, presentación propia de la ficha. */
.pet-page [hidden]{display:none!important}
.pet-page{--ink:#233c34;--muted:#64746d;--line:#e3eae5;min-width:320px;min-height:100vh;display:flex;flex-direction:column;background:#f3f6f4;line-height:1.6}
.pet-container{width:min(920px,calc(100% - 32px));margin-inline:auto}
.pet-page main{flex:1;padding-block:24px 16px}
.pet-page svg{display:block;width:24px;height:24px}
.pet-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:#ffffffed;backdrop-filter:blur(12px)}
.pet-header .pet-container{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.pet-header .brand{gap:9px;font-size:1.05rem;font-weight:700;letter-spacing:-.04em;min-width:0}
.pet-header .brand-mark{width:36px;height:38px;flex-shrink:0;border-radius:11px;color:#cdeadd;box-shadow:0 4px 10px #164e4314}
.brand-copy{display:flex;flex-direction:column;gap:4px}
.header-caption{font-size:.61rem;font-weight:500;color:var(--muted);letter-spacing:0;line-height:1.3}
.active-badge{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;border:1px solid #bce1d0;border-radius:30px;background:#e8f6ee;color:#176041;padding:5px 8px;font-size:.65rem;font-weight:700;white-space:nowrap}
.active-badge:before{content:"";width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#319768}
.pet-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;padding:20px;border:1px solid #e7ede9;border-radius:26px;background:radial-gradient(circle at top right,#eff8f2,transparent 240px),white;box-shadow:0 12px 36px #183e320a;margin-bottom:22px}
.pet-photos,.pet-heading{min-width:0}
.main-photo{width:100%;aspect-ratio:1;border-radius:18px;overflow:hidden;background:var(--mint);border:1px solid #e2e9e4;box-shadow:0 5px 15px #183e320c}
.photo-image{display:block;width:100%;height:100%;object-fit:cover}
.photo-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--green);background:var(--mint);padding:20px;text-align:center}
.photo-placeholder span{font-size:52px;line-height:1.2}.photo-placeholder p{margin:0;font-size:.9rem;color:var(--green)}
.pet-heading .eyebrow{margin-bottom:12px}
.tag-label{display:inline-flex;align-items:center;max-width:100%;padding:6px 9px;border:1px solid #d1e8da;border-radius:8px;background:#eef8f1;font-size:.61rem;letter-spacing:.08em;line-height:1.5;overflow-wrap:anywhere}
.pet-heading h1{font-size:clamp(2.4rem,7vw,3.2rem);font-weight:800;line-height:1.15;letter-spacing:-.045em;margin:0 0 5px;overflow-wrap:anywhere}
.pet-meta{margin:0 0 22px;font-size:.85rem;color:var(--muted);font-weight:650}
#pet-id{font-family:ui-monospace,monospace;letter-spacing:.035em}
.summary-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 18px}
.summary-facts>div{padding:12px;background:#f5f7f6;border:1px solid #e9eeeb;border-radius:14px;min-width:0}
.summary-facts dt{font-size:.7rem;color:var(--muted);margin-bottom:4px}
.summary-facts dd{margin:0;font-size:.9rem;font-weight:750;line-height:1.5;overflow-wrap:anywhere;white-space:pre-line}
.location-card{display:flex;align-items:center;gap:12px;background:#eef7f0;border:1px solid #d9eadd;border-radius:15px;padding:14px}
.location-card>div{min-width:0}
.location-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:38px;border-radius:10px;color:var(--green);background:#dcefe3}
.location-card h2{font-size:.72rem;letter-spacing:0;font-weight:550;margin:0 0 4px;color:#51715f;line-height:1.4}
#location-value{margin:0;font-size:.9rem;font-weight:750;color:var(--ink);overflow-wrap:anywhere;white-space:pre-line}
.photo-gallery{min-width:0;margin-top:16px}
.gallery-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 8px;margin-bottom:9px}
.gallery-heading h2{font-size:.73rem;font-weight:650;letter-spacing:0;margin:0;color:var(--muted);line-height:1.5}
.gallery-heading p{font-size:.61rem;margin:0;color:var(--muted)}
.gallery-images{display:flex;gap:9px;overflow-x:auto;max-width:100%;padding:5px 5px 12px;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b9cdc1 transparent}
.gallery-thumbnail{display:block;flex:0 0 64px;width:64px;height:64px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:var(--mint);cursor:pointer;scroll-snap-align:start;opacity:.8;transition:opacity .15s,border-color .15s}
.gallery-thumbnail[aria-pressed="true"]{border-color:var(--green);box-shadow:0 0 0 2px white,0 0 0 4px var(--green);opacity:1}
.gallery-thumbnail:hover{border-color:var(--green);opacity:1}
.contact-card{position:relative;background:linear-gradient(125deg,#164e43,#0d372e);color:white;padding:24px 20px;border-radius:26px;box-shadow:0 10px 25px #164e4315;margin-bottom:22px;overflow:hidden}
.contact-card:before{content:"";position:absolute;width:200px;height:200px;border-radius:50%;right:-75px;bottom:-100px;background:#7bbd9720;pointer-events:none}
.contact-card>div,.contact-card>p{position:relative}
.contact-card .contact-kicker{display:inline-block;margin:0 0 14px;padding:5px 10px;border:1px solid #89c9a344;background:#5cab7c22;border-radius:30px;color:#cde8d6;font-size:.7rem;font-weight:600;line-height:1.5}
.contact-card h2{font-size:clamp(1.55rem,5vw,2rem);font-weight:750;letter-spacing:-.035em;overflow-wrap:anywhere;margin:0 0 9px}
.contact-card p{color:#dbe9e2;margin:0 0 22px;font-size:.9rem;line-height:1.6}
.contact-actions{display:grid;gap:10px}
.contact-actions .button{width:100%;min-height:56px;padding:14px 15px;border-radius:14px;white-space:normal;overflow-wrap:anywhere;gap:9px;font-size:.84rem;font-weight:750}
.contact-actions .button:before{content:"";display:block;flex:0 0 20px;width:20px;height:20px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11a8 8 0 0 1-12 7l-5 2 1-5a8 8 0 1 1 16-4Z' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 7c0 5 3 8 8 8l1-3-3-1-1 1-2-2 1-1-1-3Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat}
.contact-actions a[href^="tel:"]:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3H4c-2 0-1 7 4 12s12 6 12 4v-3l-5-2-2 2-5-5 2-2Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E")}
.contact-primary{background:#6ddd9d;color:#0c382b;border-color:#6ddd9d}.contact-primary:hover{background:#8de9b5;border-color:#8de9b5}
.contact-secondary{background:#ffffff0c;border:1px solid #ffffff40;color:white}.contact-secondary:hover{background:#ffffff20}
.contact-card #no-contact{margin-bottom:0}
.pet-details{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.detail-card{padding:22px 20px;border:1px solid #e5ece7;border-radius:24px;background:white;min-width:0;box-shadow:0 5px 20px #183e3206}
.detail-card h2{font-size:1.35rem;font-weight:750;letter-spacing:-.025em;margin:0 0 22px;overflow-wrap:anywhere}
.detail-card .eyebrow{font-size:.64rem;letter-spacing:.1em;margin-bottom:8px}
.pet-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;margin:0}
.pet-facts>div{padding-bottom:11px;border-bottom:1px solid #edf1ee;min-width:0}
.pet-facts dt,.care-facts dt{font-size:.73rem;color:var(--muted);margin-bottom:5px;line-height:1.5}
.pet-facts dd,.care-facts dd{margin:0;font-size:.88rem;line-height:1.6;font-weight:650;overflow-wrap:anywhere;white-space:pre-line}
.signals-card{padding:16px;background:#fcf6e8;border:1px solid #ecdfbd;border-radius:15px;margin-top:24px}
.signals-card h3{font-size:.66rem;font-weight:800;letter-spacing:.08em;color:#856422;line-height:1.5;margin:0 0 7px}
.signals-card p{font-size:.88rem;line-height:1.7;font-weight:550;color:var(--ink);white-space:pre-line;overflow-wrap:anywhere;margin:0}
.care-facts{display:grid;gap:15px;margin:0}
.care-facts>div+div{border-top:1px solid #edf1ee;padding-top:15px}
.care-facts>div:not(.personality-row){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:10px}
.care-facts>div:not(.personality-row) dd{background:#f3f6f4;border:1px solid #e6ece8;border-radius:9px;padding:5px 9px;font-size:.8rem}
.personality-row dt{margin-bottom:9px}
.personality-badges{display:flex;flex-wrap:wrap;gap:7px}
.personality-badge{display:inline-block;max-width:100%;padding:5px 9px;border:1px solid #cce4d5;border-radius:9px;background:#eaf5ed;color:#24553c;font-size:.74rem;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
.badge-calm{background:#edf3f9;border-color:#d8e3ef;color:#38586b}
.badge-caution{background:#faf3e5;border-color:#ebdfc2;color:#7c632b}
.badge-alert{background:#faf0ef;border-color:#eedad7;color:#805449}
.public-note{font-size:.76rem;text-align:center;margin:26px auto 16px;max-width:590px;line-height:1.8;padding-inline:8px}
.pet-footer{padding:26px 16px 30px;text-align:center;background:#ffffff80;border-top:1px solid var(--line)}
.pet-footer p{font-size:.78rem;font-weight:600;color:var(--green);margin-bottom:4px}
.home-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:.8rem;color:var(--green)}
.state-card{max-width:560px;margin:30px auto 70px;padding:30px 22px;background:white;border:1px solid var(--line);border-radius:26px;text-align:center;box-shadow:0 10px 30px #183e3208}
.state-card h1{font-size:1.8rem;letter-spacing:-.025em;margin-bottom:16px;overflow-wrap:anywhere}.state-card p{margin-bottom:22px}
.state-card .home-link{display:flex;justify-content:center;margin-top:12px}.state-symbol{display:block;margin:0 auto 24px;width:36px;height:36px;font-size:30px;color:var(--green);line-height:1}
.spinner{border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:pet-spin 1s linear infinite}
@keyframes pet-spin{to{transform:rotate(360deg)}}
@media(min-width:360px){.pet-header .brand{font-size:1.15rem}.active-badge{font-size:.7rem;padding:5px 10px}.tag-label{font-size:.66rem}}
@media(min-width:390px){.summary-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:600px){.pet-container{width:min(920px,calc(100% - 48px))}.pet-page main{padding-top:32px}.pet-header .brand{font-size:1.25rem}.pet-header .brand-mark{width:40px;height:40px}.header-caption{font-size:.72rem}.active-badge{font-size:.75rem;padding:6px 12px}.pet-summary{padding:30px;gap:30px}.tag-label{font-size:.68rem}.summary-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-card{padding:30px}.contact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-actions>a:only-child{grid-column:1/-1}.contact-actions .button{font-size:.88rem}.detail-card{padding:26px}.gallery-thumbnail{flex-basis:68px;width:68px;height:68px}}
@media(min-width:760px){.pet-summary{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:30px;align-items:start}.pet-heading{padding-top:5px}.pet-heading h1{font-size:3rem}.gallery-images{flex-wrap:wrap;overflow-x:visible}.pet-details{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-card{height:100%}.gallery-heading h2{font-size:.75rem}.summary-facts>div{padding:12px 10px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}.gallery-thumbnail{transition:none}}

/* Cálido y cercano: identificación, cariño y reencuentro. */
:root{--forest-950:#063b30;--forest-900:#07483a;--forest-800:#0b5a47;--forest-700:#08765a;--mint-100:#e8f7ef;--mint-50:#f3fbf7;--cream:#faf8f2;--cream-soft:#f5f2ea;--surface:#fff;--surface-warm:#fffdfa;--text-main:#102f3a;--text-soft:#5f7881;--amber-soft:#fff8e5;--amber-border:#f3d98c;--whatsapp:#14c978}
.pet-page{--green:var(--forest-900);--green-dark:var(--forest-950);--ink:var(--text-main);--muted:var(--text-soft);--line:#e6e9df;background:radial-gradient(circle at top left,#10b9810f,transparent 28rem),linear-gradient(180deg,#fbfaf6,#f6f4ee);font-family:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
.pet-page .icon-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.pet-header{border-bottom-color:#e3e9df;background:#fffdfaf0;box-shadow:0 2px 14px #063b3005}
.pet-header .brand{min-height:44px}
.pet-header .brand-mark{width:40px;height:42px;border-radius:13px;color:#e8f7ef;background:var(--forest-900);box-shadow:0 5px 12px #063b3017}
.header-caption{font-size:.65rem}
.pet-summary{position:relative;isolation:isolate;border-color:#e9ece2;border-radius:30px;background:var(--surface-warm);box-shadow:0 18px 50px #3654410b,0 2px 8px #36544104;margin-bottom:24px;overflow:hidden}
.pet-photos,.pet-heading{position:relative;z-index:1}
.summary-watermarks{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;color:var(--forest-800)}
.pet-page .watermark-paw{position:absolute;opacity:.065;width:100px;height:100px}
.paw-one{right:24px;bottom:25px;transform:rotate(22deg)}
.pet-page .paw-two{right:125px;bottom:125px;width:66px;height:66px;transform:rotate(-15deg)}
.pet-page .paw-three{right:25px;top:22px;width:52px;height:52px;transform:rotate(15deg)}
.photo-frame{position:relative}
.main-photo{border-radius:22px;background:var(--mint-100);border-color:#e2e9df;box-shadow:0 7px 20px #063b3012}
.photo-caption{position:absolute;top:-8px;left:12px;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px 10px;background:#063b30bd;backdrop-filter:blur(5px);color:white;border:1px solid #ffffff24;border-radius:30px;font-size:.68rem;line-height:1.4;font-weight:600;pointer-events:none}
.pet-page .photo-caption .ui-icon{width:14px;height:14px}
.photo-frame:has(.photo-placeholder) .photo-caption{display:none}
.tag-label{gap:7px;padding:7px 10px;border-color:#cee7da;border-radius:30px;background:var(--mint-100);color:var(--forest-800);font-size:.65rem;letter-spacing:.07em}
.pet-page .tag-label .ui-icon{width:15px;height:15px}
.pet-name-row{display:flex;align-items:center;gap:14px;min-width:0}
.pet-name-row h1{min-width:0}
.pet-page .name-heart{width:27px;height:27px;color:#91baa7;stroke-width:1.6}
.family-note{display:flex;align-items:center;gap:7px;margin:8px 0 9px;font-size:.82rem;font-weight:600;line-height:1.6;color:var(--forest-700)}
.pet-page .family-note .ui-icon{width:13px;height:13px;fill:currentColor;stroke:none}
.pet-meta{margin-bottom:23px;font-size:.75rem;font-weight:500}
.summary-facts>div{padding:13px 12px;background:#faf9f4;border-color:#e9ece3;border-radius:16px}
.summary-facts dt{font-size:.72rem;margin-bottom:7px;font-weight:500}
.summary-facts dd{display:flex;align-items:center;gap:7px;font-size:.88rem;font-weight:800}
.pet-page .summary-facts .ui-icon{width:18px;height:18px;color:#aa7d26}
.pet-page .summary-facts [data-icon="mars"] .ui-icon{color:#628eaa}
.pet-page .summary-facts [data-icon="venus"] .ui-icon{color:#b87f98}
.pet-page .summary-facts [data-icon="neutral"] .ui-icon{color:var(--text-soft)}
.location-card{background:var(--mint-50);border-color:#dcecdf;border-radius:16px}
.location-icon{width:38px;height:38px;border-radius:50%;color:var(--forest-700);background:#e0f2e7}
.gallery-heading h2{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--text-soft)}
.pet-page .gallery-heading .ui-icon{width:15px;height:15px;color:#668573}
.gallery-heading p{font-size:.65rem}
.gallery-thumbnail{border-radius:13px;background:var(--mint-100);opacity:.88;box-shadow:0 3px 7px #063b300a;transition:opacity .18s,border-color .18s,box-shadow .18s}
.gallery-thumbnail[aria-pressed="true"]{border-color:var(--forest-800);box-shadow:0 0 0 2px var(--surface-warm),0 0 0 4px var(--forest-700),0 5px 12px #063b3015;opacity:1}
.contact-card{isolation:isolate;background:linear-gradient(135deg,#063f33,#075c47 55%,#063b30);padding:26px 20px;border-radius:28px;box-shadow:0 12px 30px #063b301b;margin-bottom:24px}
.contact-card:before{width:270px;height:270px;right:-90px;bottom:-125px;background:none;border:1px solid #b8e2c914}
.contact-copy,.contact-actions,.contact-card #no-contact{position:relative;z-index:1}
.contact-emblem{display:grid;place-items:center;width:38px;height:38px;background:#b0e7c81a;border:1px solid #c8eedb26;border-radius:12px;margin-bottom:16px;color:#bce8d0}
.pet-page .contact-emblem .ui-icon{width:21px;height:21px}
.contact-card .contact-watermarks{position:absolute;inset:0;z-index:0;pointer-events:none;color:#b8dbc6;overflow:hidden}
.pet-page .banner-paw{position:absolute;right:27px;top:28px;width:88px;height:88px;opacity:.065;transform:rotate(20deg)}
.pet-page .banner-heart{position:absolute;right:133px;bottom:30px;width:72px;height:72px;opacity:.06;transform:rotate(-15deg);stroke-width:1}
.contact-card h2{font-weight:800}
.contact-card .contact-thanks{margin-bottom:12px;color:#deede4;font-size:.85rem}
.contact-card .reunion-message{color:#f0fbf4;font-size:1rem;font-weight:800;line-height:1.6;letter-spacing:.015em;margin-bottom:23px}
.contact-actions .button{min-height:58px;padding:15px;border-radius:17px;font-size:.82rem;font-weight:800;transition:background .18s,box-shadow .18s,transform .18s}
.contact-actions .button:before{flex-basis:23px;width:23px;height:23px}
.contact-primary{background:var(--whatsapp);color:#063b30;border-color:var(--whatsapp);box-shadow:0 6px 16px #00000010}
.contact-primary:hover{background:#31d48a;border-color:#31d48a;box-shadow:0 8px 20px #00000014}
.detail-card{padding:24px 20px;border-color:#e8eade;background:var(--surface-warm);box-shadow:0 7px 24px #36544108;transition:box-shadow .2s}
.detail-card .eyebrow{display:flex;align-items:center;gap:7px;font-size:.65rem;letter-spacing:.075em;margin-bottom:10px;line-height:1.5}
.detail-card .eyebrow span{font-size:inherit;margin-right:0}
.pet-page .detail-card .eyebrow .ui-icon{width:16px;height:16px;color:var(--forest-700)}
.pet-facts dt,.care-facts dt{font-size:.75rem;font-weight:500}
.signals-card{background:var(--amber-soft);border-color:var(--amber-border);border-radius:16px}
.signals-card h3{display:flex;align-items:center;gap:7px;font-size:.68rem;letter-spacing:.06em;color:#8a6726;margin-bottom:9px}
.pet-page .signals-card .ui-icon{width:15px;height:15px;color:#b08a32}
.care-facts>div:not(.personality-row) dd{background:#f6f6ef;border-color:#e6e9df;border-radius:10px;padding:6px 9px;font-size:.81rem}
.personality-badge{font-weight:600;border-radius:10px}
.badge-friendly{background:#eaf7ee;border-color:#cfe7d7;color:#286044}
.badge-neutral{background:#f3f5ec;border-color:#e0e4d7;color:#496154}
.pet-footer{background:#fffdfa75}
.state-card{background:var(--surface-warm);border-radius:28px}
@media(max-width:759px){.pet-page .paw-two,.pet-page .paw-three{display:none}.pet-page .paw-one{width:70px;height:70px;right:15px;bottom:16px;opacity:.055}.pet-page .banner-paw{width:66px;height:66px;right:17px;top:24px}.pet-page .banner-heart{width:55px;height:55px;right:14px;bottom:82px}.summary-facts dd{flex-wrap:wrap;gap:5px}}
@media(min-width:600px){.pet-header .brand-mark{width:45px;height:45px}.pet-header .brand{font-size:1.3rem}.header-caption{font-size:.74rem}.contact-card .reunion-message{font-size:1.1rem}.contact-card{padding:30px 32px}.detail-card{padding:26px}}
@media(hover:hover) and (min-width:760px){.detail-card:hover{box-shadow:0 11px 30px #3654410d}}
@media(prefers-reduced-motion:no-preference){.main-photo .photo-image{animation:photo-reveal .18s ease-out}@keyframes photo-reveal{from{opacity:.85}to{opacity:1}}}
/* DEMO: estilos locales del selector y del estado de búsqueda. */
:root{--alert:#c94f45;--alert-soft:#fff1ed;--alert-border:#efb5aa}
.demo-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;color:var(--text-soft);font-size:.72rem}
.demo-controls>span{flex-basis:100%}
.demo-controls button{min-height:44px;padding:8px 12px;border:1px solid #d4e4d8;border-radius:12px;background:var(--surface-warm);color:var(--forest-900);font:inherit;cursor:pointer}
.demo-controls button[aria-pressed="true"]{background:var(--mint-100);border-color:var(--forest-700);font-weight:800}
.demo-controls button:focus-visible,.demo-status-card .button:focus-visible{outline:3px solid var(--forest-700);outline-offset:3px}
.demo-alert-label{color:var(--alert);font-size:.7rem;font-weight:800;letter-spacing:.04em;overflow-wrap:anywhere}
#demo-alert-badge{padding:7px 10px;border:1px solid var(--alert-border);border-radius:12px;background:var(--alert-soft);margin:0 0 18px;width:fit-content}
.demo-contact-alert{border-top:4px solid var(--alert)}
.demo-contact-alert .contact-emblem{background:var(--alert-soft);border-color:var(--alert-border)}
.demo-contact-alert .contact-thanks{color:#ffd5ca;font-weight:800;letter-spacing:.05em}
.demo-status-card{padding:24px 20px;margin-bottom:24px;border:1px solid #dce9d9;border-radius:24px;background:linear-gradient(135deg,var(--surface-warm),var(--mint-50));box-shadow:0 7px 24px #36544108;min-width:0;overflow-wrap:anywhere}
.demo-status-card h2{font-size:1.25rem;line-height:1.45;margin:0 0 12px;letter-spacing:-.025em}
.demo-status-card h3{font-size:.9rem;margin:0 0 8px}
.demo-status-card p{font-size:.85rem;margin:0 0 16px}
.demo-status-card.is-lost{background:linear-gradient(135deg,var(--surface-warm),var(--alert-soft));border-color:var(--alert-border);border-top:4px solid var(--alert)}
.demo-family-message{padding:16px;margin:18px 0;border:1px solid var(--alert-border);border-radius:16px;background:#fffdfa}
.demo-family-message p{margin:0}
.demo-critical{padding:16px;margin-bottom:18px;border:1px solid #eadcb7;border-radius:16px;background:var(--amber-soft)}
.demo-critical h3{color:#856422}
.demo-critical>p{font-size:.75rem}
.demo-lost-actions{display:grid;gap:10px;margin-bottom:16px;min-width:0}
.demo-status-card .button{width:100%;min-height:52px;padding:12px;border-radius:15px;white-space:normal;overflow-wrap:anywhere;font-size:.82rem;text-align:center}
.demo-lost-actions .contact-secondary{background:var(--surface-warm);border-color:#cdded3;color:var(--forest-900)}
.demo-location-button{background:var(--mint-100);border-color:#cdded3;color:var(--forest-900)}
.demo-status-card .demo-small-note{font-size:.72rem;margin:10px 0 0;color:var(--text-soft)}
@media(min-width:600px){.demo-controls>span{flex-basis:auto;margin-right:6px}.demo-status-card{padding:26px}.demo-lost-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-lost-actions>a:first-child{grid-column:1/-1}}
/* Iconografía lineal compartida: el color siempre pertenece al componente. */
.pet-page .watermark-paw,.pet-page .banner-paw{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pet-page .family-note .ui-icon{fill:none;stroke:currentColor;stroke-width:1.8}
.pet-page .demo-status-card .ui-icon,.pet-page .demo-alert-label .ui-icon,.pet-page .contact-thanks .ui-icon{display:inline-block;width:18px;height:18px;vertical-align:-3px;margin-right:6px}
.pet-page .demo-status-card .button .ui-icon{margin-right:0;vertical-align:middle}
.demo-status-card .button{gap:9px}
.demo-contact-alert .contact-emblem{color:var(--alert)}
.demo-status-card:not(.is-lost) h2 .ui-icon{color:var(--forest-900)}
.is-lost #demo-alert-facts .ui-icon{color:var(--alert)}
/* La regla global .button:hover oscurecía el fondo sin aclarar el texto. */
.pet-page #demo-status-card:not(.is-lost) .demo-location-button{background:var(--forest-900);border-color:var(--forest-900);color:#fff}
.pet-page #demo-status-card:not(.is-lost) .demo-location-button:hover{background:var(--forest-950);border-color:var(--forest-950);color:#fff}
.pet-page #demo-status-card:not(.is-lost) .demo-location-button:focus{color:#fff;outline:2px solid var(--forest-700);outline-offset:3px}
.pet-page #demo-status-card:not(.is-lost) .demo-location-button:active{background:var(--forest-950);border-color:var(--forest-950);color:#fff}
.pet-page #demo-status-card:not(.is-lost) .demo-location-button .ui-icon{color:inherit;stroke:currentColor}
