/* ===== Page Wrapper ===== */
.page-ban-ca { background-color: #08160F; color: #F2FFF6; font-family: 'Segoe UI', Tahoma, sans-serif; line-height: 1.6; overflow-x: hidden; }
.page-ban-ca * { box-sizing: border-box; }
.page-ban-ca a { text-decoration: none; }

.page-ban-ca__container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ===== Hero ===== */
.page-ban-ca__hero-section { display: flex; flex-direction: column; align-items: center; padding: 10px 20px 40px; background: linear-gradient(180deg, #0A4B2C 0%, #08160F 100%); width: 100%; }
.page-ban-ca__hero-image { width: 100%; max-width: 1200px; margin: 0 auto 24px; border-radius: 16px; overflow: hidden; border: 2px solid #2E7A4E; box-shadow: 0 0 40px rgba(87, 227, 141, 0.25); }
.page-ban-ca__hero-image img { display: block; width: 100%; height: auto; }
.page-ban-ca__hero-content { width: 100%; max-width: 900px; text-align: center; }
.page-ban-ca__hero-title { font-size: clamp(1.6rem, 4vw, 2.6rem); font-weight: 800; line-height: 1.25; color: #F2FFF6; margin: 0 0 18px; letter-spacing: 0.3px; text-shadow: 0 2px 12px rgba(0,0,0,0.5); }
.page-ban-ca__hero-desc { font-size: 1.05rem; color: #A7D9B8; margin: 0 0 26px; max-width: 780px; margin-left: auto; margin-right: auto; }
.page-ban-ca__hero-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

/* ===== Buttons ===== */
.page-ban-ca__btn { display: inline-block; padding: 14px 30px; border-radius: 10px; font-weight: 700; font-size: 1rem; text-align: center; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease; border: none; }
.page-ban-ca__btn--primary { background: linear-gradient(180deg, #2AD16F 0%, #13994A 100%); color: #04160C; box-shadow: 0 6px 18px rgba(34, 199, 104, 0.35); }
.page-ban-ca__btn--primary:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(34, 199, 104, 0.5); filter: brightness(1.06); }
.page-ban-ca__btn--secondary { background: transparent; color: #57E38D; border: 2px solid #2E7A4E; }
.page-ban-ca__btn--secondary:hover { background: rgba(87, 227, 141, 0.12); transform: translateY(-2px); }

/* ===== Section Common ===== */
.page-ban-ca__intro-section,
.page-ban-ca__features-section,
.page-ban-ca__rooms-section,
.page-ban-ca__guide-section,
.page-ban-ca__promo-section,
.page-ban-ca__faq-section,
.page-ban-ca__cta-section { padding: 56px 0; }
.page-ban-ca__section-title { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; color: #57E38D; text-align: center; margin: 0 0 32px; position: relative; }
.page-ban-ca__section-title::after { content: ""; display: block; width: 70px; height: 3px; margin: 14px auto 0; background: linear-gradient(90deg, #22C768, #F2C14E); border-radius: 2px; }
.page-ban-ca__text { color: #A7D9B8; font-size: 1.02rem; max-width: 900px; margin: 0 auto; text-align: center; }

/* ===== Features ===== */
.page-ban-ca__features-section { background-color: #0A4B2C; }
.page-ban-ca__features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.page-ban-ca__feature-card { background-color: #11271B; border: 1px solid #2E7A4E; border-radius: 14px; overflow: hidden; transition: transform 0.25s ease, box-shadow 0.25s ease; display: flex; flex-direction: column; }
.page-ban-ca__feature-card:hover { transform: translateY(-6px); box-shadow: 0 12px 28px rgba(87, 227, 141, 0.2); }
.page-ban-ca__feature-image { display: block; width: 100%; height: auto; border-bottom: 1px solid #1E3A2A; }
.page-ban-ca__feature-title { font-size: 1.1rem; color: #F2FFF6; margin: 18px 18px 8px; }
.page-ban-ca__feature-desc { font-size: 0.92rem; color: #A7D9B8; margin: 0 18px 20px; }

/* ===== Rooms ===== */
.page-ban-ca__rooms-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 36px; }
.page-ban-ca__room-card { background-color: #11271B; border: 1px solid #2E7A4E; border-radius: 14px; overflow: hidden; transition: transform 0.25s ease, border-color 0.25s ease; }
.page-ban-ca__room-card:hover { transform: translateY(-6px); border-color: #57E38D; }
.page-ban-ca__room-image { display: block; width: 100%; height: auto; }
.page-ban-ca__room-title { font-size: 1.15rem; color: #57E38D; margin: 18px 18px 8px; }
.page-ban-ca__room-desc { font-size: 0.93rem; color: #A7D9B8; margin: 0 18px 20px; }

/* ===== Guide ===== */
.page-ban-ca__guide-section { background-color: #0A4B2C; }
.page-ban-ca__guide-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.page-ban-ca__guide-item { background-color: #11271B; border-left: 4px solid #22C768; border-radius: 10px; padding: 24px; }
.page-ban-ca__guide-title { font-size: 1.08rem; color: #F2FFF6; margin: 0 0 10px; }
.page-ban-ca__guide-desc { font-size: 0.93rem; color: #A7D9B8; margin: 0; }

/* ===== Promo ===== */
.page-ban-ca__promo-section { background: linear-gradient(180deg, #08160F 0%, #0A4B2C 100%); }
.page-ban-ca__promo-actions { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 30px; }

/* ===== FAQ ===== */
.page-ban-ca__faq-list { display: grid; grid-template-columns: 1fr; gap: 16px; max-width: 900px; margin: 0 auto; }
.page-ban-ca__faq-item { background-color: #11271B; border: 1px solid #2E7A4E; border-radius: 12px; padding: 22px 26px; }
.page-ban-ca__faq-question { font-size: 1.05rem; color: #57E38D; margin: 0 0 10px; }
.page-ban-ca__faq-answer { font-size: 0.95rem; color: #A7D9B8; margin: 0; }

/* ===== CTA ===== */
.page-ban-ca__cta-section { background: linear-gradient(180deg, #0A4B2C 0%, #08160F 100%); text-align: center; }
.page-ban-ca__cta-title { font-size: clamp(1.4rem, 3vw, 2rem); color: #F2C14E; margin: 0 0 16px; font-weight: 800; }
.page-ban-ca__cta-desc { color: #A7D9B8; font-size: 1.02rem; max-width: 700px; margin: 0 auto 28px; }

/* ===== Tablet ===== */
@media (max-width: 1024px) {
.page-ban-ca__features-grid { grid-template-columns: repeat(2, 1fr); }
.page-ban-ca__rooms-grid { grid-template-columns: repeat(2, 1fr); }
.page-ban-ca__guide-list { grid-template-columns: 1fr; }
}

/* ===== Mobile ===== */
@media (max-width: 768px) {
.page-ban-ca { max-width: 100%; overflow-x: hidden; }
.page-ban-ca img { max-width: 100% !important; height: auto !important; }
.page-ban-ca__hero-section { padding: 10px 14px 30px; }
.page-ban-ca__hero-image { margin-bottom: 18px; border-radius: 12px; }
.page-ban-ca__hero-title { font-size: 1.45rem; }
.page-ban-ca__hero-desc { font-size: 0.95rem; }
.page-ban-ca__hero-actions { flex-direction: column; align-items: stretch; }
.page-ban-ca__btn { width: 100%; max-width: 100%; padding: 13px 18px; font-size: 0.95rem; }
.page-ban-ca__intro-section,
.page-ban-ca__features-section,
.page-ban-ca__rooms-section,
.page-ban-ca__guide-section,
.page-ban-ca__promo-section,
.page-ban-ca__faq-section,
.page-ban-ca__cta-section { padding: 36px 0; }
.page-ban-ca__features-grid { grid-template-columns: 1fr; gap: 18px; }
.page-ban-ca__rooms-grid { grid-template-columns: 1fr; gap: 18px; }
.page-ban-ca__guide-list { grid-template-columns: 1fr; gap: 16px; }
.page-ban-ca__faq-item { padding: 18px; }
.page-ban-ca__promo-actions { flex-direction: column; align-items: stretch; }
}

/* ===== Small Mobile ===== */
@media (max-width: 400px) {
.page-ban-ca__hero-title { font-size: 1.28rem; }
.page-ban-ca__section-title { font-size: 1.22rem; }
.page-ban-ca__feature-title,
.page-ban-ca__room-title,
.page-ban-ca__guide-title { font-size: 1rem; }
}