:root{
    --ivory:#F4F0E6;
    --ivory-2:#EDE7D8;
    --ink:#1C1815;
    --ink-soft:#3A342E;
    --taupe:#8C8272;
    --line:#DDD4C2;
    --cherry:#A6303F;
    --cherry-soft:#C97E88;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth; color-scheme:light;}
  body{
    background:var(--ivory);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  .paper{
    background-image:
      radial-gradient(circle at 20% 20%, rgba(0,0,0,0.015) 0%, transparent 40%),
      radial-gradient(circle at 80% 60%, rgba(0,0,0,0.015) 0%, transparent 40%);
  }
  h1,h2,h3,.serif{ font-family:'Playfair Display', serif; font-weight:500; letter-spacing:0.01em;}
  .script{ font-family:'Playfair Display', serif; font-style:italic; font-weight:400; }
  a{ color:inherit; text-decoration:none; }
  .wrap{ max-width:1080px; margin:0 auto; padding:0 24px; }
  .rule{ border:none; border-top:1px solid var(--line); }

  /* ===== NAV ===== */
  nav{
    position:sticky; top:0; z-index:50;
    background:rgba(244,240,230,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:1080px; margin:0 auto; padding:10px 24px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .nav-logo{ display:flex; align-items:center; }
  .nav-logo img{ height:60px; width:auto; display:block; }
  @media (max-width:760px){ .nav-logo img{ height:46px; } }
  .nav-links{ display:flex; gap:28px; font-size:13px; letter-spacing:0.04em; color:var(--ink-soft); }
  .nav-links a:hover{ color:var(--cherry); }
  .nav-cta{
    font-size:12px; letter-spacing:0.08em; padding:9px 18px;
    border:1px solid var(--ink); border-radius:2px;
    white-space:nowrap;
  }
  .nav-cta:hover{ background:var(--ink); color:var(--ivory); }
  @media (max-width:760px){
    .nav-links{ display:none; }
  }

  /* ===== HERO ===== */
  .hero{ padding:88px 0 64px; position:relative; overflow:hidden; }
  .hero-grid{
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;
  }
  .eyebrow{
    font-size:12px; letter-spacing:0.14em; color:var(--taupe);
    display:flex; align-items:center; gap:10px; margin-bottom:22px;
  }
  .eyebrow .dot{ width:5px; height:5px; border-radius:50%; background:var(--cherry); display:inline-block; }
  .hero h1{
    font-size:clamp(38px, 6vw, 64px); line-height:1.08; margin-bottom:26px;
  }
  .hero h1 em{ font-style:italic; color:var(--cherry); font-weight:400; }
  .hero p.lead{
    font-size:17px; color:var(--ink-soft); max-width:460px; margin-bottom:34px;
  }
  .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
  .btn-primary{
    background:var(--ink); color:var(--ivory); padding:14px 28px;
    font-size:13px; letter-spacing:0.06em; border-radius:2px; display:inline-block;
  }
  .btn-primary:hover{ background:var(--cherry); }
  .btn-ghost{
    border:1px solid var(--ink); color:var(--ink); padding:13px 27px;
    font-size:13px; letter-spacing:0.06em; border-radius:2px; display:inline-block;
  }
  .btn-ghost:hover{ border-color:var(--cherry); color:var(--cherry); }

  .hero-photo{
    position:relative; aspect-ratio:4/5; overflow:hidden;
    border-radius:2px 40px 2px 2px;
  }
  .hero-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .hero-photo-tag{
    position:absolute; bottom:18px; left:18px;
    background:rgba(244,240,230,0.92); color:var(--ink);
    font-size:11px; letter-spacing:0.1em; padding:8px 14px;
  }
  @media (max-width:760px){
    .hero-grid{ grid-template-columns:1fr; }
    .hero-photo{ max-width:340px; margin:0 auto; aspect-ratio:4/5; }
  }

  /* ===== GALLERY (masonry) ===== */
  .gallery-grid{
    column-count:2; column-gap:14px;
  }
  .g-item{
    break-inside:avoid; margin-bottom:14px; overflow:hidden; position:relative;
  }
  .gallery-grid img{ width:100%; display:block; object-fit:cover; transition:transform 0.5s ease; }
  .g-item:hover img{ transform:scale(1.04); }
  @media (min-width:760px){
    .gallery-grid{ column-count:4; column-gap:16px; }
    .g-item{ margin-bottom:16px; }
  }
  .g-item img{ cursor:zoom-in; }

  /* ===== LIGHTBOX ===== */
  .lightbox{
    position:fixed; inset:0; background:rgba(20,17,14,0.92);
    display:none; align-items:center; justify-content:center; z-index:200;
    padding:32px 16px;
  }
  .lightbox.open{ display:flex; }
  .lightbox img{ max-width:100%; max-height:100%; object-fit:contain; border-radius:2px; }
  .lightbox-close{
    position:absolute; top:20px; right:20px; background:none; border:none;
    color:var(--ivory); font-size:32px; line-height:1; cursor:pointer; padding:6px 10px;
  }

  /* ===== SECTION HEADS ===== */
  section{ padding:72px 0; }
  .sec-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:44px; gap:24px; flex-wrap:wrap; }
  .sec-num{ font-size:12px; color:var(--taupe); letter-spacing:0.1em; margin-bottom:10px; }
  .sec-head h2{ font-size:clamp(28px,3.4vw,40px); }
  .sec-head p{ color:var(--taupe); max-width:340px; font-size:14px; }

  /* ===== ABOUT ===== */
  .about{ background:var(--ivory-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .about-grid{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; }
  .about-quote{ font-size:clamp(22px,3vw,30px); line-height:1.35; }
  .about-body p{ color:var(--ink-soft); margin-bottom:16px; font-size:15px; max-width:480px; }
  .about-stats{ display:flex; gap:40px; margin-top:32px; flex-wrap:wrap; }
  .stat-num{ font-family:'Playfair Display',serif; font-size:32px; }
  .stat-label{ font-size:12px; color:var(--taupe); letter-spacing:0.04em; }
  @media (max-width:760px){ .about-grid{ grid-template-columns:1fr; gap:32px; } }

  /* ===== SERVICES ===== */
  .service-list{ display:flex; flex-direction:column; }
  .service-row{
    display:grid; grid-template-columns:60px 1fr 1fr; gap:24px;
    padding:28px 0; border-top:1px solid var(--line); align-items:start;
  }
  .service-row:last-child{ border-bottom:1px solid var(--line); }
  .service-index{ font-family:'Playfair Display',serif; font-style:italic; color:var(--cherry-soft); font-size:18px; }
  .service-row h3{ font-size:21px; margin-bottom:8px; }
  .service-row p{ color:var(--taupe); font-size:14px; max-width:360px; }
  @media (max-width:760px){
    .service-row{ grid-template-columns:1fr; gap:6px; }
    .service-index{ display:none; }
  }

  /* ===== PRICING PREVIEW ===== */
  .price-cols{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:48px; }
  .price-group h4{ font-size:12px; letter-spacing:0.1em; color:var(--taupe); margin-bottom:14px; text-transform:uppercase; }
  .price-item{
    display:flex; justify-content:space-between; gap:16px;
    padding:12px 0; border-bottom:1px solid var(--line); font-size:14.5px;
  }
  .price-item span:first-child{ padding-right:8px; }
  .price-item span:last-child{ color:var(--ink-soft); white-space:nowrap; }
  .price-sub{ font-size:11.5px; color:var(--taupe); display:block; margin-top:2px; font-style:italic; }
  .price-note{ margin-top:28px; font-size:13px; color:var(--taupe); }
  @media (max-width:900px){ .price-cols{ grid-template-columns:1fr 1fr; gap:32px; } }
  @media (max-width:760px){ .price-cols{ grid-template-columns:1fr; gap:8px; } }

  /* ===== PRICING LANGUAGE TABS ===== */
  .lang-tabs input[type="radio"]{ display:none; }
  .lang-tab-labels{ display:flex; gap:8px; margin:24px 0 20px; flex-wrap:wrap; }
  .lang-tab-labels label{
    cursor:pointer; font-size:12.5px; letter-spacing:.03em; padding:8px 18px;
    border:1px solid var(--line); border-radius:999px; color:var(--taupe); transition:all .2s ease;
  }
  .price-panel{ display:none; }
  #lang-vi:checked ~ .price-panel[data-panel="vi"],
  #lang-en:checked ~ .price-panel[data-panel="en"],
  #lang-ko:checked ~ .price-panel[data-panel="ko"],
  #lang-zh:checked ~ .price-panel[data-panel="zh"]{ display:block; }
  #lang-vi:checked ~ .lang-tab-labels label[for="lang-vi"],
  #lang-en:checked ~ .lang-tab-labels label[for="lang-en"],
  #lang-ko:checked ~ .lang-tab-labels label[for="lang-ko"],
  #lang-zh:checked ~ .lang-tab-labels label[for="lang-zh"]{
    background:var(--ink); color:var(--ivory); border-color:var(--ink);
  }
  .price-scroll{
    display:flex; gap:16px; overflow-x:auto; padding-bottom:14px; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .price-card{
    flex:0 0 auto; width:320px; scroll-snap-align:start; background:var(--ivory);
    border:1px solid var(--line); border-radius:6px; padding:20px 22px;
  }
  .price-card h4{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--taupe); margin-bottom:10px; }
  .price-card .price-item{ padding:9px 0; font-size:13.5px; }
  @media (max-width:520px){ .price-card{ width:85vw; max-width:340px; } }

  /* ===== BRANCHES ===== */
  .branches{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
  .branch-card{ border:1px solid var(--line); padding:32px; position:relative; }
  .branch-tag{
    position:absolute; top:-1px; right:-1px; background:var(--ink); color:var(--ivory);
    font-size:11px; letter-spacing:0.08em; padding:6px 12px;
  }
  .branch-card h3{ font-size:22px; margin-bottom:4px; }
  .branch-rating{ font-size:13px; color:var(--cherry); margin-bottom:18px; }
  .branch-meta{ font-size:14px; color:var(--ink-soft); margin-bottom:6px; display:flex; gap:8px; }
  .branch-meta .k{ color:var(--taupe); min-width:64px; }
  .branch-cta{ margin-top:18px; display:inline-block; font-size:13px; border-bottom:1px solid var(--ink); }
  .branch-ctas{ display:flex; gap:22px; flex-wrap:wrap; }
  .branch-ctas .branch-cta{ margin-top:18px; }
  .branch-cta-ghost{ color:var(--taupe); border-bottom-color:var(--line); }
  .branch-cta-ghost:hover{ color:var(--cherry); border-bottom-color:var(--cherry); }
  .branch-cta:hover{ color:var(--cherry); border-color:var(--cherry); }
  .branch-future{
    border:1px dashed var(--line); padding:32px; display:flex; align-items:center; justify-content:center;
    text-align:center; color:var(--taupe); font-size:14px;
  }
  @media (max-width:760px){ .branches{ grid-template-columns:1fr; } }

  /* ===== TRAINING ===== */
  .training{ background:var(--ink); color:var(--ivory); }
  .training .eyebrow{ color:var(--cherry-soft); }
  .training-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; }
  .training h2{ color:var(--ivory); font-size:clamp(26px,3.4vw,38px); margin-bottom:18px; }
  .training p{ color:#C9C2B6; font-size:15px; max-width:440px; margin-bottom:22px; }
  .training-list{ list-style:none; }
  .training-list li{
    font-size:14px; color:#D8D2C5; padding:10px 0; border-top:1px solid rgba(255,255,255,0.14);
    display:flex; gap:10px;
  }
  .training-list li:last-child{ border-bottom:1px solid rgba(255,255,255,0.14); }
  .training-price{ font-family:'Playfair Display',serif; font-size:30px; margin-top:22px; }
  .training-price small{ font-family:'Inter',sans-serif; font-size:12px; color:#9A9284; display:block; margin-top:4px; }
  @media (max-width:760px){ .training-grid{ grid-template-columns:1fr; gap:32px; } }

  /* ===== FOOTER / CONTACT ===== */
  footer{ padding:64px 0 40px; }
  .footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; margin-bottom:48px; }
  .footer-brand .serif{ font-size:22px; letter-spacing:0.02em; }
  .footer-brand p{ color:var(--taupe); font-size:13px; margin-top:10px; max-width:280px; line-height:1.7; }
  .footer-col h5{ font-size:12px; letter-spacing:0.1em; color:var(--taupe); margin-bottom:14px; text-transform:uppercase; }
  .footer-col a, .footer-col p{ display:block; font-size:14px; color:var(--ink-soft); margin-bottom:10px; white-space:nowrap; }
  .footer-col a:hover{ color:var(--cherry); }
  .footer-bottom{ display:flex; justify-content:space-between; font-size:12px; color:var(--taupe); flex-wrap:wrap; gap:10px; }
  @media (max-width:760px){ .footer-grid{ grid-template-columns:1fr; gap:28px; } }

  /* ===== FANPAGE FACEBOOK ===== */
  .fanpage-block h5{ font-size:12px; letter-spacing:0.1em; color:var(--taupe); margin-bottom:16px; text-transform:uppercase; }
  .fanpage-card{
    display:block; border:1px solid var(--line); border-radius:8px; overflow:hidden;
    text-decoration:none; transition:box-shadow .2s ease;
  }
  .fanpage-card:hover{ box-shadow:0 8px 24px rgba(0,0,0,0.08); }
  .fanpage-cover{
    height:120px; background:linear-gradient(135deg,var(--taupe),var(--ink));
    background-size:cover; background-position:center;
  }
  .fanpage-info{ display:flex; align-items:center; gap:14px; padding:16px 18px; background:var(--ivory); flex-wrap:wrap; }
  .fanpage-avatar{
    width:44px; height:44px; border-radius:50%; background:var(--cherry); color:var(--ivory);
    display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif;
    font-size:15px; flex:0 0 auto; margin-top:-32px; border:3px solid var(--ivory);
  }
  .fanpage-name{ font-size:14.5px; color:var(--ink); font-weight:500; }
  .fanpage-sub{ font-size:12px; color:var(--taupe); margin-top:2px; }
  .fanpage-go{ margin-left:auto; font-size:13px; color:var(--cherry); white-space:nowrap; }

  /* ===== FOOTER LOCATIONS (merged branch info) ===== */
  .footer-locations{ display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:32px 0; }
  .footer-loc{ scroll-margin-top:90px; }
  .footer-loc-tag{
    display:inline-block; font-size:11px; letter-spacing:.08em; padding:5px 12px;
    background:var(--ink); color:var(--ivory); border-radius:999px; margin-bottom:12px;
  }
  .footer-loc h5{ font-size:17px; font-family:'Playfair Display',serif; color:var(--ink); margin-bottom:6px; text-transform:none; letter-spacing:0; }
  .footer-loc-rating{ font-size:13px; color:var(--cherry); margin-bottom:10px; }
  .footer-loc p{ font-size:13px; color:var(--ink-soft); margin-bottom:10px; line-height:1.6; }
  .footer-loc-en{ color:var(--taupe); font-size:12px; }
  .footer-loc-meta{ font-size:12.5px; color:var(--taupe); margin-bottom:4px; }
  .footer-loc .branch-ctas{ margin-bottom:16px; }
  .footer-map{ border-radius:6px; overflow:hidden; border:1px solid var(--line); }
  .footer-map iframe{ width:100%; height:180px; border:0; display:block; }
  @media (max-width:760px){ .footer-locations{ grid-template-columns:1fr; } }

  /* ===== FLOATING BRANCH SWITCH (Chi nhánh 1 / Chi nhánh 2) ===== */
  .branch-fab-wrap{ position:fixed; left:16px; bottom:24px; z-index:55; display:flex; gap:8px; }
  .branch-fab{
    background:var(--cherry); color:var(--ivory); font-size:12.5px; letter-spacing:.02em;
    padding:10px 16px; border-radius:999px; box-shadow:0 6px 16px rgba(0,0,0,0.18); white-space:nowrap;
  }
  .branch-fab:hover{ background:var(--ink); }
  @media (max-width:760px){
    .branch-fab-wrap{ left:10px; bottom:16px; }
    .branch-fab{ font-size:11.5px; padding:9px 13px; }
  }

  /* ===== GALLERY SCROLL (compact carousel) ===== */
  .scroll-hint{ font-size:12px; color:var(--taupe); margin:-6px 0 16px; letter-spacing:.02em; }
  .gallery-scroll{
    display:flex; gap:14px; overflow-x:auto; padding-bottom:16px; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:var(--cherry-soft) transparent;
  }
  .gallery-scroll::-webkit-scrollbar{ height:6px; }
  .gallery-scroll::-webkit-scrollbar-thumb{ background:var(--cherry-soft); border-radius:10px; }
  .gallery-scroll::-webkit-scrollbar-track{ background:var(--line); border-radius:10px; }
  .gallery-scroll .g-item{
    flex:0 0 auto; width:220px; scroll-snap-align:start; border-radius:6px; overflow:hidden; margin-bottom:0;
  }
  .gallery-scroll .g-item img{ height:280px; object-fit:cover; }
  @media (max-width:760px){
    .gallery-scroll .g-item{ width:160px; }
    .gallery-scroll .g-item img{ height:210px; }
  }

  /* ===== TRAINING BENEFITS (Nail Art Class) ===== */
  .curr-badges{ display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 28px; }
  .curr-badge{
    font-size:11.5px; letter-spacing:.04em; padding:6px 14px; border-radius:999px;
    border:1px solid rgba(255,255,255,0.22); color:#E9E4D8;
  }
  .curriculum{ margin-top:6px; }
  .curr-item{ border-top:1px solid rgba(255,255,255,0.14); }
  .curr-item:last-of-type{ border-bottom:1px solid rgba(255,255,255,0.14); }
  .curr-item summary{
    cursor:pointer; list-style:none; padding:18px 4px; display:flex; align-items:center; justify-content:space-between;
    gap:16px; font-size:15px; color:var(--ivory);
  }
  .curr-item summary::-webkit-details-marker{ display:none; }
  .curr-item summary .cn{ color:var(--cherry-soft); font-family:'Playfair Display',serif; font-style:italic; margin-right:10px; }
  .curr-item summary .plus{
    width:22px; height:22px; flex:0 0 auto; border:1px solid rgba(255,255,255,0.3); border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-size:15px; transition:transform .25s ease;
  }
  .curr-item[open] summary .plus{ transform:rotate(45deg); background:var(--cherry); border-color:var(--cherry); }
  .curr-body{ padding:0 4px 22px 34px; color:#C9C2B6; font-size:13.5px; line-height:1.9; }
  .curr-body b{ color:#E9E4D8; font-weight:600; }
  .curr-complete{
    margin-top:24px; padding:20px; border:1px dashed rgba(255,255,255,0.25); border-radius:8px;
    font-size:13.5px; color:#C9C2B6; line-height:1.85;
  }
  .curr-complete b{ color:var(--ivory); }
  .train-benefits{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-top:44px; }
  .train-benefit h4{ color:var(--ivory); font-size:14.5px; margin-bottom:8px; display:flex; align-items:center; gap:8px; }
  .train-benefit h4 .num{ color:var(--cherry-soft); font-family:'Playfair Display',serif; font-style:italic; font-size:16px; }
  .train-benefit p{ color:#C9C2B6; font-size:13px; line-height:1.7; margin:0; max-width:none; }
  @media (max-width:900px){ .train-benefits{ grid-template-columns:1fr 1fr; } }
  @media (max-width:520px){ .train-benefits{ grid-template-columns:1fr; } }

  /* ===== FLOATING ACTIONS ===== */
  .fab-wrap{
    position:fixed; right:20px; bottom:24px; z-index:60;
    display:flex; flex-direction:column; gap:12px; align-items:flex-end;
  }
  .fab-btn{
    width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 18px rgba(0,0,0,0.22); color:#fff; position:relative; transition:transform .2s ease;
  }
  .fab-btn:hover{ transform:scale(1.08); }
  .fab-btn svg{ width:24px; height:24px; }
  .fab-facebook{ background:#1877F2; }
  .fab-instagram{ background:linear-gradient(135deg,#F58529,#DD2A7B,#8134AF); }
  .fab-hotline{ background:var(--cherry); }
  .fab-zalo{ background:#0068FF; }
  .fab-label{
    position:absolute; right:64px; top:50%; transform:translateY(-50%);
    background:var(--ink); color:var(--ivory); font-size:12px; padding:6px 12px; border-radius:6px;
    white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .2s ease;
  }
  .fab-btn:hover .fab-label{ opacity:1; }
  @media (max-width:760px){
    .fab-wrap{ right:14px; bottom:16px; gap:10px; }
    .fab-btn{ width:46px; height:46px; }
    .fab-btn svg{ width:21px; height:21px; }
    .fab-label{ display:none; }
  }



  .chatbot-wrap{ position:fixed; right:20px; bottom:300px; z-index:70; font-family:'Inter',sans-serif; }
  .chatbot-toggle{
    width:56px; height:56px; border-radius:50%; background:var(--ink); color:var(--ivory);
    display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(0,0,0,0.28);
    border:none; cursor:pointer; transition:transform .2s ease;
  }
  .chatbot-toggle:hover{ transform:scale(1.06); }
  .chatbot-toggle svg{ width:26px; height:26px; }
  .chatbot-dot{
    position:absolute; top:2px; right:2px; width:12px; height:12px; border-radius:50%;
    background:var(--cherry); border:2px solid var(--ivory);
  }
  .chatbot-panel{
    position:absolute; right:0; bottom:70px; width:320px; max-width:calc(100vw - 28px);
    height:460px; max-height:70vh; background:var(--ivory); border-radius:14px;
    box-shadow:0 20px 50px rgba(0,0,0,0.28); display:none; flex-direction:column; overflow:hidden;
    border:1px solid var(--line);
  }
  .chatbot-panel.open{ display:flex; }
  .chatbot-header{
    background:var(--ink); color:var(--ivory); padding:14px 16px; display:flex;
    align-items:center; justify-content:space-between; flex:0 0 auto;
  }
  .chatbot-title{ font-family:'Playfair Display',serif; font-size:15px; letter-spacing:.02em; }
  .chatbot-status{ font-size:11px; color:#9CD67A; margin-top:2px; }
  .chatbot-close{ background:none; border:none; color:var(--ivory); font-size:22px; cursor:pointer; line-height:1; padding:0 4px; }
  .chatbot-body{ flex:1 1 auto; overflow-y:auto; padding:14px 12px; display:flex; flex-direction:column; gap:10px; }
  .chatbot-msg{ max-width:85%; font-size:13px; line-height:1.5; padding:9px 12px; border-radius:12px; }
  .chatbot-msg.bot{ background:var(--ivory-2); color:var(--ink); align-self:flex-start; border-bottom-left-radius:2px; }
  .chatbot-msg.user{ background:var(--ink); color:var(--ivory); align-self:flex-end; border-bottom-right-radius:2px; }
  .chatbot-chips{ display:flex; flex-wrap:wrap; gap:6px; padding:0 12px 10px; flex:0 0 auto; }
  .chatbot-chip{
    font-size:11.5px; padding:7px 12px; border:1px solid var(--cherry); color:var(--cherry);
    border-radius:999px; background:transparent; cursor:pointer; transition:all .15s ease;
  }
  .chatbot-chip:hover{ background:var(--cherry); color:var(--ivory); }
  .chatbot-input-row{ display:flex; gap:8px; padding:10px 12px; border-top:1px solid var(--line); flex:0 0 auto; }
  .chatbot-input-row input{
    flex:1; border:1px solid var(--line); border-radius:999px; padding:9px 14px; font-size:13px;
    font-family:'Inter',sans-serif; outline:none; background:#fff;
  }
  .chatbot-input-row input:focus{ border-color:var(--cherry); }
  .chatbot-input-row button{
    width:36px; height:36px; border-radius:50%; background:var(--cherry); color:var(--ivory);
    border:none; cursor:pointer; flex:0 0 auto; font-size:16px;
  }
  @media (max-width:760px){
    .chatbot-wrap{ right:14px; bottom:250px; }
    .chatbot-toggle{ width:48px; height:48px; }
    .chatbot-panel{ width:300px; bottom:60px; }
  }
/* ===== BOOKING FORM ===== */
.booking{ background:var(--ivory-2); padding:64px 0; }
.booking h2{ font-family:'Playfair Display',serif; font-size:30px; margin-bottom:8px; }
.booking-form{ max-width:720px; }
.booking-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.booking-field{ display:flex; flex-direction:column; gap:6px; }
.booking-field label{ font-size:13px; font-weight:600; color:var(--ink); }
.booking-field input, .booking-field select, .booking-field textarea{
  padding:11px 14px; border:1px solid var(--line); border-radius:8px; font-family:'Inter',sans-serif;
  font-size:14px; background:#fff; color:var(--ink);
}
.booking-field input:focus, .booking-field select:focus, .booking-field textarea:focus{
  outline:none; border-color:var(--cherry);
}
.booking-actions{ display:flex; gap:14px; margin-top:22px; flex-wrap:wrap; }
.booking-status{ margin-top:14px; font-size:13.5px; color:var(--cherry); font-weight:600; min-height:18px; }
.nav-cta{
  background:var(--cherry) !important; color:var(--ivory) !important; padding:8px 16px !important;
  border-radius:999px !important;
}
@media (max-width:760px){
  .booking-grid{ grid-template-columns:1fr; }
  .booking{ padding:44px 0; }
}
