:root{--color-bg:#fff;--color-surface:#fff;--color-surface-alt:#dff1fc;--color-primary:#0ea5e9;--color-primary-dark:#0369a1;--color-primary-darker:#075985;--color-accent:#38bdf8;--color-black:#111;--color-text:#0f172a;--color-muted:#475569;--color-border:#d6ecf7;--color-input-border:#6b8ba3;--color-error:#dc2626;--color-success:#1a7a3c;--color-whatsapp:#25d366;--color-brand-red:#e11b22;--color-brand-red-dark:#b6141a;--color-brand-yellow:#f5c518;--section-spacing:4.5rem;--section-spacing-mobile:2.75rem;--radius-sm:8px;--radius:12px;--radius-lg:20px;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 8px 24px #0ea5e91a;--shadow-lg:0 20px 44px #0f172a24, 0 6px 16px #0ea5e91f;--shadow:var(--shadow-sm), var(--shadow-md);--font-sans:"DM Sans", system-ui, sans-serif;--font-display:"Outfit", system-ui, sans-serif;--font-credential:"Inter", "DM Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);margin:0;line-height:1.6}#root{min-height:100vh}a{color:var(--color-primary-dark);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1100px,92vw);margin:0 auto}.layout{flex-direction:column;min-height:100vh;display:flex}.main{flex:1}.page-band{width:100%;padding:var(--section-spacing) 0}.page-band--alt{background:linear-gradient(180deg, var(--color-surface) 0%, var(--color-surface-alt) 22%, var(--color-surface-alt) 78%, var(--color-surface) 100%)}@media (width<=768px){.page-band{padding:var(--section-spacing-mobile) 0}}.page{width:min(1100px,92vw);padding:var(--section-spacing) 0;margin:0 auto}@media (width<=768px){.page{padding:var(--section-spacing-mobile) 0}}.navbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;position:sticky;top:0}.navbar__inner{align-items:center;gap:2rem;padding:1rem 0;display:flex}.navbar__brand{color:var(--color-text);align-items:center;gap:.6rem;font-size:.85rem;text-decoration:none;display:flex}.navbar__brand strong{font-family:var(--font-display);font-size:1.15rem;display:block}.navbar__brand small{color:var(--color-muted)}.navbar__nav{flex:1;gap:1.25rem;display:flex}.navbar__link{color:var(--color-muted);font-size:.95rem;font-weight:500;text-decoration:none}.navbar__link:hover,.navbar__link--active{color:var(--color-primary-dark);text-decoration:none}.navbar__link--active{font-weight:600}.navbar__link--button{cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.navbar__cta{margin-left:auto}.lang-toggle{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;letter-spacing:.02em;color:var(--color-muted);border-radius:999px;align-items:center;gap:.3rem;padding:.4rem .7rem;font-family:inherit;font-size:.78rem;font-weight:700;transition:border-color .18s,transform .15s,box-shadow .18s;display:inline-flex}.lang-toggle:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.lang-toggle__option{color:inherit;padding:0 .1rem;transition:color .15s}.lang-toggle__option--active{color:var(--color-primary-dark)}.lang-toggle__divider{color:var(--color-border)}.breadcrumbs{margin-bottom:1.25rem}.breadcrumbs__list{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.breadcrumbs__item{align-items:center;gap:.25rem;display:flex}.breadcrumbs__separator{color:var(--color-muted);margin:0 .15rem}.breadcrumbs__link{color:var(--color-muted)}.breadcrumbs__link:hover{color:var(--color-primary-dark)}.breadcrumbs__current{color:var(--color-text);font-weight:600}.btn{border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;padding:.65rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .15s,box-shadow .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)scale(1.02)}.btn:active{transform:translateY(0)scale(.97)}.btn--primary:hover,.btn--call:hover{box-shadow:var(--shadow-md)}.btn--primary{background:var(--color-primary-dark);color:#fff}.btn--primary:hover{background:var(--color-primary-darker);color:#fff;box-shadow:var(--shadow-md);text-decoration:none}.btn--outline{border-color:var(--color-primary-dark);color:var(--color-primary-dark);background:0 0}.btn--outline:hover{background:var(--color-primary-dark);color:#fff;text-decoration:none}.btn--ghost{color:var(--color-muted);background:0 0;border:none}.btn--ghost:hover{color:var(--color-primary-dark)}.btn--danger{border-color:var(--color-brand-red);color:var(--color-brand-red);background:0 0}.btn--danger:hover{background:var(--color-brand-red);color:#fff;text-decoration:none}.btn--sm{padding:.4rem .85rem;font-size:.85rem}.section{padding:var(--section-spacing) 0}.section__title{font-family:var(--font-display);margin:0 0 1.85rem;padding-bottom:.85rem;font-size:1.75rem;position:relative}.services-group+.services-group{margin-top:3rem}.section__title:after,.page__header h1:after{content:"";background:var(--color-primary-dark);border-radius:999px;width:48px;height:4px;position:absolute;bottom:0;left:0}.section__title--center{text-align:center}.section__title--center:after{left:50%;transform:translate(-50%)}.section__cta{text-align:center;margin-top:2.5rem}.page__header{margin-bottom:.5rem}.page__header h1{font-family:var(--font-display);margin:0 0 1rem;padding-bottom:.85rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;position:relative}.page__header p{color:var(--color-muted);margin:0 0 2.5rem;font-size:1.05rem;line-height:1.65}.grid{gap:1.5rem;display:grid}.grid--3{grid-template-columns:1fr}@media (width>=640px){.grid--3{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid--3{grid-template-columns:repeat(3,1fr)}}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--color-border);padding:1.5rem}.service-card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);height:100%;box-shadow:var(--shadow), 0 1px 2px #1111110a;flex-direction:column;transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.service-card:hover{box-shadow:var(--shadow-lg), 0 12px 28px #1111111a;transform:translateY(-4px)}.service-card__media{background:var(--color-surface-alt);flex-shrink:0;width:100%}.service-card__media--photo{aspect-ratio:4/3}.service-card__media--placeholder{aspect-ratio:3}.service-card__image{object-fit:cover;width:100%;height:100%;display:block}.service-card__placeholder{width:100%;height:100%;color:var(--color-primary-dark);justify-content:center;align-items:center;display:flex}.service-card__placeholder svg{opacity:.5;width:42%;height:42%}.service-card__body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.service-card__body .btn{margin-top:auto}.service-card__title{font-family:var(--font-display);margin:.5rem 0}.service-card__desc{color:var(--color-muted);font-size:.9rem}.service-card__meta{justify-content:space-between;align-items:center;margin:1rem 0;font-size:.9rem;display:flex}.service-card__price{color:var(--color-primary-dark);font-size:1.05rem}.badge{text-transform:uppercase;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;transition:transform .18s,box-shadow .18s;display:inline-flex}.service-card:hover .badge{box-shadow:var(--shadow-sm);transform:translateY(-1px)scale(1.05)}.badge--alimento{color:#334155;background:#f1f5f9}.badge--purina{color:#8a6d00;background:#fff6db}.badge--accesorios{color:#1a54c4;background:#e8f0fe}.badge--fumigantes{color:#2e7d32;background:#e8f5e9}.badge--farmacia{color:#0369a1;background:#e0f2fe}.badge--estetica{color:#7b2fc4;background:#f3e8fd}.badge--visible{color:var(--color-success);background:#e7f5ec}.badge--oculto,.badge--type-producto{color:var(--color-muted);background:#f1f5f9}.badge--type-servicio{color:#0369a1;background:#e0f2fe}.stats{background:var(--color-primary-dark);color:#fff;border-radius:var(--radius);text-align:center;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0;padding:2rem;display:grid}.stat strong{font-family:var(--font-display);font-size:2rem;display:block}.stat span{opacity:.9;font-size:.9rem}.filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.field{flex-direction:column;gap:.35rem;display:flex}.field span{color:var(--color-muted);font-size:.85rem;font-weight:600}.field input,.field select,.field textarea,.gallery-admin-item__caption-input{border:1.5px solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:.6rem .85rem;font-family:inherit;font-size:1rem;transition:border-color .18s,box-shadow .18s}.field input:focus,.field select:focus,.field textarea:focus,.gallery-admin-item__caption-input:focus{outline:2px solid var(--color-primary-dark);outline-offset:1px;border-color:var(--color-primary);box-shadow:0 0 0 4px #0ea5e91f}.input--error{border-color:var(--color-error)}.field__error{color:var(--color-error);font-size:.8rem;font-style:normal}.file-input{position:relative}.file-input__native{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-input__trigger{cursor:pointer;align-items:center;gap:.75rem;display:flex}.file-input__filename{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.file-input__native:focus-visible+.file-input__trigger .btn,.file-input__native:focus+.file-input__trigger .btn{outline:2px solid var(--color-primary-dark);outline-offset:2px}.form h2{font-family:var(--font-display);margin:0 0 1.25rem;font-size:1.25rem}.form__row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form__total{background:var(--color-surface-alt);border-radius:var(--radius-sm);margin:0 0 1rem;padding:.85rem 1rem}.alert{border-radius:8px;margin-top:1rem;padding:1rem}.alert--success{color:var(--color-success);background:#e7f5ec;border:1px solid #a9d9bb}.appointments-layout,.contact-layout{grid-template-columns:1.4fr 1fr;align-items:start;gap:2rem;display:grid}.appointment-list{margin:0;padding:0;list-style:none}.appointment-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 0;display:flex}.appointment-item:last-child{border-bottom:none}.appointment-item div{flex-direction:column;gap:.15rem;display:flex}.appointment-item span{color:var(--color-muted);font-size:.85rem}.product-list{margin:0;padding:0;list-style:none}.product-item{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.85rem 0;display:grid}.product-item:last-child{border-bottom:none}.product-item__info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.product-item__name{align-items:center;gap:.4rem;min-width:0;display:flex}.product-item__name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.product-item__meta{color:var(--color-muted);font-size:.85rem}.product-item__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.product-item__error{grid-column:1/-1;margin:0}@media (width<=640px){.product-item{grid-template-columns:1fr;gap:.6rem}.product-item>.badge{justify-self:start}}.about-intro p{margin:0;font-size:1.05rem}.sucursales-map-picker{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.sucursales-map-picker__tabs{flex-wrap:wrap;gap:.6rem;display:flex}.sucursales-map-picker__tab{border:2px solid var(--color-primary-dark);color:var(--color-primary-dark);cursor:pointer;background:0 0;border-radius:999px;padding:.55rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .18s,color .18s,transform .15s}.sucursales-map-picker__tab:hover{transform:translateY(-1px)}.sucursales-map-picker__tab--active{background:var(--color-primary-dark);color:#fff}.sucursales-map{border-radius:var(--radius-lg);width:100%;height:380px;box-shadow:var(--shadow);border:1px solid var(--color-border);background:var(--color-surface-alt);display:block;overflow:hidden}@media (width<=768px){.sucursales-map{height:260px}}.sucursal-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);width:100%;min-height:320px;box-shadow:var(--shadow-lg);padding:clamp(1.75rem,4vw,3rem)}.sucursal-card--main{border-color:var(--color-brand-red)}.sucursal-card--secondary{border-color:var(--color-primary-dark)}.sucursal-card__eyebrow{text-transform:uppercase;letter-spacing:.1em;border-radius:999px;margin:0 0 .85rem;padding:.35rem .9rem;font-size:.75rem;font-weight:700;display:inline-block}.sucursal-card__eyebrow--main{color:var(--color-brand-red-dark);background:#fdeceb}.sucursal-card__eyebrow--secondary{background:var(--color-surface-alt);color:var(--color-primary-dark)}.sucursal-card__name{font-family:var(--font-display);color:var(--color-black);margin:0 0 .5rem;font-size:clamp(1.5rem,3vw,2rem)}.sucursal-card__address,.sucursal-card__hours{color:var(--color-muted);margin:0;font-size:1rem}.sucursal-card__actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.sucursal-card__directions{color:var(--color-primary-dark);font-size:.95rem;font-weight:600}@media (width<=640px){.sucursal-card{min-height:430px}}.empty-state{color:var(--color-muted);text-align:center;padding:2rem}.footer{background:var(--color-black);color:#cfcfcf;border-top:4px solid var(--color-accent);margin-top:auto;padding:2.5rem 0 1.5rem}.footer__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.footer__brand{font-family:var(--font-display);color:#fff;font-size:1.1rem}.footer__heading{color:#fff;margin:0 0 .5rem;font-weight:600}.footer__text,.footer__link{color:#b3b3b3;margin:.25rem 0;font-size:.9rem;display:block}.footer__link:hover{color:var(--color-accent)}.footer__link--facebook{align-items:center;gap:.4rem;display:inline-flex}.footer__copy{text-align:center;color:gray;border-top:1px solid #2a2a2a;margin:0;padding-top:1.5rem;font-size:.8rem}.footer__admin-link{color:gray}.footer__admin-link:hover{color:var(--color-accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--color-primary-dark);color:#fff;border-radius:var(--radius-sm);padding:.75rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:-100%;left:1rem}.skip-link:focus{outline:3px solid var(--color-accent);outline-offset:2px;top:1rem}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.field__hint{color:var(--color-muted);margin:0;font-size:.8rem}.field__error{color:var(--color-error);margin:.25rem 0 0;font-size:.85rem;font-style:normal}.alert--error{color:var(--color-error);background:#fdecea;border:1px solid #f5b7b1}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.privacy-notice{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);z-index:150;max-width:420px;margin-left:auto;padding:1rem 1.25rem;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 8px 32px #0000001f}.privacy-notice__title{margin:0 0 .5rem;font-weight:700}.privacy-notice__text{color:var(--color-muted);margin:0 0 1rem;font-size:.9rem}.error-boundary{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;padding:2rem;display:flex}.error-boundary__actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.navbar__toggle{border:2px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;gap:5px;padding:.5rem;display:none}.navbar__toggle-bar{background:var(--color-text);width:22px;height:2px;display:block}.navbar__cta--mobile{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=768px){.section{padding-top:var(--section-spacing-mobile);padding-bottom:var(--section-spacing-mobile)}.services-torito{padding:var(--section-spacing-mobile) 0}.navbar__toggle{margin-left:auto;display:flex}.navbar__cta--desktop{display:none}.navbar__nav{flex-direction:column;order:3;gap:.5rem;width:100%;padding-top:.5rem;display:none}.navbar__nav--open{display:flex}.navbar__cta--mobile{justify-content:center;width:100%;display:inline-flex}.navbar__inner{flex-wrap:wrap;gap:.75rem}.lang-toggle{padding:.3rem .55rem;font-size:.72rem}.stats,.form__row,.appointments-layout,.contact-layout{grid-template-columns:1fr}}.not-found{place-items:center;min-height:min(72vh,720px);padding:2rem 0 3rem;display:grid}.not-found__panel{text-align:center;background:radial-gradient(circle at top right, #38bdf838, transparent 42%), radial-gradient(circle at bottom left, #0ea5e91f, transparent 45%), var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(760px,100%);box-shadow:var(--shadow);padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,4vw,3rem);position:relative;overflow:hidden}.not-found__panel:before{content:"🐾";opacity:.35;font-size:2rem;position:absolute;top:1.25rem;right:1.5rem;transform:rotate(18deg)}.not-found__code{font-family:var(--font-display);letter-spacing:-.06em;color:#0000;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 55%, var(--color-accent) 100%);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(6rem,22vw,11rem);font-weight:600;line-height:.9}.not-found__badge{background:var(--color-surface-alt);color:var(--color-primary-dark);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin:.75rem 0 1.25rem;padding:.45rem 1rem;font-size:.85rem;font-weight:700;display:inline-block}.not-found__title{font-family:var(--font-display);color:var(--color-primary-dark);margin:0 0 .75rem;font-size:clamp(1.75rem,4vw,2.6rem)}.not-found__text{max-width:34rem;color:var(--color-muted);margin:0 auto 2rem;font-size:1.05rem}.not-found__actions{flex-wrap:wrap;justify-content:center;gap:.85rem;display:flex}.hero-torito{padding:var(--section-spacing) 0;position:relative;overflow:hidden}.hero-torito__inner{grid-template-columns:1.3fr .7fr;align-items:center;gap:2.5rem;width:min(1100px,92vw);margin:0 auto;padding:0 1.5rem;display:grid}.hero-torito__text{z-index:1;text-align:left;flex-direction:column;align-items:flex-start;min-width:0;display:flex;position:relative}@media (width<=768px){.hero-torito{padding:var(--section-spacing-mobile) 0}.hero-torito__inner{grid-template-columns:1fr;gap:1.5rem;padding:0 1.5rem}.hero-torito__text{text-align:center;align-items:center}.hero-torito__actions{justify-content:center}.dog-mascot{width:clamp(120px,40vw,175px)}}.hero-torito:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(180deg, var(--color-surface-alt) 0%, var(--color-surface) 85%);position:absolute;inset:0}.hero-torito__logo{filter:drop-shadow(0 10px 20px #1111112e);width:clamp(100px,9vw,130px);margin-bottom:1.5rem;display:block}.hero-torito__eyebrow{z-index:1;color:var(--color-primary-dark);text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.85rem;font-weight:700;position:relative}.hero-torito__title{z-index:1;font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-black);margin:.75rem 0 0;font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:700;line-height:1.1;position:relative}.hero-torito__title-word{white-space:nowrap;display:inline-block}.hero-torito__title-word+.hero-torito__title-word{margin-left:.3em}.hero-torito__slogan{z-index:1;color:var(--color-muted);max-width:38rem;margin:1rem 0 0;font-size:1.2rem;line-height:1.65;position:relative}.hero-torito__actions{z-index:1;flex-wrap:wrap;justify-content:flex-start;gap:1rem;margin:2rem 0 0;display:flex;position:relative}.hero-torito__actions .btn{border-radius:var(--radius);padding:.85rem 1.75rem;font-size:1.02rem}.btn--call{background:var(--color-primary-dark);color:#fff}.btn--call:hover{background:var(--color-primary-darker);color:#fff}.btn--whatsapp{border-color:var(--color-whatsapp);color:#1a8f4c;background:0 0}.btn--whatsapp:hover{background:var(--color-whatsapp);color:#fff;text-decoration:none}.hero-torito__mascot-wrap{z-index:1;justify-content:center;margin-top:1rem;display:flex;position:relative}.services-torito{padding:var(--section-spacing) 0}.services-torito__inner{width:min(1100px,92vw);margin:0 auto;padding:0 1.5rem}.services-torito__title{font-family:var(--font-display);text-align:center;color:var(--color-black);margin:0 0 .85rem;padding-bottom:.85rem;font-size:1.75rem;position:relative}.services-torito__title:after{content:"";background:var(--color-primary-dark);border-radius:999px;width:48px;height:4px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.services-torito__subtitle{text-align:center;color:var(--color-muted);margin:0 0 2.5rem}.services-torito__cta{justify-content:center;margin-top:2.5rem;display:flex}.section__eyebrow{color:var(--color-primary-dark);text-transform:uppercase;letter-spacing:.14em;margin:0 0 .4rem;font-size:.8rem;font-weight:700}.section__eyebrow--center{text-align:center}.reviews-torito{margin:2rem 0 0;display:flex}.reviews-torito__link{color:var(--color-muted);align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:inline-flex}.reviews-torito__link:hover{color:var(--color-black);text-decoration:underline}.stars-rating{letter-spacing:.1em;color:#d1d5db;font-size:1rem;line-height:1;display:inline-block;position:relative}.stars-rating__fg{white-space:nowrap;color:var(--color-brand-yellow);position:absolute;inset:0;overflow:hidden}.home-cta{text-align:center;padding:var(--section-spacing-mobile) 0;background:linear-gradient(180deg, var(--color-surface) 0%, var(--color-surface-alt) 35%)}.home-cta__inner{width:min(1100px,92vw);margin:0 auto;padding:0 1.5rem}.home-cta__title{font-family:var(--font-display);color:var(--color-black);margin:0 0 1.5rem;font-size:clamp(1.4rem,3vw,1.85rem)}.home-cta__actions{flex-direction:column;align-items:center;gap:1rem;display:flex}.home-cta__link{color:var(--color-primary-dark);font-weight:600}.home-cta__link:hover{text-decoration:underline}.logo-medallion{aspect-ratio:1;isolation:isolate;border-radius:50%;display:block;position:relative}.logo-medallion:before{content:"";background:linear-gradient(135deg, var(--color-brand-red), var(--color-brand-yellow));z-index:-1;border-radius:50%;position:absolute;inset:-3px}.logo-medallion__img{object-fit:cover;border:2px solid #fff;border-radius:50%;width:100%;height:100%;display:block}.navbar__link{padding-bottom:3px;position:relative}.navbar__link:after{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-accent));width:0;height:2px;transition:width .25s;position:absolute;bottom:-3px;left:0}.navbar__link:hover:after,.navbar__link--active:after{width:100%}.navbar--scrolled{box-shadow:0 2px 16px #1111111a}.navbar--scrolled .navbar__inner{padding:.6rem 0}.dog-mascot{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;width:clamp(165px,18vw,260px);position:relative}.dog-mascot svg{width:100%;height:auto;display:block;overflow:visible}.dog-mascot__bubble{border:2px solid var(--color-black);color:var(--color-primary-dark);opacity:0;pointer-events:none;white-space:nowrap;background:#fff;border-radius:999px;padding:.35rem .9rem;font-size:.95rem;font-weight:700;position:absolute;top:-1.6rem;right:-.75rem}.credential-section{background:var(--color-surface-alt);border-radius:var(--radius-lg);text-align:center;max-width:520px;margin:2.5rem auto 0;padding:2.5rem 1.5rem}.credential-section__title{font-family:var(--font-display);color:var(--color-black);margin:0 0 .4rem;font-size:1.75rem}.credential-section__subtitle{color:var(--color-muted);margin:0 0 3.5rem}.credential-card{background:var(--color-surface);border-radius:20px;flex-direction:column;align-items:center;max-width:460px;margin:0 auto;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 1px 2px #0000000a,0 12px 32px #00000014}.credential-card:hover{transform:translateY(-4px);box-shadow:0 2px 4px #0000000f,0 20px 44px #0000001f}.credential-card__stripe{background:var(--color-primary-dark);border-radius:20px 20px 0 0;flex-shrink:0;width:100%;height:6px;display:block}.credential-card__body{z-index:1;text-align:center;flex-direction:column;align-items:center;padding:0 2rem 1.75rem;display:flex;position:relative}.credential-card__avatar{background:var(--color-primary-dark);color:#fff;width:96px;height:96px;font-family:var(--font-credential);box-shadow:0 0 0 3px var(--color-accent), 0 8px 20px #0ea5e959;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:-40px;margin-bottom:1rem;font-size:2rem;font-weight:700;display:flex}.credential-card__name{font-family:var(--font-credential);color:var(--color-black);margin:0 0 .35rem;font-size:22px;font-weight:700}.credential-card__role{font-family:var(--font-credential);letter-spacing:.05em;text-transform:uppercase;color:#6b7280;margin:0;font-size:15px;font-weight:500}.credential-card__divider{align-items:center;width:100%;margin:1.25rem 0;display:flex}.credential-card__divider:before,.credential-card__divider:after{content:"";background:var(--color-border);flex:1;height:1px}.credential-card__diamond{background:var(--color-accent);flex-shrink:0;width:7px;height:7px;margin:0 .6rem;transform:rotate(45deg)}.credential-card__cedula{text-align:left;background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;width:100%;padding:16px}.credential-card__cedula-label-row{justify-content:space-between;align-items:baseline;gap:.5rem;margin:0 0 .5rem;display:flex}.credential-card__cedula-label{text-transform:uppercase;letter-spacing:.12em;color:#6b7280;margin:0;font-size:11px;font-weight:600}.credential-card__cedula-level{text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary-dark);font-size:11px;font-weight:600}.credential-card__cedula-row{align-items:center;gap:.6rem;display:flex}.credential-card__shield{flex-shrink:0;width:26px;height:26px}.credential-card__cedula-number{font-family:var(--font-credential);color:var(--color-black);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:32px;font-weight:700}.credential-card__cedula-issuer{color:#9ca3af;margin:.5rem 0 0;font-size:12px}.credential-card__verify-btn{border:1.5px solid var(--color-primary-dark);width:100%;color:var(--color-primary-dark);text-align:center;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin-top:1.25rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:flex}.credential-card__verify-btn:hover{background:var(--color-primary-dark);color:#fff;text-decoration:none}.credential-card__verify-btn svg{flex-shrink:0;width:16px;height:16px}@media (width<=768px){.appointments-layout{grid-template-columns:1fr}.credential-section{padding:var(--section-spacing-mobile) 12px}.credential-card{width:100%;max-width:none}.credential-card__avatar{width:72px;height:72px;margin-top:-36px;font-size:1.5rem}.credential-card__cedula-number{font-size:26px}}.gallery-card{aspect-ratio:4/3;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface-alt);cursor:pointer;width:100%;box-shadow:var(--shadow);padding:0;transition:transform .22s,box-shadow .22s;display:block;position:relative;overflow:hidden}.gallery-card:hover,.gallery-card:focus-visible{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.gallery-card:focus-visible{outline:3px solid var(--color-primary-dark);outline-offset:2px}.gallery-card__image{object-fit:cover;width:100%;height:100%;display:block}.gallery-card__caption{color:#fff;text-align:left;background:linear-gradient(#0000,#000000a6);padding:.6rem .85rem;font-size:.85rem;font-weight:600;position:absolute;bottom:0;left:0;right:0}.lightbox{z-index:1000;background:#111111d9;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox__dialog{flex-direction:column;align-items:center;max-width:min(900px,92vw);max-height:88vh;display:flex;position:relative}.lightbox__image{border-radius:var(--radius);object-fit:contain;max-width:100%;max-height:76vh;box-shadow:0 20px 60px #0006}.lightbox__close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.5rem;display:flex;position:absolute;top:-3rem;right:0}.lightbox__close:hover{background:#ffffff26}.lightbox__close:focus-visible,.lightbox__nav:focus-visible{outline-offset:2px;outline:2px solid #fff}.lightbox__nav{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .18s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{background:#ffffff40}.lightbox__nav--prev{left:-1rem}.lightbox__nav--next{right:-1rem}.lightbox__counter{color:#fff;text-align:center;margin:1rem 0 0;font-size:.9rem}@media (width<=768px){.lightbox{padding:1rem}.lightbox__nav--prev{left:.25rem}.lightbox__nav--next{right:.25rem}.lightbox__close{top:-2.5rem}}.confirm-dialog{z-index:1000;background:#11111180;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.confirm-dialog__panel{background:var(--color-surface);border-radius:var(--radius-lg);width:min(420px,100%);box-shadow:var(--shadow-lg);padding:1.75rem}.confirm-dialog__title{font-family:var(--font-display);color:var(--color-black);margin:0 0 .6rem;font-size:1.25rem}.confirm-dialog__message{color:var(--color-muted);margin:0;font-size:.95rem;line-height:1.6}.confirm-dialog__actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=480px){.confirm-dialog__actions{flex-direction:column-reverse}.confirm-dialog__actions .btn{width:100%}}.alert--warning{color:var(--color-black);background:#fff7e0;border:1px solid #f0d675}.gallery-admin-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.gallery-admin-item{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;height:100%;display:flex;overflow:hidden}.gallery-admin-item__media{aspect-ratio:1;background:var(--color-surface-alt);flex-shrink:0;position:relative}.gallery-admin-item__media img{object-fit:cover;width:100%;height:100%;display:block}.gallery-admin-item__body{flex-direction:column;flex:1;gap:.6rem;padding:.75rem;display:flex}.gallery-admin-item__caption-input{width:100%;min-width:0}.gallery-admin-item__actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:auto;display:flex}
