body{background:#f5f7fb}.navbar-brand{font-weight:700}.hero{background:linear-gradient(135deg,#0d6efd,#563d7c);color:#fff;border-radius:1rem}.notice-bar{background:#fff3cd;border-block:1px solid #ffe69c;overflow:hidden;white-space:nowrap}.notice-track{display:inline-block;padding-left:100%;animation:scroll 22s linear infinite}.notice-track span{margin-right:5rem}@keyframes scroll{to{transform:translateX(-100%)}}.gallery-img{height:220px;object-fit:cover;width:100%}.login-card{max-width:430px;margin:8vh auto}.table td{vertical-align:middle}.sidebar{min-height:100vh;background:#17223b}.sidebar a{color:#dce3f3;text-decoration:none;display:block;padding:.75rem 1rem}.sidebar a:hover{background:#27385c;color:#fff}
.notice-bar {
    background: #fff3cd;
    overflow: hidden;
    white-space: nowrap;
    padding: 10px 0;
}

.notice-track {
    display: inline-block;
    padding-left: 100%;
    animation: notice-scroll 25s linear infinite;
}

.notice-track a {
    color: #222;
    text-decoration: none;
    margin-right: 60px;
}

.notice-track a:hover {
    color: #0d6efd;
}

@keyframes notice-scroll {
    to {
        transform: translateX(-100%);
    }
}
.gallery-click {
    cursor: pointer;
}


    /* ---------- Inner page banner ---------- */
    .page-banner{
      position:relative;
      padding:150px 0 80px;
      overflow:hidden;
      background:linear-gradient(135deg,#fff2e2 0%,#ffe6cf 45%,#ffd9b8 100%);
      text-align:center;
    }
    .page-banner .eyebrow{ justify-content:center; }
    .page-banner h1{
      font-family:'Playfair Display',serif;
      font-size:clamp(2.1rem,5vw,3.4rem);
      margin:.4rem 0 .8rem;
      color:#1f2430;
    }
    .page-banner p{
      max-width:620px;
      margin:0 auto;
      color:#5b5f6b;
      font-size:1.05rem;
    }
    .breadcrumb{
      display:flex;
      justify-content:center;
      gap:.5rem;
      font-size:.85rem;
      letter-spacing:.03em;
      color:#8a8f9c;
      margin-top:1rem;
    }
    .breadcrumb a{ color:#e6772e; text-decoration:none; font-weight:600; }
    .page-banner-art{ position:absolute; inset:0; pointer-events:none; opacity:.5; }
    .page-banner-art span{
      position:absolute; border-radius:50%;
      background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), rgba(255,255,255,0));
    }
    .page-banner-art .b1{ width:180px;height:180px; top:-40px; left:-40px; }
    .page-banner-art .b2{ width:120px;height:120px; bottom:-30px; right:8%; }
    .page-banner-art .b3{ width:70px;height:70px; top:30%; right:20%; }

    /* ---------- Contact info cards ---------- */
    .contact-info-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:24px;
      margin-top:44px;
    }
    .contact-info-card{
      background:#fff;
      border:1px solid #f0e6da;
      border-radius:20px;
      padding:32px 28px;
      box-shadow:0 12px 30px -18px rgba(31,36,48,.18);
      text-align:left;
    }
    .contact-info-card .ci-icon{
      width:52px;height:52px;
      display:flex;align-items:center;justify-content:center;
      border-radius:14px;
      background:#fff2e2;
      color:#e6772e;
      font-size:1.4rem;
      margin-bottom:18px;
    }
    .contact-info-card h3{ font-family:'Playfair Display',serif; font-size:1.2rem; margin-bottom:8px; color:#1f2430; }
    .contact-info-card p, .contact-info-card a{ color:#5b5f6b; line-height:1.6; text-decoration:none; display:block; }
    .contact-info-card a:hover{ color:#e6772e; }

    /* ---------- Contact form + map layout ---------- */
    .contact-wrap{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:40px;
      align-items:start;
      margin-top:10px;
    }
    .contact-form{
      background:#fff;
      border:1px solid #f0e6da;
      border-radius:20px;
      padding:36px;
      box-shadow:0 12px 30px -18px rgba(31,36,48,.18);
    }
    .form-row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }
    .form-field{ margin-bottom:18px; }
    .form-field label{
      display:block;
      font-size:.85rem;
      font-weight:600;
      color:#1f2430;
      margin-bottom:6px;
    }
    .form-field input,
    .form-field select,
    .form-field textarea{
      width:100%;
      padding:12px 14px;
      border:1px solid #e3dccf;
      border-radius:10px;
      font-family:'Poppins',sans-serif;
      font-size:.95rem;
      color:#1f2430;
      background:#fffdfa;
    }
    .form-field textarea{ resize:vertical; min-height:120px; }
    .form-field input:focus,
    .form-field select:focus,
    .form-field textarea:focus{
      outline:none;
      border-color:#e6772e;
      box-shadow:0 0 0 3px rgba(230,119,46,.15);
    }
    .contact-form .button-primary{
      border:none;
      cursor:pointer;
      width:100%;
      justify-content:center;
    }

    .map-panel{
      border-radius:20px;
      overflow:hidden;
      border:1px solid #f0e6da;
      box-shadow:0 12px 30px -18px rgba(31,36,48,.18);
    }
    .map-panel iframe{
      width:100%;
      height:280px;
      border:0;
      display:block;
    }
    .hours-card{
      background:#fff;
      border:1px solid #f0e6da;
      border-radius:20px;
      padding:28px 30px;
      margin-top:24px;
      box-shadow:0 12px 30px -18px rgba(31,36,48,.18);
    }
    .hours-card h3{ font-family:'Playfair Display',serif; font-size:1.15rem; margin-bottom:14px; color:#1f2430; }
    .hours-row{
      display:flex;
      justify-content:space-between;
      padding:9px 0;
      border-bottom:1px dashed #f0e6da;
      color:#5b5f6b;
      font-size:.93rem;
    }
    .hours-row:last-child{ border-bottom:none; }
    .hours-row strong{ color:#1f2430; }

    /* ---------- Responsive ---------- */
    @media (max-width: 900px){
      .contact-info-grid{ grid-template-columns:1fr; }
      .contact-wrap{ grid-template-columns:1fr; }
      .page-banner{ padding:130px 0 60px; }
    }
    @media (max-width: 560px){
      .form-row{ grid-template-columns:1fr; }
      .contact-form{ padding:26px 22px; }
      .contact-info-card{ padding:26px 22px; }
    }
 