@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;600&family=DM+Sans:wght@400;500;600&display=swap');
*{margin:0;padding:0;box-sizing:border-box}
/* Força modo claro em todos os dispositivos (corrige iPad/iPhone em dark mode) */
:root{color-scheme:light}
html{scroll-behavior:smooth;background:#2A4860}
:root{
  /* New palette from brand guide */
  --rose:#A4485E;--rose-light:#C4697E;--rose-pale:#F5E8EC;--rose-soft:#EDD5DB;
  --sand:#F5EDE5;--sand-dark:#E4C5AF;--sand-mid:#D4B49F;
  --sage:#9CBCC6;--sage-pale:#E8F3F6;
  --text:#2A2030;--text-mid:#5A4A55;--text-soft:#9A8A90;
  --white:#FFFFFF;--ok:#4A8A6A;--warn:#C07820;--err:#A03040;
  --sidebar-bg:#1E3040;
  --navy:#406B8C;--navy-light:#5A8AAA;--navy-pale:#D8EAF2;
  --sky:#9CBCC6;--sky-light:#B8D4DC;--sky-pale:#E8F3F6;
  --wine:#A4485E;--wine-light:#C4697E;--wine-pale:#F5E8EC;
  --orange:#EB8445;--orange-light:#F0A060;--orange-pale:#FDF0E4;--sidebar-text:rgba(255,255,255,0.82);
  --desert:#E4C5AF;--desert-dark:#D4A88A;
  --ff-head:'Lora',serif;--ff-body:'DM Sans',sans-serif;
}
body{font-family:var(--ff-body);background:#F5EDE5;color:var(--text);font-size:14px;line-height:1.6;overflow-x:hidden;min-height:100vh}
html{overflow-x:hidden;min-height:100%}
.page{display:none}.page.active{display:block}

/* NAV TIENDA */




/* TIENDA PRODUCTOS */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.prod-card{background:var(--white);border:1px solid var(--sand-dark);border-radius:16px;overflow:hidden;transition:all .22s;cursor:default}
.prod-card:hover{border-color:var(--rose-soft);box-shadow:0 8px 24px rgba(155,107,122,0.12);transform:translateY(-3px)}
.prod-img{width:100%;height:180px;object-fit:cover;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:4rem}
.prod-img.emoji-placeholder{background:linear-gradient(135deg,var(--rose-pale),var(--sand-dark))}
.prod-body{padding:1.1rem 1.2rem}
.prod-cat{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--rose);margin-bottom:5px}
.prod-name{font-family:var(--ff-head);font-size:1rem;color:var(--text);font-weight:600;margin-bottom:5px}
.prod-desc{font-size:12px;color:var(--text-soft);line-height:1.6;margin-bottom:10px}
.prod-price{font-size:1.2rem;font-weight:700;color:var(--rose);font-family:var(--ff-head)}
.prod-badge{display:inline-block;background:var(--sage-pale);color:var(--sage);font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle}
.prod-contact{margin-top:10px;width:100%;padding:8px;border-radius:8px;background:var(--rose-pale);border:1.5px solid var(--rose-soft);color:var(--rose);font-size:12px;font-weight:700;cursor:pointer;font-family:var(--ff-body);transition:all .18s}
.prod-contact:hover{background:var(--rose);color:#fff}
.tienda-filters{display:flex;gap:8px;margin-bottom:1.5rem;flex-wrap:wrap}
.tfilter{padding:7px 16px;border-radius:20px;border:1.5px solid var(--sand-dark);background:var(--white);font-size:12px;font-weight:600;color:var(--text-mid);cursor:pointer;font-family:var(--ff-body);transition:all .18s}
.tfilter:hover{background:var(--sand-dark)}
.tfilter.act{background:var(--rose);color:#fff;border-color:var(--rose)}
.tienda-empty{text-align:center;padding:4rem 2rem;color:var(--text-soft)}
.tienda-empty-icon{font-size:3rem;margin-bottom:1rem}

/* NAV */
nav{background:var(--white);border-bottom:1px solid var(--sand-dark);position:sticky;top:0;z-index:100;box-shadow:0 1px 8px rgba(27,42,74,0.06)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px;max-width:1160px;margin:0 auto;padding:0 1.5rem}
.nav-brand{display:flex;align-items:center;gap:10px;cursor:pointer}
.brand-mark{width:36px;height:36px;border-radius:50%;background:var(--rose-pale);border:1.5px solid var(--rose-light);display:flex;align-items:center;justify-content:center;font-size:16px}
.brand-name{font-family:var(--ff-head);font-size:15px;color:var(--text);font-weight:600;letter-spacing:.3px}
.brand-name span{display:block;font-family:var(--ff-body);font-size:10px;color:var(--text-soft);font-weight:400;letter-spacing:1.5px;text-transform:uppercase}
.nav-links{display:flex;gap:2px}
.nav-links a{font-size:13px;color:var(--text-mid);padding:7px 13px;border-radius:7px;cursor:pointer;transition:all .18s;font-weight:500}
.nav-links a:hover{background:var(--sand);color:var(--text)}
.nav-links a.act{color:var(--rose);font-weight:700}
.nav-actions{display:flex;gap:8px;align-items:center}
.nbtn{padding:7px 16px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--ff-body);border:none;transition:all .18s}
.nbtn.ghost{background:transparent;color:var(--rose);border:1.5px solid var(--rose-light)}
.nbtn.ghost:hover{background:var(--rose-pale)}
.nbtn.fill{background:var(--rose);color:var(--white)}
.nbtn.fill:hover{background:var(--rose-light)}
.nbtn.dim{background:var(--sand-dark);color:var(--text-mid);font-size:11px}
.nbtn.dim:hover{background:var(--sand-mid)}

/* HERO */
.hero{border-bottom:none;background-image:url('bg-hero.png');background-repeat:repeat;background-size:320px}
.hero-inner{max-width:900px;margin:0 auto;padding:2.5rem 1.5rem;display:flex;flex-direction:column;align-items:stretch;gap:1.2rem}

/* HERO CAROUSEL */
.hero-carousel{border-radius:20px;overflow:hidden;position:relative;height:480px;box-shadow:0 12px 40px rgba(155,107,122,0.25)}
.hslide{position:absolute;inset:0;display:flex;align-items:center;padding:2.5rem 4.5rem;opacity:0;transform:translateX(40px);transition:all .5s cubic-bezier(.4,0,.2,1);pointer-events:none;overflow:hidden}
.hslide.active{opacity:1;transform:translateX(0);pointer-events:auto}
.hslide.out{opacity:0;transform:translateX(-40px)}
.hslide-blob{position:absolute;border-radius:50%;pointer-events:none}
.hslide-content{position:relative;z-index:2;flex:1}
.hslide-tag{display:inline-flex;align-items:center;background:rgba(255,255,255,0.2);backdrop-filter:blur(8px);border-radius:20px;padding:5px 16px;font-size:11px;font-weight:700;color:#fff;letter-spacing:1px;text-transform:uppercase;margin-bottom:1rem;border:1px solid rgba(255,255,255,0.3)}
.hslide-title{font-family:var(--ff-head);font-size:2.4rem;color:#fff;line-height:1.2;margin-bottom:.7rem;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,0.15)}
.hslide-desc{font-size:14px;color:rgba(255,255,255,0.9);line-height:1.65;margin-bottom:1.2rem;max-width:320px;text-shadow:0 1px 4px rgba(0,0,0,0.15)}
.hslide-btns{display:flex;gap:10px;flex-wrap:wrap}
.hslide-emoji-big{position:absolute;right:2rem;bottom:1.5rem;font-size:7rem;opacity:.18;pointer-events:none;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.2))}
.hcarousel-prev,.hcarousel-next{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.2);backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,0.4);color:#fff;font-size:22px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .18s;line-height:1;box-shadow:0 2px 12px rgba(0,0,0,0.15)}
.hcarousel-prev{left:10px}.hcarousel-next{right:10px}
.hcarousel-prev:hover,.hcarousel-next:hover{background:rgba(255,255,255,0.45)}
.hcarousel-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:10}
.hcdot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.4);cursor:pointer;transition:all .25s}
.hcdot.active{background:#fff;width:20px;border-radius:4px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--rose-pale);border:1px solid var(--rose-soft);border-radius:20px;padding:5px 14px;font-size:11px;color:var(--rose);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:1.2rem}
.hero h1{font-family:var(--ff-head);font-size:2.6rem;color:var(--text);line-height:1.2;margin-bottom:1rem;font-weight:600}
.hero h1 em{color:var(--rose);font-style:normal}
.hero-lead{color:var(--text-mid);font-size:15px;line-height:1.75;margin-bottom:1.8rem;max-width:460px}
.hero-btns{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:2rem}
.hbtn{padding:12px 26px;border-radius:24px;font-size:14px;font-weight:700;cursor:pointer;border:none;font-family:var(--ff-body);transition:all .2s;letter-spacing:.3px}
.hbtn.main{background:var(--rose);color:var(--white)}
.hbtn.main:hover{background:var(--rose-light)}
.hbtn.soft{background:var(--sand);color:var(--text-mid);border:1px solid var(--sand-dark)}
.hbtn.soft:hover{background:var(--sand-dark)}
.hero-nums{display:flex;gap:2rem}
.hnum-n{font-family:var(--ff-head);font-size:1.8rem;color:var(--rose);font-weight:600;line-height:1}
.hnum-l{font-size:11px;color:var(--text-soft);margin-top:3px}
.hero-right{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
.hero-right .hero-service-card{flex:1 1 calc(25% - 6px);min-width:160px}
.hero-right .hero-hours{flex:0 0 100%}
.hero-service-card{background:rgba(245,237,229,0.88);border:1px solid var(--sand-dark);border-radius:14px;padding:1.2rem 1.4rem;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s;backdrop-filter:blur(4px)}
.hero-service-card:hover{background:var(--white);border-color:var(--sand-mid);box-shadow:0 4px 16px rgba(0,0,0,0.07)}
.hsc-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.hsc-icon.h{background:#D8EAF2}
.hsc-icon.v{background:var(--sky-pale)}
.hsc-icon.w{background:var(--wine-pale)}
.hsc-icon.o{background:var(--orange-pale)}
.hsc-icon.p{background:#EEF2FF}
.hsc-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px}
.hsc-sub{font-size:12px;color:var(--text-soft)}
.hsc-arr{margin-left:auto;color:var(--text-soft);font-size:16px}
.hero-hours{background:rgba(245,237,229,0.88);border:1px solid var(--sand-dark);border-radius:10px;padding:.9rem 1.2rem;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-mid);backdrop-filter:blur(4px)}
.hours-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex-shrink:0}

/* STRIP */
.strip{background:linear-gradient(90deg,var(--navy) 0%,var(--navy-light) 50%,var(--navy) 100%);border-top:none;border-bottom:none;box-shadow:0 4px 20px rgba(27,42,74,0.25)}
.strip-inner{max-width:1160px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:1rem}
.strip-item{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,0.85);font-weight:600;letter-spacing:.3px}

/* SECTION */
.sec{padding:4rem 1.5rem}
.sec-inner{max-width:1160px;margin:0 auto}
.sec-tag{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--rose);text-transform:uppercase;margin-bottom:10px;display:inline-flex;align-items:center;gap:8px}
.sec-tag::before{content:'';width:20px;height:2px;background:currentColor;border-radius:2px}
.sec-title{font-family:var(--ff-head);font-size:2rem;color:var(--text);margin-bottom:.8rem;font-weight:600}
.sec-sub{color:var(--text-mid);font-size:14px;line-height:1.75;max-width:520px;margin-bottom:2.5rem}

/* SERVICE CARDS */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.svc-grid.four-col{grid-template-columns:repeat(4,1fr)}
.svc-card{background:var(--white);border:1px solid var(--sand-dark);border-radius:16px;overflow:hidden;transition:all .22s;cursor:pointer}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,0.1)}
.svc-card-top{padding:2rem;text-align:center}
.svc-card-top.h{background:#D8EAF2}
.svc-card-top.v{background:var(--sky-pale)}
.svc-card-top.p{background:#EEF2FF}
.svc-card-emoji{font-size:2.4rem;margin-bottom:10px}
.svc-card-title{font-family:var(--ff-head);font-size:1.1rem;color:var(--text);font-weight:600}
.svc-card-body{padding:1.2rem 1.4rem}
.svc-card-text{font-size:13px;color:var(--text-mid);line-height:1.65;margin-bottom:1rem}
.svc-feat{list-style:none;margin-bottom:1rem}
.svc-feat li{font-size:12px;color:var(--text-mid);padding:3px 0;display:flex;align-items:center;gap:7px}
.svc-feat li::before{content:'✓';color:var(--ok);font-weight:700;font-size:11px}
.svc-price{font-size:15px;font-weight:600;color:var(--rose);margin-bottom:12px}
.svc-btn{width:100%;padding:9px;border-radius:8px;border:1.5px solid var(--rose-light);background:transparent;color:var(--rose);font-weight:600;font-size:13px;cursor:pointer;font-family:var(--ff-body);transition:all .18s}
.svc-btn:hover{background:var(--rose);color:var(--white)}
/* Per-service svc-card color accents */
#page-hotel .svc-card:hover{border-color:var(--navy);box-shadow:0 12px 30px rgba(27,42,74,0.12)}
#page-vet .svc-card:hover{border-color:var(--sky);box-shadow:0 12px 30px rgba(91,164,207,0.12)}
#page-peluqueria .svc-card:hover{border-color:var(--wine);box-shadow:0 12px 30px rgba(122,28,46,0.12)}
#page-guarderia .svc-card:hover{border-color:var(--orange);box-shadow:0 12px 30px rgba(232,105,10,0.12)}

/* WHY */
.why-sec{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}
.why-item{padding:1.5rem;border-right:1px solid rgba(255,255,255,0.08)}
.why-item:last-child{border-right:none}
.why-n{font-family:var(--ff-head);font-size:2.2rem;color:#B8D4DC;font-weight:600}
.why-t{font-size:13px;font-weight:600;color:var(--white);margin:6px 0 4px}
.why-d{font-size:12px;color:rgba(255,255,255,0.5);line-height:1.55}

/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.testi-card{background:var(--white);border:1px solid var(--sand-dark);border-radius:14px;padding:1.4rem}
.testi-stars{color:var(--orange);font-size:13px;margin-bottom:10px;letter-spacing:1px}
.testi-txt{font-size:13px;color:var(--text-mid);line-height:1.65;margin-bottom:1rem;font-style:italic}
.testi-author{display:flex;align-items:center;gap:9px}
.testi-av{width:34px;height:34px;border-radius:50%;background:var(--rose-pale);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--rose)}
.testi-nm{font-size:13px;font-weight:600;color:var(--text)}
.testi-pet{font-size:11px;color:var(--text-soft)}

/* CONTACT STRIP */
.cstrip{background:var(--navy);border-top:none}
.cstrip-inner{max-width:1160px;margin:0 auto;padding:1.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ci{display:flex;align-items:center;gap:10px}
.ci-ico{width:38px;height:38px;border-radius:9px;background:rgba(91,164,207,0.2);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;border:1px solid rgba(91,164,207,0.3)}
.ci-lbl{font-size:10px;color:rgba(255,255,255,0.5);font-weight:600;text-transform:uppercase;letter-spacing:.8px}
.ci-val{font-size:13px;color:rgba(255,255,255,0.85);font-weight:500;margin-top:1px}

/* FOOTER */
footer{background:linear-gradient(135deg,var(--navy) 0%,#2A4860 100%);color:rgba(255,255,255,0.6);font-size:13px}
.foot-inner{max-width:1160px;margin:0 auto;padding:2.5rem 1.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem}
.foot-brand-name{font-family:var(--ff-head);color:var(--white);font-size:1.1rem;margin-bottom:8px}
.foot-brand-desc{font-size:12px;line-height:1.7;max-width:240px}
.foot-h{font-size:11px;font-weight:600;color:var(--white);margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}
.foot-list{list-style:none}
.foot-list li{margin-bottom:7px}
.foot-list li a{color:rgba(255,255,255,0.55);text-decoration:none;cursor:pointer;transition:color .18s;font-size:12px}
.foot-list li a:hover{color:var(--sky-light)}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.08);padding:1rem 1.5rem calc(1rem + env(safe-area-inset-bottom,0px));max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(255,255,255,0.35)}

/* MODAL */
.modal-wrap{display:none;position:fixed;inset:0;background:rgba(42,30,30,0.5);z-index:500;align-items:center;justify-content:center}
.modal-wrap.open{display:flex}
.modal{background:var(--white);border-radius:18px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;padding:2rem;position:relative}
.modal-x{position:absolute;top:14px;right:14px;background:var(--sand);border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;color:var(--text-mid);display:flex;align-items:center;justify-content:center}
.modal h2{font-family:var(--ff-head);font-size:1.5rem;color:var(--text);margin-bottom:.3rem;font-weight:600}
.modal-sub{font-size:13px;color:var(--text-soft);margin-bottom:1.4rem}
.fg{margin-bottom:12px}
.fg label{display:block;font-size:12px;font-weight:600;color:var(--text-mid);margin-bottom:5px}
.fg input,.fg select,.fg textarea{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--sand-dark);font-family:var(--ff-body);font-size:13px;color:var(--text);background:var(--sand);outline:none;transition:border .18s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--rose);background:var(--white);box-shadow:0 0 0 3px rgba(155,107,122,0.1)}
.fg textarea{height:72px;resize:none}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn-sub{width:100%;padding:12px;border-radius:9px;background:var(--rose);color:var(--white);border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--ff-body);transition:all .18s;margin-top:6px}
.btn-sub:hover:not(:disabled){background:var(--rose-light)}
.btn-sub:disabled{background:var(--sand-dark);color:var(--text-soft)}
.form-sw{text-align:center;font-size:12px;color:var(--text-soft);margin-top:10px}
.form-sw a{color:var(--rose);font-weight:600;cursor:pointer}
.alert-ok{background:#EAF4EE;border:1px solid #A5CEB5;border-radius:7px;padding:10px 14px;font-size:13px;color:var(--ok);margin-top:10px;display:none}

/* ===== ADMIN ===== */
.adm-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 60px)}
.adm-sidebar{background:linear-gradient(180deg,var(--navy) 0%,#2A4860 100%);padding:0}
.adm-sidebar-head{padding:1.4rem 1.2rem;border-bottom:1px solid rgba(255,255,255,0.07)}
.adm-sidebar-head h3{font-family:var(--ff-head);color:var(--white);font-size:14px;font-weight:600}
.adm-sidebar-head p{font-size:11px;color:rgba(255,255,255,0.35);margin-top:2px}
.adm-menu-section{padding:.8rem 0}
.adm-menu-label{font-size:10px;font-weight:600;color:rgba(255,255,255,0.25);letter-spacing:1.5px;text-transform:uppercase;padding:8px 1.2rem 4px}
.adm-menu li{list-style:none}
.adm-menu li a{display:flex;align-items:center;gap:9px;padding:9px 1.2rem;color:var(--sidebar-text);font-size:13px;font-weight:500;cursor:pointer;transition:all .16s;border-left:2.5px solid transparent}
.adm-menu li a:hover{background:rgba(255,255,255,0.06);color:var(--white)}
.adm-menu li a.act{background:rgba(91,164,207,0.2);color:var(--sky-light);border-left-color:var(--sky-light)}
.adm-menu li a i{font-size:15px;opacity:.8}
.adm-main{background:var(--sand);padding:1.8rem;overflow:auto}
.adm-section{display:none}.adm-section.act{display:block}
.adm-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.adm-topbar-left h2{font-family:var(--ff-head);font-size:1.4rem;color:var(--text);font-weight:600}
.adm-topbar-left p{font-size:12px;color:var(--text-soft);margin-top:2px}
.btn-adm{padding:8px 16px;border-radius:8px;background:var(--navy);color:var(--white);border:none;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--ff-body);transition:all .18s}
.btn-adm:hover{background:var(--navy-light)}
.btn-adm.ghost{background:transparent;color:var(--navy);border:1px solid var(--navy-light)}
.btn-adm.ghost:hover{background:var(--navy-pale)}
.adm-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}
.adm-card{background:var(--white);border-radius:12px;padding:1.1rem 1.2rem;border:1px solid var(--sand-dark)}
.adm-card-lbl{font-size:11px;color:var(--text-soft);font-weight:600;letter-spacing:.3px;margin-bottom:7px}
.adm-card-n{font-family:var(--ff-head);font-size:1.8rem;color:var(--text);font-weight:600;line-height:1}
.adm-card-ch{font-size:11px;margin-top:4px}
.up{color:var(--ok)}.down{color:var(--err)}
.tbl-wrap{background:var(--white);border-radius:12px;border:1px solid var(--sand-dark);overflow:hidden;margin-bottom:1.2rem}
.tbl-head{padding:.9rem 1.2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--sand-dark)}
.tbl-head h3{font-size:14px;font-weight:600;color:var(--text)}
.tbl-head-right{display:flex;gap:8px;align-items:center}
.search-input{padding:6px 10px;border-radius:7px;border:1px solid var(--sand-dark);font-family:var(--ff-body);font-size:12px;color:var(--text);background:var(--sand);outline:none;width:180px}
.search-input:focus{border-color:var(--rose-light)}
table{width:100%;border-collapse:collapse;table-layout:fixed}
table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--sand-dark);background:var(--sand)}
table td{padding:10px 14px;font-size:12px;color:var(--text);border-bottom:1px solid rgba(0,0,0,0.04);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
table tr:last-child td{border-bottom:none}
table tr:hover td{background:#FDFAF8}
.bdg{padding:3px 9px;border-radius:20px;font-size:10px;font-weight:700;display:inline-block}
.bdg.g{background:#EAF4EE;color:#3A7A4E}
.bdg.a{background:#FFF8E6;color:#8A6200}
.bdg.r{background:#FCEAEA;color:#8A3030}
.bdg.b{background:#EEF2FF;color:#3A50A0}
.adm-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.adm-3col{display:grid;grid-template-columns:2fr 1fr;gap:1.2rem}
.adm-mob-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--navy);border-top:1px solid rgba(255,255,255,0.12);z-index:990;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));justify-content:space-around;align-items:center}
.adm-mob-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:rgba(255,255,255,0.38);font-size:9px;font-weight:600;cursor:pointer;background:none;border:none;font-family:var(--ff-body);padding:4px 2px;min-width:0;-webkit-tap-highlight-color:transparent;letter-spacing:.2px}
.adm-mob-btn i{font-size:20px;line-height:1}
.adm-mob-btn.act{color:var(--sky-light)}
.adm-mob-drawer-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1100}
.adm-mob-drawer-bg.open{display:block}
.adm-mob-drawer{position:fixed;bottom:0;left:0;right:0;background:#1B3248;z-index:1101;border-radius:18px 18px 0 0;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));max-height:80vh;overflow-y:auto;transform:translateY(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}
.adm-mob-drawer.open{transform:translateY(0)}
.adm-mob-drawer-handle{width:36px;height:4px;background:rgba(255,255,255,0.15);border-radius:2px;margin:10px auto 6px}
.adm-mob-drawer-label{font-size:9px;font-weight:700;color:rgba(255,255,255,0.2);letter-spacing:2px;text-transform:uppercase;padding:8px 18px 4px}
.adm-mob-drawer-item{display:flex;align-items:center;gap:12px;padding:11px 18px;color:rgba(255,255,255,0.6);font-size:13px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;background:none;width:100%;text-align:left;font-family:var(--ff-body)}
.adm-mob-drawer-item i{font-size:17px;opacity:.8;min-width:20px}
.adm-mob-drawer-item:active,.adm-mob-drawer-item:hover{background:rgba(255,255,255,0.06);color:var(--white)}

/* CHAT */
.chat-layout{display:grid;grid-template-columns:260px 1fr;gap:0;height:600px;background:var(--white);border:1px solid var(--sand-dark);border-radius:12px;overflow:hidden}
.chat-sidebar{background:var(--sand);border-right:1px solid var(--sand-dark);display:flex;flex-direction:column}
.chat-sidebar-head{padding:1rem;border-bottom:1px solid var(--sand-dark);font-size:13px;font-weight:600;color:var(--text);display:flex;justify-content:space-between;align-items:center}
.chat-conv-list{overflow-y:auto;flex:1}
.chat-conv{padding:.8rem 1rem;cursor:pointer;border-bottom:1px solid rgba(0,0,0,0.04);transition:all .16s;display:flex;align-items:center;gap:10px}
.chat-conv:hover{background:var(--sand-dark)}
.chat-conv.sel{background:var(--rose-pale);border-left:3px solid var(--rose)}
.chat-conv-av{width:36px;height:36px;border-radius:50%;background:var(--rose-pale);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--rose);flex-shrink:0}
.chat-conv-info{flex:1;min-width:0}
.chat-conv-name{font-size:13px;font-weight:600;color:var(--text)}
.chat-conv-preview{font-size:11px;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
.chat-conv-meta{text-align:right;flex-shrink:0}
.chat-conv-time{font-size:10px;color:var(--text-soft)}
.chat-unread{width:16px;height:16px;border-radius:50%;background:var(--rose);color:var(--white);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:4px;margin-left:auto}
.chat-main{display:flex;flex-direction:column}
.chat-topbar{padding:.9rem 1.2rem;border-bottom:1px solid var(--sand-dark);display:flex;align-items:center;gap:10px;background:var(--white)}
.chat-topbar-av{width:34px;height:34px;border-radius:50%;background:var(--rose-pale);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--rose)}
.chat-topbar-name{font-size:14px;font-weight:600;color:var(--text)}
.chat-topbar-status{font-size:11px;color:var(--ok)}
.chat-msgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.7rem;background:#FDFAF8}
.msg{max-width:72%;display:flex;flex-direction:column;gap:2px}
.msg.client{align-self:flex-start}
.msg.admin{align-self:flex-end}
.msg-bubble{padding:.6rem .9rem;border-radius:12px;font-size:13px;line-height:1.55}
.msg.client .msg-bubble{background:var(--white);border:1px solid var(--sand-dark);color:var(--text);border-radius:12px 12px 12px 2px}
.msg.admin .msg-bubble{background:var(--rose);color:var(--white);border-radius:12px 12px 2px 12px}
.msg-time{font-size:10px;color:var(--text-soft)}
.msg.admin .msg-time{text-align:right}
.chat-input-area{padding:.8rem 1rem;border-top:1px solid var(--sand-dark);display:flex;gap:8px;align-items:center;background:var(--white)}
.chat-input{flex:1;padding:9px 14px;border-radius:20px;border:1px solid var(--sand-dark);font-family:var(--ff-body);font-size:13px;color:var(--text);background:var(--sand);outline:none}
.chat-input:focus{border-color:var(--rose-light);background:var(--white)}
.chat-send{width:36px;height:36px;border-radius:50%;background:var(--rose);border:none;color:var(--white);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s}
.chat-send:hover{background:var(--rose-light)}
.chat-actions{display:flex;gap:6px}
.chat-action-btn{padding:5px 12px;border-radius:20px;border:1px solid var(--sand-dark);background:transparent;font-size:11px;font-weight:600;color:var(--text-mid);cursor:pointer;font-family:var(--ff-body);transition:all .16s}
.chat-action-btn:hover{background:var(--sand-dark)}
.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-soft);font-size:13px;gap:8px}

/* EDITOR TABS */
.editor-tab{padding:8px 16px;border-radius:8px;border:1px solid var(--sand-dark);background:var(--white);font-size:12px;font-weight:600;color:var(--text-mid);cursor:pointer;font-family:var(--ff-body);transition:all .16s}
.editor-tab:hover{background:var(--sand-dark)}
.editor-tab.act{background:var(--rose);color:var(--white);border-color:var(--rose)}
.editor-tab-content{display:none}.editor-tab-content.act{display:block}

/* USER PANEL */
.up-modal{position:fixed;inset:0;background:rgba(42,32,48,0.52);z-index:700;display:none;align-items:flex-start;justify-content:center;padding-top:60px}
.up-modal.open{display:flex}
.up-box{background:var(--white);border-radius:20px;width:100%;max-width:460px;max-height:82vh;overflow-y:auto;box-shadow:0 24px 64px rgba(27,42,74,0.22);display:flex;flex-direction:column}
.up-header{background:linear-gradient(135deg,var(--rose) 0%,var(--rose-light) 100%);padding:1.4rem 1.4rem 1rem;border-radius:20px 20px 0 0;position:relative;display:flex;align-items:center;gap:1rem}
.up-avatar-wrap{position:relative;cursor:pointer}
.up-avatar{width:56px;height:56px;border-radius:50%;border:3px solid rgba(255,255,255,0.6);background:rgba(255,255,255,0.25);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;overflow:hidden;flex-shrink:0}
.up-avatar img{width:100%;height:100%;object-fit:cover}
.up-avatar-edit{position:absolute;bottom:0;right:0;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,0.9);display:flex;align-items:center;justify-content:center;font-size:10px;border:1.5px solid var(--rose-light)}
.up-info{flex:1}
.up-info h3{font-family:var(--ff-head);font-size:1.05rem;color:#fff;font-weight:600}
.up-info p{font-size:11px;color:rgba(255,255,255,0.75);margin-top:2px}
.up-close{position:absolute;top:12px;right:12px;background:rgba(255,255,255,0.2);border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;color:#fff;display:flex;align-items:center;justify-content:center}
.up-tabs{display:flex;border-bottom:1px solid var(--sand-dark);background:var(--sand)}
.up-tab{flex:1;padding:.7rem .5rem;border:none;background:transparent;font-size:12px;font-weight:600;color:var(--text-mid);cursor:pointer;font-family:var(--ff-body);border-bottom:2px solid transparent;transition:all .18s}
.up-tab.act{color:var(--rose);border-bottom-color:var(--rose);background:var(--white)}
.up-tab-content{display:none;padding:1.2rem 1.4rem;flex:1}
.up-tab-content.act{display:block}
.up-msg-list{display:flex;flex-direction:column;gap:.6rem;max-height:240px;overflow-y:auto;margin-bottom:.8rem;padding:.5rem;background:#FDFAF8;border-radius:10px;border:1px solid var(--sand-dark)}
.up-msg{display:flex;flex-direction:column;gap:2px;max-width:80%}
.up-msg.client{align-self:flex-start}
.up-msg.admin{align-self:flex-end}
.up-msg .bbl{padding:.5rem .8rem;border-radius:10px;font-size:12px;line-height:1.5}
.up-msg.client .bbl{background:var(--white);border:1px solid var(--sand-dark);color:var(--text);border-radius:10px 10px 10px 2px}
.up-msg.admin .bbl{background:var(--rose);color:#fff;border-radius:10px 10px 2px 10px}
.up-msg .t{font-size:10px;color:var(--text-soft)}
.up-msg.admin .t{text-align:right}
.up-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:.8rem}
.up-gal-card{border-radius:10px;overflow:hidden;position:relative;aspect-ratio:1;background:var(--sand-dark);border:1.5px solid var(--sand-dark)}
.up-gal-card img{width:100%;height:100%;object-fit:cover}
.up-gal-expiry{position:absolute;bottom:0;left:0;right:0;background:rgba(42,32,48,0.7);color:rgba(255,255,255,0.85);font-size:9px;padding:3px 6px;text-align:center}
.up-gal-del{position:absolute;top:4px;right:4px;background:rgba(160,48,64,0.82);border:none;border-radius:50%;width:20px;height:20px;color:#fff;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}
/* admin gallery */
.adm-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}
.adm-gal-card{border-radius:12px;overflow:hidden;position:relative;aspect-ratio:1;background:var(--sand-dark);border:2px solid var(--sand-dark)}
.adm-gal-card img{width:100%;height:100%;object-fit:cover}
.adm-gal-info{position:absolute;bottom:0;left:0;right:0;background:rgba(27,42,74,0.82);color:#fff;font-size:10px;padding:4px 7px;display:flex;flex-direction:column;gap:1px}
.adm-gal-del{position:absolute;top:6px;right:6px;background:rgba(160,48,64,0.85);border:none;border-radius:50%;width:22px;height:22px;color:#fff;font-size:11px;cursor:pointer}
/* gallery client list card */
.gal-client-card{background:var(--white);border:1.5px solid var(--sand-dark);border-radius:14px;padding:.9rem 1.2rem;display:flex;align-items:center;gap:1rem;transition:border-color .18s}
.gal-client-card:hover{border-color:var(--rose-soft)}
.gal-client-av{width:40px;height:40px;border-radius:50%;background:var(--rose-pale);border:1.5px solid var(--rose-soft);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--rose);overflow:hidden;flex-shrink:0}
.gal-toggle{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}
.gal-toggle input{opacity:0;width:0;height:0}
.gal-toggle-slider{position:absolute;inset:0;background:#ccc;border-radius:22px;transition:.3s;cursor:pointer}
.gal-toggle-slider:before{content:'';position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}
.gal-toggle input:checked+.gal-toggle-slider{background:var(--ok)}
.gal-toggle input:checked+.gal-toggle-slider:before{transform:translateX(18px)}

/* VISUAL ENHANCEMENTS */
.floating-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--navy),var(--navy-light));color:white;border-radius:20px;padding:6px 16px;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;box-shadow:0 4px 15px rgba(27,42,74,0.35);animation:pulse-badge 2.5s infinite}
@keyframes pulse-badge{0%,100%{box-shadow:0 4px 15px rgba(27,42,74,0.35)}50%{box-shadow:0 4px 25px rgba(27,42,74,0.6)}}

.feature-strip-enhanced{background:linear-gradient(90deg,var(--navy-pale),#fff,var(--sky-pale));border-top:1px solid rgba(91,164,207,0.2);border-bottom:1px solid rgba(91,164,207,0.2);overflow:hidden;position:relative}
.feature-strip-enhanced::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.6),transparent);animation:shimmer 3s infinite}
@keyframes shimmer{to{left:200%}}

.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}
.photo-card{border-radius:16px;overflow:hidden;position:relative;aspect-ratio:4/3;background:var(--sand-dark);display:flex;align-items:center;justify-content:center;border:2px solid var(--sand-dark);transition:transform .22s,box-shadow .22s;cursor:pointer}
.photo-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 40px rgba(27,42,74,0.22);border-color:rgba(255,255,255,0.95)!important;}
.photo-card-inner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:1.5rem}
.photo-card-emoji{font-size:3rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.12))}
.photo-card-label{font-size:13px;font-weight:600;color:var(--text-mid);text-align:center}

.trust-banner{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);border-radius:16px;padding:2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:2rem 0;flex-wrap:wrap}
.trust-banner-text h3{font-family:var(--ff-head);font-size:1.3rem;color:var(--white);font-weight:600;margin-bottom:4px}
.trust-banner-text p{font-size:13px;color:rgba(255,255,255,0.55);line-height:1.6}
.trust-badges{display:flex;gap:12px;flex-wrap:wrap}
.trust-badge{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:10px 16px;display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,0.8);font-weight:500}

.highlight-row{background:linear-gradient(90deg,var(--rose-pale),var(--sage-pale));border-radius:14px;padding:1.4rem 1.8rem;display:flex;align-items:center;gap:1.5rem;margin:1.5rem 0;border:1px solid var(--rose-soft)}
.highlight-row-icon{font-size:2rem;flex-shrink:0}
.highlight-row-text strong{font-size:14px;color:var(--text);font-weight:700;display:block}
.highlight-row-text span{font-size:12px;color:var(--text-mid)}

/* PHOTO GALLERY */
.photo-tab{padding:8px 18px;border-radius:20px;border:1.5px solid var(--sand-dark);background:var(--white);font-size:12px;font-weight:600;color:var(--text-mid);cursor:pointer;font-family:var(--ff-body);transition:all .18s}
.photo-tab:hover{background:var(--sand-dark)}
.photo-tab.act{background:var(--rose);color:#fff;border-color:var(--rose)}
.photo-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:12px}
.pgallery-card{border-radius:14px;overflow:hidden;position:relative;cursor:pointer;transition:transform .22s,box-shadow .22s;display:flex;align-items:flex-end}
.pgallery-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(0,0,0,0.15)}
.pgallery-card.pgallery-big{grid-column:span 2}
.pgallery-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:8px;padding:1rem}
.pgallery-inner span:first-child{font-size:2.5rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.15))}
.pgallery-inner span:last-child{font-size:11px;font-weight:600;color:rgba(255,255,255,0.9);text-align:center;text-shadow:0 1px 4px rgba(0,0,0,0.3);background:rgba(0,0,0,0.2);padding:3px 10px;border-radius:20px}

/* PHOTO GALLERY */
.illus-wrap{border-radius:16px;overflow:hidden;background:var(--rose-pale);display:flex;align-items:center;justify-content:center;padding:1rem}

#page-hotel .svc-grid,#page-vet .svc-grid,#page-peluqueria .svc-grid{margin-top:2rem}
.page-hero{background:var(--white);border-bottom:1px solid var(--sand-dark);padding:3rem 1.5rem;text-align:center}
.page-hero-inner{max-width:600px;margin:0 auto}
.page-hero-icon{font-size:2.5rem;margin-bottom:.8rem}
.page-hero h1{font-family:var(--ff-head);font-size:2.2rem;color:var(--text);margin-bottom:.7rem;font-weight:600}
.page-hero p{color:var(--text-mid);font-size:14px;line-height:1.75;margin-bottom:1.5rem}
/* GAME BANNER */
.game-banner-section{background:linear-gradient(135deg,#1a1a3e 0%,#2D2D7E 40%,#1a1a3e 100%);cursor:pointer;overflow:hidden;position:relative;border-top:3px solid #5A5AFF;border-bottom:3px solid #5A5AFF;transition:filter .2s}
.game-banner-section:hover{filter:brightness(1.08)}
.game-banner-section::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(255,255,255,0.02) 40px,rgba(255,255,255,0.02) 41px);pointer-events:none}
.game-banner-inner{max-width:1160px;margin:0 auto;padding:1.6rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.gbanner-chars{display:flex;align-items:center;gap:8px;flex-shrink:0}
.gbanner-char{display:flex;flex-direction:column;align-items:center;gap:4px;filter:drop-shadow(0 4px 12px rgba(255,150,200,0.4))}
.gbanner-char-label{font-size:11px;font-weight:800;color:rgba(255,255,255,0.7);letter-spacing:1px;text-transform:uppercase}
.gbanner-cat{animation:charBob 1.8s ease-in-out infinite}
.gbanner-dog{animation:charBob 1.8s ease-in-out infinite .3s}
@keyframes charBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.gbanner-vs{font-size:1rem;font-weight:900;color:#FFD700;text-shadow:0 0 10px rgba(255,215,0,0.8);padding:0 4px}
.gbanner-center{flex:1;text-align:center;padding:0 1rem}
.gbanner-new{display:inline-block;background:linear-gradient(135deg,#FFD700,#FF8C00);color:#1a1a2e;font-size:11px;font-weight:900;padding:3px 12px;border-radius:20px;letter-spacing:1.5px;margin-bottom:.5rem;animation:newPulse 1.5s infinite}
@keyframes newPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,215,0,0.5)}70%{box-shadow:0 0 0 8px rgba(255,215,0,0)}}
.gbanner-title{font-family:var(--ff-head);font-size:2.6rem;font-weight:900;color:#fff;line-height:1;margin-bottom:.5rem;text-shadow:0 2px 20px rgba(90,90,255,0.6)}
.gbanner-title span{color:#FFD700;text-shadow:0 0 20px rgba(255,215,0,0.7)}
.gbanner-desc{font-size:13px;color:rgba(255,255,255,0.7);line-height:1.5;margin-bottom:1rem}
.gbanner-desc strong{color:#FFD700}
.gbanner-btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#FFD700,#FF8C00);color:#1a1a2e;font-size:1.1rem;font-weight:900;padding:14px 32px;border-radius:50px;box-shadow:0 6px 24px rgba(255,215,0,0.45);animation:btnPop 1s ease-in-out infinite alternate;letter-spacing:.5px}
@keyframes btnPop{from{transform:scale(1);box-shadow:0 6px 24px rgba(255,215,0,0.45)}to{transform:scale(1.05);box-shadow:0 8px 32px rgba(255,215,0,0.7)}}
.gbanner-note{font-size:11px;color:rgba(255,255,255,0.35);margin-top:.6rem}
.gbanner-controller{position:relative;flex-shrink:0;filter:drop-shadow(0 4px 16px rgba(90,90,255,0.5));animation:ctrlFloat 2.2s ease-in-out infinite}
@keyframes ctrlFloat{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-6px)}}
.gbanner-sparkles{position:absolute;inset:0;pointer-events:none}
.gsp{position:absolute;font-size:14px;animation:sparkSpin 2s ease-in-out infinite}
@keyframes sparkSpin{0%,100%{opacity:.4;transform:scale(.8) rotate(0deg)}50%{opacity:1;transform:scale(1.3) rotate(20deg)}}
/* CHAR SELECT */
.char-card{background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.12);border-radius:18px;padding:1.4rem 1.8rem;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .2s;min-width:160px}
.char-card:hover{border-color:#FFD700;background:rgba(255,215,0,.08);transform:translateY(-4px)}
.char-card.selected{border-color:#FFD700;background:rgba(255,215,0,.15);box-shadow:0 0 24px rgba(255,215,0,.35)}
.char-card-name{font-family:'Lora',serif;font-size:1.3rem;font-weight:700;color:#fff}
.char-card-desc{font-size:12px;color:rgba(255,255,255,.6)}
.char-card-stat{font-size:11px;color:#FFD700;font-weight:600}
/* GAME */
.game-wrap{background:linear-gradient(180deg,#1a1a2e 0%,#16213e 60%,#0f3460 100%);min-height:calc(100vh - 60px);padding:1.5rem;display:flex;flex-direction:column;align-items:center}
.game-header{width:100%;max-width:820px;display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:10px}
.game-title{font-family:var(--ff-head);font-size:1.5rem;color:#fff;font-weight:700}
.game-stats{display:flex;gap:10px;flex-wrap:wrap}
.gstat{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:5px 12px;font-size:12px;font-weight:700;color:#fff}
.gstat span{color:#FFD700}
#game-canvas{border-radius:14px;box-shadow:0 0 40px rgba(90,111,170,0.5);display:block;max-width:100%;cursor:pointer}
.game-canvas-wrap{position:relative;width:820px;max-width:100%}
.gbtn{padding:10px 22px;border-radius:20px;border:none;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--ff-body);transition:all .18s}
.gbtn.start{background:linear-gradient(135deg,#FFD700,#FFA500);color:#1a1a2e}
.gbtn.start:hover{transform:scale(1.04);box-shadow:0 4px 16px rgba(255,215,0,0.4)}
.gbtn.rank{background:rgba(255,255,255,0.1);color:#fff;border:1px solid rgba(255,255,255,0.2)}
.gbtn.rank:hover{background:rgba(255,255,255,0.18)}
.ranking-panel{width:100%;max-width:820px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:14px;padding:1.2rem;margin-top:1rem}
.ranking-title{font-size:14px;font-weight:700;color:#fff;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}
.rank-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;margin-bottom:5px;background:rgba(255,255,255,0.04)}
.rank-row.gold{background:rgba(255,215,0,0.12);border:1px solid rgba(255,215,0,0.2)}
.rank-row.silver{background:rgba(200,200,200,0.08);border:1px solid rgba(200,200,200,0.12)}
.rank-row.bronze{background:rgba(205,127,50,0.08);border:1px solid rgba(205,127,50,0.12)}
.nav-juego{background:linear-gradient(135deg,#5A6FAA,#8A9FDD)!important;color:#fff!important;border-radius:20px!important;padding:6px 16px!important;font-weight:700!important;box-shadow:0 3px 12px rgba(90,111,170,0.45)}

/* MOBILE NAV HAMBURGER */
.nav-hamburger{display:none;background:none;border:none;font-size:26px;color:var(--text-mid);cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1;transition:background .18s;flex-shrink:0}
.nav-hamburger:hover{background:var(--sand)}
#mobile-nav{display:none;position:fixed;top:52px;left:0;right:0;background:var(--white);border-bottom:2px solid var(--sand-dark);box-shadow:0 8px 28px rgba(0,0,0,0.12);z-index:99;padding:.8rem 1rem 1.2rem;animation:slideDown .2s ease}
#mobile-nav.open{display:block}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
#mobile-nav a{display:block;padding:11px 16px;font-size:14px;font-weight:500;color:var(--text-mid);border-radius:10px;cursor:pointer;transition:all .18s;margin-bottom:3px}
#mobile-nav a:hover{background:var(--sand);color:var(--text)}
#mobile-nav a.act{color:var(--rose);font-weight:700;background:var(--rose-pale)}
#mobile-nav .mob-divider{height:1px;background:var(--sand-dark);margin:.8rem 0}
#mobile-nav .mob-actions{display:flex;gap:8px}
#mobile-nav .mob-actions button{padding:10px 12px!important;font-size:13px!important}
#mobile-nav .mob-actions button.fill{margin-left:auto}

/* ═══════════════════════════════════════
   MOBILE RESPONSIVE — full site
═══════════════════════════════════════ */
@media(max-width:768px){
  /* NAV */
  nav{max-width:100vw;overflow:hidden}
  .nav-inner{padding:0 .8rem;height:52px;flex-wrap:nowrap;gap:4px;max-width:100%;overflow:hidden}
  .nav-links{display:none}
  .nav-actions{flex-shrink:1;min-width:0;gap:4px;margin-left:auto}
  .brand-name{font-size:13px}
  .brand-name span{display:none}
  .brand-mark{width:30px;height:30px;font-size:13px}
  .nbtn{padding:6px 10px;font-size:11px}
  .nbtn.ghost{display:none}
  #btn-admin{padding:5px 8px!important;font-size:10px!important}
  /* Logado mobile: esconder nome e relógio, deixar só avatar + Salir */
  #nav-username{display:none!important}
  #cat-clock{display:none!important}
  #nav-avatar-wrap{padding:2px 4px!important;gap:4px!important}

  /* Mobile menu button */
  .nav-hamburger{display:flex}

  /* HERO */
  /* HERO — fundo e layout mobile */
  .hero{background-size:200px!important}
  .hero-inner{flex-direction:column!important;padding:1rem 1rem 0!important;gap:1rem!important;max-width:100%!important}
  .hero-carousel{height:340px!important;border-radius:14px!important;box-shadow:0 6px 24px rgba(155,107,122,0.2)!important}
  /* Centralizar conteúdo dos slides */
  .hslide{padding:1.6rem 1.6rem!important;text-align:center!important}
  .hslide-tag{margin:0 auto .7rem!important;font-size:10px!important;padding:4px 12px!important}
  .hslide-title{font-size:1.6rem!important;margin-bottom:.45rem!important}
  .hslide-desc{font-size:12px!important;margin:0 auto .8rem!important;max-width:100%!important}
  .hslide-btns{justify-content:center!important;gap:8px!important;flex-wrap:nowrap!important}
  .hslide-emoji-big{display:none!important}
  .hbtn{padding:9px 18px!important;font-size:12px!important;border-radius:18px!important}
  .hcarousel-prev,.hcarousel-next{width:32px!important;height:32px!important;font-size:18px!important}
  /* Stats 500+ */
  .hero-nums{margin:0!important;justify-content:space-around!important;border-radius:12px!important;gap:0!important}
  .hnum-n{font-size:1.5rem!important}
  .hnum-l{font-size:10px!important}
  /* Cards de serviço */
  .hero-right{flex-direction:column!important;gap:0!important;padding:0 0 1rem!important}
  .hero-right .hero-service-card{flex:none!important;min-width:unset!important;padding:.75rem 1rem!important;border-radius:10px!important;margin-bottom:6px!important}
  .hsc-icon{width:36px!important;height:36px!important;font-size:16px!important;border-radius:8px!important}
  .hsc-title{font-size:13px!important}
  .hsc-sub{font-size:11px!important}
  .hero-hours{margin:0!important;padding:.65rem 1rem!important;font-size:12px!important;border-radius:10px!important}
  div[style*="display:flex;gap:8px;margin-top:4px"]{margin:6px 0 0!important;gap:8px!important}

  /* SECTIONS */
  .sec{padding:2.5rem 1rem!important}
  .sec-title{font-size:1.4rem!important}
  .sec-sub{font-size:13px!important;margin-bottom:1.5rem!important}

  /* SERVICE GRID */
  .svc-grid{grid-template-columns:1fr!important;gap:.8rem!important}
  .svc-grid[style*="repeat(4"]{grid-template-columns:1fr 1fr!important}

  /* PHOTO GRID */
  .photo-grid{grid-template-columns:1fr 1fr!important;gap:.7rem!important;margin:1rem 0!important}
  .photo-card-inner{padding:.9rem!important}
  .photo-card-emoji{font-size:2rem!important}
  .photo-card-label{font-size:12px!important}

  /* WHY GRID */
  .why-grid{grid-template-columns:1fr 1fr!important;gap:.8rem!important;margin-top:1.5rem!important}
  .why-item{border-right:none!important;border-bottom:1px solid rgba(255,255,255,0.08)!important;padding:1rem!important}
  .why-n{font-size:1.6rem!important}

  /* TESTI */
  .testi-grid{grid-template-columns:1fr!important}
  div[style*="grid-template-columns:300px 1fr"]{grid-template-columns:1fr!important;display:grid!important}

  /* TRUST BANNER */
  .trust-banner{flex-direction:column!important;gap:1rem!important;padding:1.2rem!important;text-align:center!important}
  .trust-badges{justify-content:center!important}

  /* CONTACT STRIP */
  .cstrip-inner{grid-template-columns:1fr 1fr!important;gap:.7rem!important;padding:1rem!important}
  .ci-val{font-size:11px!important}

  /* FOOTER */
  .foot-inner{grid-template-columns:1fr 1fr!important;gap:1.2rem!important;padding:1.5rem 1rem!important}

  /* ADMIN — mesmo layout do PC no mobile */
  .adm-layout{overflow-x:auto}
  .adm-main{padding:1rem!important}
  table{font-size:11px!important}
  table th,table td{padding:7px 8px!important}
  .tbl-head{flex-direction:column!important;gap:8px!important;align-items:flex-start!important}

  /* MODALS */
  .modal{padding:1.2rem!important;max-height:95vh!important;margin:.5rem!important;border-radius:14px!important}
  .frow{grid-template-columns:1fr!important}

  /* PAGE HERO */
  .page-hero{padding:2rem 1rem!important}
  .page-hero h1{font-size:1.6rem!important}

  /* HOTEL GALLERY */
  .photo-gallery-grid{grid-template-columns:1fr 1fr!important;grid-auto-rows:120px!important;gap:8px!important}
  .pgallery-card.pgallery-big{grid-column:span 2!important}

  /* PROD GRID */
  .prod-grid{grid-template-columns:1fr 1fr!important;gap:.7rem!important}

  /* CHAT */
  .chat-layout{grid-template-columns:1fr!important;height:auto!important}
  .chat-sidebar{max-height:200px!important}

  /* HERO NUMS bar */
  div[style*="display:flex;align-items:center;gap:10px;flex-wrap:wrap"]{flex-wrap:wrap!important;gap:6px!important;padding:.5rem .8rem!important}

  /* CONTACT */
  div[style*="grid-template-columns:1fr 1fr;gap:2rem;align-items:start"]{grid-template-columns:1fr!important;display:grid!important}

  /* NOSOTROS */
  div[style*="grid-template-columns:1fr 1fr;gap:3rem"]{grid-template-columns:1fr!important;display:grid!important}

  /* STRIP */
  .strip-inner{gap:.5rem!important;padding:.8rem 1rem!important;justify-content:flex-start!important;flex-wrap:wrap!important}
  .strip-item{font-size:11px!important}

  /* MASCOTA PERFIL MODAL */
  #msc-perfil-info{grid-template-columns:1fr 1fr!important}

  /* GAME SECTION (if re-added) */
  .game-banner-inner{flex-direction:column!important;text-align:center!important;padding:1rem!important}
  .gbanner-chars{justify-content:center!important}

  /* FIX section wallpaper */
  #hero-main{background-attachment:scroll!important}
  div[id="page-home"]{background-attachment:scroll!important}
}

@media(max-width:480px){
  .hero-carousel{height:280px!important}
  .hslide-title{font-size:1.3rem!important}
  .hslide{padding:1.2rem 1.4rem!important;text-align:center!important}
  .hbtn{padding:7px 13px!important;font-size:11px!important}
  .svc-grid[style*="repeat(4"]{grid-template-columns:1fr!important}
  .photo-grid{grid-template-columns:1fr!important}
  .why-grid{grid-template-columns:1fr!important}
  .adm-cards{grid-template-columns:1fr!important}
  .foot-inner{grid-template-columns:1fr!important}
  .cstrip-inner{grid-template-columns:1fr!important}
  .prod-grid{grid-template-columns:1fr!important}
  .nav-inner{padding:0 .8rem}
  .nbtn.fill{padding:6px 10px;font-size:11px}
}
/* ===== GALERIA DO SITE ===== */
.gal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:1.5rem 0 1rem}
.gal-tab{padding:8px 18px;border-radius:20px;border:1.5px solid var(--rose-soft);background:transparent;color:var(--text-mid);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s;font-family:var(--ff-body)}
.gal-tab:hover{background:var(--rose-pale);color:var(--rose)}
.gal-tab.act{background:var(--rose);color:var(--white);border-color:var(--rose)}
.gal-site-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-top:.5rem}
.gal-site-item{border-radius:12px;overflow:hidden;cursor:pointer;position:relative;aspect-ratio:4/3;background:var(--sand);transition:transform .22s,box-shadow .22s}
.gal-site-item:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px rgba(27,42,74,0.18)}
.gal-site-item img{width:100%;height:100%;object-fit:cover;display:block}
.gal-site-caption{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;background:linear-gradient(transparent,rgba(0,0,0,0.55));color:#fff;font-size:11px;font-weight:600}
@media(max-width:768px){.gal-site-grid{grid-template-columns:repeat(2,1fr)!important;gap:.6rem!important}}
@media(max-width:480px){.gal-tabs{gap:6px}.gal-tab{padding:6px 12px;font-size:12px}}
