/* ===== BOARDING PAGE — SAME LAYOUT AS GROOMING ===== */

/* ---------- HORIZONTAL TABS ---------- */
.b-tabstrip{background:var(--wht);border-bottom:2px solid rgba(0,0,0,.06);position:sticky;top:72px;z-index:100;transition:top .35s cubic-bezier(.4,0,.2,1);overflow:hidden}
.b-tabstrip .container{width:100%;max-width:100%;padding:0}
.b-tabstrip.tabs-top{top:0}
.b-tabs{display:flex;gap:0;justify-content:center}
.b-tabs::-webkit-scrollbar{display:none}
.b-tab{padding:14px 24px;font-size:.8rem;font-weight:700;letter-spacing:.03em;color:var(--grey);text-decoration:none;white-space:nowrap;position:relative;transition:color var(--transition)}
.b-tab::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transition:transform .25s ease}
.b-tab:hover{color:var(--blk)}
.b-tab.active{color:var(--red)}
.b-tab.active::after{transform:scaleX(1)}

/* ---------- BUTTONS ---------- */
.b-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:13px 30px;border-radius:8px;font-size:.82rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:all var(--transition);text-decoration:none;border:2px solid transparent}
.b-btn--solid{background:var(--red);color:var(--wht);border-color:var(--red)}
.b-btn--solid:hover{background:var(--red-d);border-color:var(--red-d);transform:translateY(-1px);box-shadow:0 6px 20px rgba(200,16,46,.3)}
.b-btn--ghost{background:transparent;color:var(--wht);border-color:rgba(255,255,255,.4)}
.b-btn--ghost:hover{border-color:var(--wht);background:rgba(255,255,255,.1)}
.b-btn--full{width:100%;text-align:center}

/* ---------- CONTENT LAYOUT ---------- */
.b-page{background:var(--off);min-height:60vh}
.b-content{max-width:960px;margin:0 auto;padding-top:40px;padding-bottom:70px}

/* ---------- MAIN CONTENT ---------- */
.b-main{min-width:0}
.b-block{margin-bottom:20px}
.b-block-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;gap:16px}
.b-block-header h2{font-family:var(--font-display);font-size:1.7rem;font-weight:900;margin-bottom:6px}
.b-block-header p{font-size:.88rem;color:var(--grey);line-height:1.5;max-width:480px}
.b-count{flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-l);background:var(--wht);padding:6px 16px;border-radius:50px;border:1px solid rgba(0,0,0,.06);white-space:nowrap}
.b-divider{border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.08),transparent);margin:50px 0}

/* ---------- PACKAGE CARDS (Boarding) ---------- */
.b-pkg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.b-pkg-card{background:var(--wht);border-radius:20px;padding:32px 24px 28px;text-align:center;position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.06);transition:all .4s cubic-bezier(.4,0,.2,1)}
.b-pkg-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 50px rgba(0,0,0,.1)}
.b-pkg-accent{position:absolute;top:0;left:0;right:0;height:5px;border-radius:20px 20px 0 0;transition:height .35s ease}
.b-pkg-card:hover .b-pkg-accent{height:8px}
.b-pkg-card--hot{border-color:var(--red);box-shadow:0 8px 30px rgba(200,16,46,.12)}
.b-pkg-card--hot .b-pkg-accent{height:8px}
.b-pkg-ribbon{position:absolute;top:16px;right:-6px;background:var(--red);color:var(--wht);font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:5px 14px 5px 12px;border-radius:6px 0 0 6px;box-shadow:0 2px 8px rgba(200,16,46,.3);animation:bRibbonBounce .6s ease both}
.b-pkg-ribbon::after{content:'';position:absolute;right:0;bottom:-6px;border:3px solid var(--red-d);border-right-color:transparent;border-bottom-color:transparent}
@keyframes bRibbonBounce{0%{transform:translateX(40px);opacity:0}60%{transform:translateX(-4px)}100%{transform:translateX(0);opacity:1}}

.b-pkg-img{width:160px;height:160px;border-radius:50%;overflow:hidden;margin:0 auto 14px;border:3px solid var(--red);box-shadow:0 6px 20px rgba(200,16,46,.15);cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}
.b-pkg-img:hover{transform:scale(1.08);box-shadow:0 10px 30px rgba(200,16,46,.25)}
.b-pkg-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.b-pkg-card:hover .b-pkg-img img{transform:scale(1.1)}

/* Lightbox overlay */
.b-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;cursor:zoom-out}
.b-lightbox.active{opacity:1;visibility:visible}
.b-lightbox img{max-width:90vw;max-height:85vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5);transform:scale(.85);transition:transform .35s cubic-bezier(.16,1,.3,1);object-fit:contain}
.b-lightbox.active img{transform:scale(1)}
.b-lightbox-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);transition:background .2s ease}
.b-lightbox-close:hover{background:rgba(255,255,255,.3)}

.b-pkg-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin-bottom:8px}
.b-pkg-desc{font-size:.8rem;color:var(--grey);line-height:1.6;margin-bottom:16px;min-height:40px}
.b-pkg-price{font-size:1.2rem;font-weight:800;color:var(--red);margin-bottom:20px;display:inline-block;background:var(--red-l);padding:6px 20px;border-radius:50px;position:relative}
.b-pkg-price::before{content:'';position:absolute;inset:-2px;border-radius:50px;background:linear-gradient(135deg,rgba(200,16,46,.2),transparent);z-index:-1;animation:bPricePulse 2s ease-in-out infinite}
@keyframes bPricePulse{0%,100%{opacity:0}50%{opacity:1}}

/* ---------- CART BUTTON ---------- */
.b-cart-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border:2px solid var(--red);background:var(--wht);color:var(--red);border-radius:50px;font-size:.82rem;font-weight:700;cursor:pointer;overflow:hidden;transition:all .35s cubic-bezier(.4,0,.2,1);font-family:var(--font-body);text-decoration:none}
.b-cart-btn:hover{background:var(--red);color:var(--wht);transform:scale(1.06);box-shadow:0 6px 24px rgba(200,16,46,.3)}
.b-cart-btn:active{transform:scale(.96)}
.b-cart-btn-icon{font-size:1rem;font-weight:700;transition:transform .35s cubic-bezier(.68,-.55,.27,1.55)}
.b-cart-btn:hover .b-cart-btn-icon{transform:translateX(-2px) rotate(-12deg) scale(1.2)}
.b-cart-btn-text{transition:opacity .2s,transform .2s}
.b-cart-btn-check{position:absolute;opacity:0;transform:scale(0) rotate(-20deg);transition:all .35s cubic-bezier(.68,-.55,.27,1.55);color:var(--wht);font-weight:700}
.b-cart-btn.added{background:#27ae60!important;border-color:#27ae60!important;color:var(--wht)!important;pointer-events:none}
.b-cart-btn.added .b-cart-btn-text,.b-cart-btn.added .b-cart-btn-icon{opacity:0;transform:scale(0)}
.b-cart-btn.added .b-cart-btn-check{opacity:1;transform:scale(1.1) rotate(0deg)}
.b-cart-btn--book{background:var(--red);color:var(--wht)}
.b-cart-btn--book:hover{background:var(--red-d);border-color:var(--red-d)}
.b-cart-btn--sm{padding:8px 18px;font-size:.75rem;gap:6px}
.b-cart-btn--sm .b-cart-btn-icon{font-size:.85rem}

@keyframes bConfettiBurst{0%{box-shadow:0 0 0 0 rgba(200,16,46,.4)}100%{box-shadow:0 0 0 20px rgba(200,16,46,0)}}
.b-cart-btn.burst{animation:bConfettiBurst .5s ease}

/* ---------- CAT SITTING CARDS (spa-style) ---------- */
.b-spa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.b-spa-card{background:var(--wht);border-radius:16px;padding:0;border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;overflow:hidden;transition:all .35s cubic-bezier(.4,0,.2,1)}
.b-spa-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.1)}
.b-spa-body{padding:12px 24px 0;flex:1}
.b-spa-body h3{font-family:var(--font-display);font-size:1.05rem;font-weight:700;margin-bottom:6px}
.b-spa-body p{font-size:.8rem;color:var(--grey);line-height:1.6}
.b-spa-foot{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;margin-top:auto;border-top:1px solid rgba(0,0,0,.04)}
.b-spa-price{font-size:1.05rem;font-weight:800;color:var(--red)}

/* ---------- CAT TAXI (ala-carte style) ---------- */
.b-ac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}
.b-ac-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--wht);border-radius:12px;border:1px solid rgba(0,0,0,.05);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default}
.b-ac-item:hover{background:var(--red-l);border-color:rgba(200,16,46,.12);transform:translateX(6px);box-shadow:0 4px 16px rgba(200,16,46,.08)}
.b-ac-left{display:flex;align-items:center;gap:10px}
.b-ac-dot{width:8px;height:8px;border-radius:50%;background:var(--red);opacity:.4;flex-shrink:0;transition:all .3s ease}
.b-ac-item:hover .b-ac-dot{opacity:1;transform:scale(1.4)}
.b-ac-name{font-weight:600;font-size:.88rem}
.b-ac-right{display:flex;align-items:center;gap:10px}
.b-ac-price{font-weight:700;color:var(--red);font-size:.88rem}
.b-ac-add{width:32px;height:32px;border-radius:50%;border:2px solid var(--red);background:transparent;color:var(--red);font-size:1.2rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.68,-.55,.27,1.55);position:relative;overflow:hidden;flex-shrink:0;font-family:var(--font-body)}
.b-ac-add:hover{background:var(--red);color:var(--wht);transform:scale(1.2) rotate(90deg)}
.b-ac-add:active{transform:scale(.85)}
.b-ac-add-plus,.b-ac-add-check{transition:all .3s ease}
.b-ac-add-check{position:absolute;opacity:0;transform:scale(0)}
.b-ac-add.added{background:#27ae60;border-color:#27ae60;color:var(--wht);transform:scale(1.1);pointer-events:none}
.b-ac-add.added .b-ac-add-plus{opacity:0;transform:scale(0)}
.b-ac-add.added .b-ac-add-check{opacity:1;transform:scale(1)}

/* ---------- NOTICE BAR ---------- */
.b-notice{display:flex;margin-top:24px;background:var(--wht);border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 12px rgba(0,0,0,.03)}
.b-notice-bar{width:4px;background:var(--red);flex-shrink:0;border-radius:14px 0 0 14px}
.b-notice-body{padding:16px 22px;flex:1}
.b-notice-label{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.b-notice-items{display:flex;gap:10px;flex-wrap:wrap}
.b-notice-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:var(--off);border-radius:50px;font-size:.8rem;color:var(--blk2);border:1px solid rgba(0,0,0,.05)}
.b-notice-chip strong{color:var(--red);font-weight:800}

/* ---------- TIMELINE ---------- */
.b-timeline-section{margin-top:50px;padding:40px 32px;background:var(--wht);border-radius:var(--radius);border:1px solid rgba(0,0,0,.06)}
.b-timeline-section h2{font-family:var(--font-display);font-size:1.3rem;font-weight:900;margin-bottom:28px}
.b-timeline{position:relative;padding-left:30px}
.b-timeline::before{content:'';position:absolute;left:11px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--red),rgba(200,16,46,.1))}
.b-tl-item{position:relative;padding-bottom:28px;display:flex;gap:18px;align-items:flex-start}
.b-tl-item:last-child{padding-bottom:0}
.b-tl-marker{position:absolute;left:-30px;width:24px;height:24px;border-radius:50%;background:var(--red);color:var(--wht);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px var(--wht),0 0 0 6px rgba(200,16,46,.15)}
.b-tl-body h4{font-size:.88rem;font-weight:700;margin-bottom:3px}
.b-tl-body p{font-size:.8rem;color:var(--grey);line-height:1.5}

/* ---------- BOTTOM CTA ---------- */
.b-bottom-cta{background:var(--blk);padding:48px 0}
.b-bottom-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.b-bottom-cta h3{font-family:var(--font-display);font-size:1.5rem;font-weight:900;color:var(--wht);margin-bottom:6px}
.b-bottom-cta p{font-size:.88rem;color:rgba(255,255,255,.6);line-height:1.5}
.b-bottom-cta p strong{color:var(--red-soft)}
.b-bottom-cta .b-btn--solid{flex-shrink:0}

/* ---------- SCATTERED PAW BACKGROUND ---------- */
.b-page{position:relative;overflow:hidden}
.b-paw-bg{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.b-paw-bg .paw{position:absolute;opacity:.035;color:var(--red)}
.b-paw-bg .paw svg{fill:currentColor;width:100%;height:auto}
.b-paw-bg .bp-1{top:2%;left:3%;width:80px;transform:rotate(-25deg)}
.b-paw-bg .bp-2{top:5%;right:5%;width:70px;transform:rotate(18deg)}
.b-paw-bg .bp-3{top:12%;left:6%;width:75px;transform:rotate(-38deg)}
.b-paw-bg .bp-4{top:8%;right:22%;width:60px;transform:rotate(30deg)}
.b-paw-bg .bp-5{top:18%;right:3%;width:85px;transform:rotate(-12deg)}
.b-paw-bg .bp-6{top:22%;left:18%;width:55px;transform:rotate(48deg)}
.b-paw-bg .bp-7{top:28%;right:18%;width:65px;transform:rotate(-50deg)}
.b-paw-bg .bp-8{top:15%;left:45%;width:72px;transform:rotate(22deg)}
.b-paw-bg .bp-9{top:35%;left:30%;width:62px;transform:rotate(-32deg)}
.b-paw-bg .bp-10{top:40%;left:2%;width:78px;transform:rotate(42deg)}
.b-paw-bg .bp-11{top:38%;right:2%;width:68px;transform:rotate(-18deg)}
.b-paw-bg .bp-12{top:45%;left:48%;width:58px;transform:rotate(55deg)}
.b-paw-bg .bp-13{top:50%;left:8%;width:90px;transform:rotate(8deg)}
.b-paw-bg .bp-14{top:48%;left:68%;width:65px;transform:rotate(-42deg)}
.b-paw-bg .bp-15{top:58%;left:58%;width:95px;transform:rotate(32deg)}
.b-paw-bg .bp-16{top:55%;right:12%;width:52px;transform:rotate(-58deg)}
.b-paw-bg .bp-17{top:62%;left:1%;width:62px;transform:rotate(5deg)}
.b-paw-bg .bp-18{top:65%;right:8%;width:75px;transform:rotate(-28deg)}
.b-paw-bg .bp-19{top:70%;left:38%;width:48px;transform:rotate(38deg)}
.b-paw-bg .bp-20{top:75%;left:15%;width:70px;transform:rotate(-15deg)}
.b-paw-bg .bp-21{top:72%;left:62%;width:58px;transform:rotate(52deg)}
.b-paw-bg .bp-22{top:80%;right:6%;width:68px;transform:rotate(-42deg)}
.b-paw-bg .bp-23{top:85%;left:52%;width:55px;transform:rotate(28deg)}
.b-paw-bg .bp-24{top:88%;right:3%;width:82px;transform:rotate(-8deg)}
.b-content{position:relative;z-index:1}

/* ---------- FADE-IN ANIMATION ---------- */
.b-fade{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.b-fade.visible{opacity:1;transform:translateY(0)}

/* ---------- CAT TAXI CAR ANIMATION ---------- */
.cat-car-anim {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 110px;
  margin-top: 24px;
  pointer-events: none;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.12));
  overflow: hidden;
}
.cat-car-anim svg {
  width: 180px;
  height: 100%;
  animation: driveBackForth 6s ease-in-out infinite;
  will-change: transform;
}

@keyframes driveBackForth {
  0%   { transform: translateX(-250px); }
  50%  { transform: translateX(250px); }
  100% { transform: translateX(-250px); }
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:960px){
  .b-pkg-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
  .b-bottom-cta-inner{flex-direction:column;text-align:center}
}
@media(max-width:768px){
  .cat-car-anim {
    height: 75px;
    margin-top: 16px;
  }
  .cat-car-anim svg {
    width: 120px;
  }
  @keyframes driveBackForth {
    0%   { transform: translateX(-100px); }
    50%  { transform: translateX(100px); }
    100% { transform: translateX(-100px); }
  }
  .b-tabstrip{top:60px}
  .b-tab{padding:10px 12px;font-size:.72rem}
  .b-pkg-grid{grid-template-columns:1fr 1fr;gap:14px}
  .b-pkg-card{padding:24px 18px 22px;border-radius:16px}
  .b-pkg-card:hover{transform:none;box-shadow:0 8px 24px rgba(0,0,0,.08)}
  .b-pkg-card:active{transform:scale(.97)}
  .b-pkg-price{font-size:1.05rem;padding:5px 16px}
  .b-spa-grid{grid-template-columns:1fr;gap:14px}
  .b-spa-card:hover{transform:none;box-shadow:0 8px 24px rgba(0,0,0,.08)}
  .b-ac-grid{grid-template-columns:1fr}
  .b-ac-item{padding:16px}
  .b-ac-item:hover{transform:none}
  .b-block-header{flex-direction:column}
  .b-block-header h2{font-size:1.4rem}
  .b-content{padding:24px 16px 50px}
  .b-cart-btn{padding:12px 24px;font-size:.8rem;min-height:44px}
  .b-cart-btn--sm{padding:10px 16px;min-height:44px}
  .b-ac-add{width:40px;height:40px;font-size:1.3rem}
  .b-divider{margin:36px 0}
  .b-timeline-section{padding:28px 20px}
  .b-paw-bg .paw:nth-child(n+13){display:none}
}
@media(max-width:480px){
  .cat-car-anim {
    height: 60px;
    margin-top: 12px;
  }
  .cat-car-anim svg {
    width: 100px;
  }
  @keyframes driveBackForth {
    0%   { transform: translateX(-60px); }
    50%  { transform: translateX(60px); }
    100% { transform: translateX(-60px); }
  }
  .b-tabstrip{top:54px}
  .b-tabs{gap:0}
  .b-tab{padding:12px 14px;font-size:.7rem}
  .b-pkg-grid{grid-template-columns:1fr;gap:12px}
  .b-pkg-card{padding:22px 16px 20px}
  .b-pkg-desc{min-height:auto;margin-bottom:12px}
  .b-cart-btn{width:100%;justify-content:center;padding:14px 20px;font-size:.82rem}
  .b-cart-btn--sm{width:auto}
  .b-timeline-section{padding:20px 14px}
  .b-timeline-section h2{font-size:1.1rem}
  .b-bottom-cta{padding:36px 0}
  .b-bottom-cta h3{font-size:1.2rem}
  .b-bottom-cta p{font-size:.82rem}
  .b-bottom-cta-inner .b-btn{width:100%;text-align:center;justify-content:center;min-height:48px}
  .b-block{margin-bottom:14px}
  .b-count{font-size:.65rem;padding:5px 12px}
  .b-paw-bg .paw:nth-child(n+9){display:none}
  .b-paw-bg .paw{width:50px !important}
}
