@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
img{max-width:100%;display:block}

:root{
  --teal:#48C49A;--teal-dark:#2E8B68;--teal-mid:#5FD4AF;--teal-light:#EBF9F4;--teal-pale:#F4FCF8;
  --coral:#FF6B35;--coral-light:#FFF0EB;--coral-dark:#D4561F;
  --amber:#EF9F27;--amber-light:#FEF3E2;
  --white:#FFFFFF;--bg:#FAFCFB;--bg2:#F2F8F5;
  --surface:#FFFFFF;--border:#E4EFEB;--border-dark:#C8DDD7;
  --text:#1A2E27;--text2:#3D5C52;--text3:#6B8B80;--text4:#9DB5AD;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Plus Jakarta Sans',system-ui,sans-serif;
  --sh-sm:0 1px 4px rgba(0,0,0,0.07);
  --sh-md:0 4px 20px rgba(0,0,0,0.09);
  --sh-lg:0 12px 48px rgba(0,0,0,0.13);
  --r:10px;--r-lg:16px;--r-xl:24px
}

body{background:white;color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.65}
h1,h2,h3,h4{line-height:1.2;color:var(--text)}
p{color:var(--text2)}
a{color:var(--teal);text-decoration:none}
a:hover{color:var(--teal-mid)}

/* ── SITE TOP BAR (logo + tagline, non-sticky) ── */
.site-top-bar{background:white;padding:.6rem 1.5rem .55rem;text-align:center;border-bottom:1px solid var(--border)}
.top-logo{height:38px;width:auto;display:inline-block}
.top-tagline{display:block;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text4);margin-top:.2rem}

/* ── STICKY NAV (white) ── */
.site-nav{position:sticky;top:0;z-index:200;background:white;border-bottom:1px solid var(--border);box-shadow:0 1px 8px rgba(0,0,0,.05)}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;height:46px;gap:0}
.nav-tagline{display:none}
.nav-links{display:flex;align-items:center;justify-content:center;gap:.1rem;list-style:none;flex:1}
.nav-links>li{position:relative}
.nav-links>li>a{display:flex;align-items:center;gap:.3rem;padding:.45rem .75rem;color:var(--text2);font-size:.84rem;font-weight:500;border-radius:6px;transition:color .2s,background .2s;white-space:nowrap}
.nav-links>li>a:hover,.nav-links>li>a.active{color:var(--teal);background:var(--teal-pale)}
.has-dd>a::after{content:'';display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--text4);margin-left:2px;transition:transform .2s}
.has-dd:hover>a::after{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-8px);background:white;border-radius:var(--r-lg);box-shadow:var(--sh-lg);border:1px solid var(--border);min-width:230px;padding:.5rem;opacity:0;visibility:hidden;transition:all .22s ease}
.has-dd:hover .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dd-item{display:flex;align-items:center;gap:.8rem;padding:.65rem .9rem;color:var(--text2);font-size:.86rem;border-radius:var(--r);transition:background .15s,color .15s}
.dd-item:hover{background:var(--teal-pale);color:var(--teal)}
.dd-icon{width:32px;height:32px;border-radius:8px;background:var(--teal-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}
.dd-label{font-weight:600;font-size:.84rem;line-height:1.2}
.dd-sub{font-size:.73rem;color:var(--text4);margin-top:1px}
.nav-right{display:flex;align-items:center;gap:.65rem;margin-left:0;flex-shrink:0}
.cart-btn{position:relative;background:none;border:none;cursor:pointer;width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text2);transition:background .2s,color .2s}
.cart-btn:hover{background:var(--bg);color:var(--teal)}
.cart-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cart-count{position:absolute;top:4px;right:4px;width:17px;height:17px;border-radius:50%;background:var(--teal);color:white;font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center}
.cart-count.show{display:flex}
.app-btn{padding:.44rem 1rem;background:var(--teal);border:none;border-radius:100px;color:white;font-family:var(--sans);font-size:.8rem;font-weight:600;cursor:pointer;letter-spacing:.02em;transition:background .2s,transform .15s;white-space:nowrap}
.app-btn:hover{background:var(--teal-dark);transform:translateY(-1px)}
.ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}
.ham span{display:block;width:22px;height:2px;background:var(--text2);border-radius:2px;transition:.25s}

/* ── CART DRAWER ── */
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:400px;background:white;box-shadow:-6px 0 40px rgba(0,0,0,.14);z-index:500;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column}
.cart-drawer.open{transform:translateX(0)}
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:499;opacity:0;pointer-events:none;transition:opacity .3s}
.cart-overlay.open{opacity:1;pointer-events:all}
.cdh{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.cdh h3{font-size:1.05rem;font-weight:600}
.icon-btn{background:none;border:none;cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:1.1rem;transition:background .2s,color .2s}
.icon-btn:hover{background:var(--bg);color:var(--text)}
.cart-body{flex:1;overflow-y:auto;padding:1.25rem}
.cart-empty{text-align:center;padding:3rem 1rem;color:var(--text3)}
.cart-empty .em-icon{font-size:3rem;margin-bottom:1rem}
.cart-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}
.ci-img{width:64px;height:64px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.ci-info{flex:1}
.ci-name{font-size:.88rem;font-weight:600;color:var(--text);line-height:1.3}
.ci-brand{font-size:.76rem;color:var(--text4);margin-top:1px}
.ci-price{font-size:.9rem;font-weight:700;color:var(--teal);margin-top:4px}
.qty-row{display:flex;align-items:center;gap:.5rem;margin-top:8px}
.qty-btn{width:26px;height:26px;border-radius:6px;border:1.5px solid var(--border);background:none;cursor:pointer;font-size:1rem;color:var(--text2);display:flex;align-items:center;justify-content:center;transition:.15s}
.qty-btn:hover{border-color:var(--teal);background:var(--teal-pale)}
.qty-n{font-size:.88rem;font-weight:600;min-width:20px;text-align:center}
.rm-btn{background:none;border:none;cursor:pointer;color:var(--text4);font-size:1rem;padding:4px;margin-left:auto;transition:color .2s}
.rm-btn:hover{color:#e53e3e}
.cart-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border)}
.cart-row{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;margin-bottom:.5rem}
.cart-row.total{font-weight:700;font-size:1rem;border-top:1px solid var(--border);padding-top:.65rem;margin-top:.25rem}
.cart-row.total .rv{color:var(--teal)}
.cart-vat{font-size:.73rem;color:var(--text4);margin-bottom:.9rem}

/* ── CHECKOUT MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:600;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .3s}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:white;border-radius:var(--r-xl);max-width:560px;width:100%;max-height:92vh;overflow-y:auto;transform:translateY(16px);transition:transform .3s;box-shadow:var(--sh-lg)}
.modal-overlay.open .modal{transform:translateY(0)}
.modal-head{padding:1.75rem 2rem 1.25rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.modal-head h3{font-size:1.05rem;font-weight:600}
.modal-body{padding:1.75rem 2rem}
.modal-foot{padding:1.25rem 2rem 1.75rem;display:flex;gap:.75rem}
.steps{display:flex;gap:0;margin-bottom:2rem}
.step-item{flex:1;text-align:center;font-size:.75rem;font-weight:600;padding:.4rem .25rem;color:var(--text4);position:relative}
.step-item.active{color:var(--teal)}
.step-item.done{color:var(--teal-mid)}
.step-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);background:white;margin:0 auto .4rem;display:flex;align-items:center;justify-content:center;font-size:.72rem;position:relative;z-index:1}
.step-item.active .step-dot{border-color:var(--teal);background:var(--teal);color:white}
.step-item.done .step-dot{border-color:var(--teal-mid);background:var(--teal-mid);color:white}
.step-line{position:absolute;top:12px;left:50%;right:-50%;height:2px;background:var(--border);z-index:0}
.step-item.done .step-line{background:var(--teal-mid)}
.step-item:last-child .step-line{display:none}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 1.75rem;border-radius:100px;font-family:var(--sans);font-size:.9rem;font-weight:600;letter-spacing:.01em;cursor:pointer;border:none;transition:all .2s;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--teal);color:white}
.btn-primary:hover{background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 4px 20px rgba(72,196,154,.32)}
.btn-teal{background:var(--teal);color:white}
.btn-teal:hover{background:var(--teal-mid);transform:translateY(-1px)}
.btn-outline{background:transparent;border:2px solid var(--teal);color:var(--teal)}
.btn-outline:hover{background:var(--teal);color:white}
.btn-ghost{background:transparent;border:1.5px solid var(--border-dark);color:var(--text2)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.btn-sm{padding:.48rem 1.1rem;font-size:.82rem}
.btn-lg{padding:.95rem 2.5rem;font-size:.98rem}
.btn-full{width:100%;justify-content:center}

/* ── BADGES ── */
.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:100px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.b-coral{background:var(--coral-light);color:var(--coral)}
.b-teal{background:var(--teal-light);color:var(--teal)}
.b-amber{background:var(--amber-light);color:#966500}

/* ── STARS ── */
.stars{display:flex;gap:1px;align-items:center}
.star{font-size:12px;color:var(--amber)}
.star.e{color:#D8E2E0}
.r-count{font-size:.78rem;color:var(--text4);margin-left:4px}

/* ── SECTION HEADINGS ── */
.sec-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-mid);font-weight:600;margin-bottom:.5rem}
.sec-title{font-family:var(--serif);font-size:clamp(1.9rem,3.8vw,2.9rem);font-weight:300;color:var(--text);letter-spacing:-.01em;line-height:1.2}
.sec-sub{font-size:1rem;color:var(--text3);margin-top:.6rem;max-width:540px}

/* ── PAGE HERO ── */
.page-hero{background:linear-gradient(135deg,var(--teal-dark) 0%,var(--teal) 100%);padding:3.5rem 1.5rem 3rem;text-align:center;color:white}
.page-hero h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.5rem);font-weight:300;color:white}
.page-hero p{color:rgba(255,255,255,.8);font-size:1rem;max-width:520px;margin:.75rem auto 0;font-weight:300}

/* ── FORMS ── */
.fg{margin-bottom:1.25rem}
.flabel{display:block;font-size:.83rem;font-weight:600;color:var(--text2);margin-bottom:.4rem}
.fi,.fs,.fta{width:100%;padding:.68rem 1rem;border:1.5px solid var(--border);border-radius:var(--r);font-family:var(--sans);font-size:.9rem;color:var(--text);background:white;transition:border-color .2s,box-shadow .2s;outline:none}
.fi:focus,.fs:focus,.fta:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,110,86,.1)}
.fta{resize:vertical;min-height:120px;line-height:1.55}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* ── PROGRESS BAR ── */
.prog-wrap{background:var(--border);border-radius:100px;height:8px;overflow:hidden;margin:.65rem 0}
.prog-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,var(--teal),var(--teal-mid));transition:width .8s ease}

/* ── FOOTER ── */
.site-footer{background:var(--teal-dark);color:rgba(255,255,255,.75);padding:3rem 1.5rem 1.75rem;margin-top:0}
.footer-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.1)}
.fbrand p{font-size:.86rem;color:rgba(255,255,255,.55);line-height:1.75;margin-top:.75rem;max-width:250px}
.fcol h4{color:white;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.2rem}
.fcol ul{list-style:none}
.fcol li{margin-bottom:.6rem}
.fcol a{color:rgba(255,255,255,.58);font-size:.86rem;transition:color .2s}
.fcol a:hover{color:white}
.footer-bottom{max-width:1280px;margin:1.75rem auto 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.79rem;color:rgba(255,255,255,.4)}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.rv.in{opacity:1;transform:translateY(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}

/* ── CONTAINER ── */
.wrap{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.sec{padding:2.25rem 1.5rem}

/* ── NOTIFY MODAL ── */
#notify-modal.modal-overlay{z-index:700}

/* ── RESPONSIVE ── */
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .nav-links{display:none}.ham{display:flex}
  .nav-links.mob-open{display:flex;flex-direction:column;position:absolute;top:50px;left:0;right:0;background:white;padding:1rem;gap:.25rem;border-top:1px solid var(--border);box-shadow:var(--sh-md)}
  .nav-links.mob-open>li>a{padding:.7rem 1rem;color:var(--text2)}
  .dropdown{position:static;box-shadow:none;border:none;background:var(--bg);border-radius:var(--r);opacity:1;visibility:visible;transform:none!important;margin-top:.25rem;display:none}
  .has-dd.open .dropdown{display:block}
  .dd-item{color:var(--text2)}.dd-icon{background:var(--teal-light)}
  .cart-drawer{width:100%}
  .frow{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
}
@media(max-width:600px){.sec{padding:2rem 1.25rem}}

/* ══════════════════════════════════════════════════════════════════════════════
   NYLE HEADER v2 — Chewy-inspired two-tier layout
══════════════════════════════════════════════════════════════════════════════ */
.nyle-header{position:sticky;top:0;z-index:300;background:white;box-shadow:0 2px 16px rgba(0,0,0,.07)}

/* ── Tier 1: Logo | Search | Actions ── */
.nh-top{padding:.45rem 1.5rem}
.nh-top-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:1.1rem}
.nh-logo{display:flex;flex-direction:column;align-items:center;text-decoration:none;flex-shrink:0;gap:.22rem;transform:translate(-15px,6px)}
.nh-logo img{height:42px;width:auto;filter:brightness(0) saturate(100%) invert(37%) sepia(53%) saturate(567%) hue-rotate(118deg) brightness(96%) contrast(87%)}
.nh-logo-text{display:none}
.nh-logo-tagline{font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text4);line-height:1;text-align:center;white-space:nowrap}
.nh-search{flex:1;position:relative;max-width:580px}
.nh-search-input{width:100%;height:38px;padding:0 44px 0 14px;border:1.5px solid var(--border);border-radius:9px;font-size:.88rem;color:var(--text);font-family:var(--sans);background:var(--bg);transition:border-color .2s,background .2s}
.nh-search-input:focus{outline:none;border-color:var(--teal);background:white}
.nh-search-input::placeholder{color:var(--text4)}
.nh-search-btn{position:absolute;right:5px;top:50%;transform:translateY(-50%);background:var(--teal);border:none;cursor:pointer;width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:white;transition:background .2s}
.nh-search-btn:hover{background:var(--teal-dark)}
.nh-actions{display:flex;align-items:center;gap:1.1rem;flex-shrink:0;margin-left:auto}

/* Use App pill */
.nh-use-app{border:1.8px solid var(--teal);border-radius:100px;padding:.36rem 1rem;font-size:.78rem;font-weight:700;color:var(--teal);background:none;cursor:pointer;font-family:var(--sans);transition:all .2s;white-space:nowrap}
.nh-use-app:hover{background:var(--teal);color:white}

/* Help / Sign In action buttons */
.nh-action-wrap{position:relative}
.nh-action-btn{display:flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;padding:.38rem .6rem;border-radius:8px;font-size:.78rem;font-weight:500;color:var(--text2);font-family:var(--sans);transition:all .18s;white-space:nowrap}
.nh-action-btn:hover{background:var(--bg);color:var(--teal)}
.nh-action-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.nh-chevron{width:12px!important;opacity:.55}

/* Dropdowns */
.nh-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:white;border-radius:var(--r-lg);padding:.9rem;box-shadow:0 8px 40px rgba(0,0,0,.14);min-width:230px;border:1px solid var(--border);display:none;z-index:400;animation:fdIn .18s ease}
@keyframes fdIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.nh-action-wrap:hover .nh-dropdown,.nh-action-wrap.dd-open .nh-dropdown{display:block}
.nhd-title{font-size:.68rem;font-weight:700;color:var(--text4);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.6rem;padding:0 .4rem}
.nhd-item{display:flex;align-items:center;gap:.65rem;padding:.52rem .65rem;border-radius:8px;text-decoration:none;font-size:.82rem;color:var(--text2);transition:background .15s;cursor:pointer;background:none;border:none;width:100%;font-family:var(--sans);text-align:left}
.nhd-item:hover{background:var(--bg);color:var(--teal)}
.nhd-divider{height:1px;background:var(--border);margin:.5rem 0}

/* Cart action */
.nh-cart-btn{display:flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;padding:.38rem .6rem;border-radius:8px;font-size:.78rem;font-weight:600;color:var(--text2);font-family:var(--sans);transition:all .18s;white-space:nowrap;position:relative}
.nh-cart-btn:hover{background:var(--bg);color:var(--teal)}
.nh-cart-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nh-cart-badge{position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:var(--teal);color:white;font-size:9px;font-weight:700;display:none;align-items:center;justify-content:center}
.nh-cart-badge.show{display:flex}

/* ── Tier 2: Category nav ── */
.nh-nav{background:white}
.nh-nav-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:center;height:36px}
.nh-links{display:flex;align-items:center;gap:0;list-style:none;height:36px}
.nh-links>li{position:relative;height:36px;display:flex;align-items:center}
.nh-links>li>a{display:flex;align-items:center;gap:.28rem;padding:.3rem .82rem;font-size:.83rem;font-weight:500;color:var(--text2);text-decoration:none;border-radius:6px;transition:color .18s,background .18s;white-space:nowrap;height:32px}
.nh-links>li>a:hover,.nh-links>li>a.active{color:var(--teal);background:var(--teal-pale)}
.nh-links .has-dd>a::after{content:'';display:inline-block;width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid currentColor;margin-left:3px;opacity:.5;transition:transform .2s}
.nh-links .has-dd:hover>a::after{transform:rotate(180deg)}
.nh-links .dropdown{position:absolute;top:calc(100% + 5px);left:0;background:white;border-radius:var(--r-lg);box-shadow:var(--sh-lg);border:1px solid var(--border);min-width:230px;padding:.5rem;opacity:0;visibility:hidden;transition:all .2s ease;z-index:400}
.nh-links .has-dd:hover .dropdown{opacity:1;visibility:visible}

/* ── Hamburger (mobile) ── */
.nh-ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;margin-left:.5rem}
.nh-ham span{display:block;width:22px;height:2px;background:var(--text2);border-radius:2px;transition:.25s}

/* ══════════════════════════════════════════════════════════════════════════════
   AUTH MODAL — Sign In / OTP / Register / Add Pet
══════════════════════════════════════════════════════════════════════════════ */
.auth-overlay{position:fixed;inset:0;background:rgba(15,35,28,.55);backdrop-filter:blur(4px);z-index:900;display:none;align-items:center;justify-content:center;padding:1rem}
.auth-overlay.open{display:flex}
.auth-card{background:white;border-radius:var(--r-xl);width:100%;max-width:420px;max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 24px 80px rgba(0,0,0,.22)}
.auth-close{position:absolute;top:1rem;right:1rem;background:var(--bg);border:none;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--text3);transition:.18s;z-index:2}
.auth-close:hover{background:var(--border);color:var(--text)}

/* Step container */
.auth-step{display:none;padding:2rem 2rem 1.5rem}
.auth-step.active{display:block}

/* Step header */
.auth-step-head{text-align:center;margin-bottom:1.5rem}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}
.auth-brand img{height:32px;width:auto}
.auth-brand-name{font-family:var(--serif);font-size:1.4rem;color:var(--teal);font-weight:400}
.auth-step-icon{font-size:2.2rem;margin-bottom:.65rem}
.auth-step-head h2{font-family:var(--serif);font-size:1.55rem;font-weight:300;color:var(--text);margin-bottom:.35rem}
.auth-step-head h2 em{font-style:italic;color:var(--teal)}
.auth-step-head p{font-size:.84rem;color:var(--text3)}

/* Tabs (Phone / Email) */
.auth-tabs{display:flex;background:var(--bg);border-radius:9px;padding:3px;gap:3px;margin-bottom:1.1rem}
.auth-tab{flex:1;padding:.42rem;border:none;border-radius:7px;font-family:var(--sans);font-size:.8rem;font-weight:600;cursor:pointer;color:var(--text3);background:none;transition:all .18s}
.auth-tab.active{background:white;color:var(--teal);box-shadow:var(--sh-sm)}

/* Phone input */
.phone-wrap{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:9px;overflow:hidden;background:white;transition:border-color .2s}
.phone-wrap:focus-within{border-color:var(--teal)}
.phone-prefix{display:flex;align-items:center;gap:.4rem;padding:0 .8rem;font-size:.84rem;font-weight:600;color:var(--text);border-right:1px solid var(--border);white-space:nowrap;background:var(--bg);height:44px;flex-shrink:0}
.phone-wrap input{flex:1;border:none;outline:none;padding:0 .85rem;font-size:.92rem;font-family:var(--sans);color:var(--text);height:44px;background:transparent}

/* Standard input/select */
.auth-input{width:100%;height:44px;padding:0 .9rem;border:1.5px solid var(--border);border-radius:9px;font-size:.88rem;color:var(--text);font-family:var(--sans);background:white;transition:border-color .2s;outline:none}
.auth-input:focus{border-color:var(--teal)}
.auth-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239DB5AD' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}
.auth-label{display:block;font-size:.76rem;font-weight:700;color:var(--text3);margin-bottom:.35rem;letter-spacing:.02em}
.auth-field{margin-bottom:.9rem}
.auth-field-row{display:grid;grid-template-columns:2fr 1fr;gap:.65rem}

/* OTP input boxes */
.otp-group{display:flex;gap:.55rem;justify-content:center;margin-bottom:1.25rem}
.otp-box{width:48px;height:52px;border:1.8px solid var(--border);border-radius:9px;text-align:center;font-size:1.4rem;font-weight:700;color:var(--teal);font-family:var(--sans);outline:none;transition:border-color .18s,box-shadow .18s;background:var(--bg)}
.otp-box:focus{border-color:var(--teal);background:white;box-shadow:0 0 0 3px rgba(58,170,133,.12)}
.otp-box.filled{border-color:var(--teal);background:var(--teal-pale)}
.otp-hint{text-align:center;font-size:.8rem;color:var(--text3);margin-bottom:1.1rem}
.otp-resend{text-align:center;font-size:.78rem;color:var(--text4);margin-top:.9rem}
.otp-resend button{color:var(--teal);font-weight:600;background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:.78rem;padding:0}

/* Pet type selector */
.pet-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.3rem}
.pet-type-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .3rem;border:1.8px solid var(--border);border-radius:10px;cursor:pointer;background:white;transition:all .18s;font-family:var(--sans)}
.pet-type-btn .ptb-icon{font-size:1.5rem;line-height:1}
.pet-type-btn .ptb-label{font-size:.65rem;font-weight:600;color:var(--text3)}
.pet-type-btn:hover{border-color:var(--teal);background:var(--teal-pale)}
.pet-type-btn.selected{border-color:var(--teal);background:var(--teal-pale)}
.pet-type-btn.selected .ptb-label{color:var(--teal)}

/* TOS line */
.auth-tos{text-align:center;font-size:.72rem;color:var(--text4);margin-top:.85rem}
.auth-tos a{color:var(--teal)}

/* Progress dots */
.auth-progress{display:flex;justify-content:center;gap:.45rem;padding:.9rem 0 1.25rem}
.ap-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:all .25s}
.ap-dot.active{background:var(--teal);width:22px;border-radius:4px}

/* Welcome step */
.auth-welcome{text-align:center;padding:2.5rem 2rem 2rem}
.auth-welcome-icon{font-size:3rem;margin-bottom:.85rem;display:block}
.auth-welcome h2{font-family:var(--serif);font-size:1.65rem;font-weight:300;margin-bottom:.55rem}
.auth-welcome h2 em{font-style:italic;color:var(--teal)}
.auth-welcome p{font-size:.85rem;color:var(--text3);margin-bottom:1.5rem;line-height:1.7}
.welcome-badges{display:flex;gap:.65rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}
.wb{background:var(--teal-pale);border:1px solid var(--border-dark);border-radius:100px;padding:.35rem .85rem;font-size:.75rem;font-weight:600;color:var(--teal)}
.wb span{color:var(--text4);font-weight:400;margin-left:.25rem}

/* Skip link */
.auth-skip{display:block;text-align:center;margin-top:.75rem;font-size:.78rem;color:var(--text4);cursor:pointer;background:none;border:none;font-family:var(--sans);width:100%}
.auth-skip:hover{color:var(--teal)}

/* Responsive */
@media(max-width:768px){
  .nh-search{display:none}
  .nh-use-app{display:none}
  .nh-action-wrap{display:none}
  .nh-ham{display:flex}
  .nh-nav{display:none}
  .nh-nav.mob-open{display:block}
  .otp-box{width:42px;height:46px;font-size:1.25rem}
}
