/* Note: FontAwesome imported via index.php */
body { margin: 0; padding: 0; background-color: #F2F1F1; color: #333; }
#ja-wrapper { background: #eff3f7; }
a { text-decoration: none; color: #2476bb; }
.clearfix::after { clear: both; content: " "; display: block; height: 0; overflow: hidden; visibility: hidden; }

/* --- Layout --- */
.offers-wrapper { margin-top: -15px; margin-bottom: 20px; font-family: "Noto Sans", sans-serif; }
.offers-wrapper .content-wrapper, .fixed-width-row { margin: 0 auto; max-width: 1160px; width: 100%; }
.wrapper-beetle .theme-beetle .bs-banner-section { background: #f8f8f8; }
.bs-banner-section img { width: 100%; height: 100%; display: block; }

/* --- Detail Box --- */
.details-box { background-color: #fff; border: 1px solid #d4d4d4; border-radius: 2px; box-shadow: 0 0 4px 0 #d4d4d4; margin-top: 23px; margin-bottom: 20px; }
.details-left .details-box h3 { background: #fafafa; border-bottom: 1px solid #e1e1e1; color: #333; font-size: 24px; padding: 15px; margin: 0; font-weight: normal; }
.details-box .content { padding: 15px; color: #666; line-height: 22px; }

/* --- Product Option --- */
.pro-option { background: #fff; padding: 15px; margin-bottom: 25px; }
.sec-pro-opt { transition: all .2s ease; border-radius: 5px !important; border: 0 !important; box-shadow: 0 1px 4px rgba(0,0,0,0.1); }
.sec-pro-opt:hover { transform: translateY(-4px); box-shadow: 0 4px 12px 0 rgba(0,0,0,0.12) !important; }
.icon-number { background: #fff; width: 42px; height: 42px; text-align: center; border-radius: 24px; padding: 10px 0; color: #33336a; font-weight: bold; font-size: 14px; display: inline-block; margin-right: 10px; }

/* --- Prices & Buttons --- */
.opt-title .price-sec strong { font-size: 24px; font-weight: bold; color: #d41200; }
.book-now { text-align: center; background: #d00707; border-bottom: 1px solid #e1e1e1; color: #fff; font-size: 24px; padding: 15px; display: block; }
.book-now:hover { background-color: #2476bb; color: #eff7ff; }
.cta, a.cta { background-color: #026dc5; border: 1px solid #026dc5; border-radius: 2px; color: #fff; padding: 6px 16px; font-weight: bold; }

/* --- Tables --- */
table.attraction-chart { width: 100%; text-align: center; margin: 15px 0; border: 1px solid #ebedec; border-collapse: collapse; }
table.attraction-chart th, table.attraction-chart td { border: 1px solid #ebedec; padding: 1em; }
table.attraction-chart th { background: #f9f9f9; font-weight: 300; font-size: 1.2em; }
.custom-note-blue { background-color: #f0f6f9; padding: 20px; border-radius: 2px; }
.custom-note-yellow { background-color: #fffae5; padding: 20px; border-radius: 2px; }

/* --- Promotion Table --- */
.promotion-table { width: 100%; font-size: 1.375rem; text-align: left; background: #fff; }
.promotion-table thead th { border-bottom: 1px solid #6e2d91; padding: 6px 10px; font-size: 1.5rem; }
.promotion-table td { padding: 10px; vertical-align: middle; }
.duration-box { float: left; width: 50%; padding: 20px; background: #fff; box-shadow: 0 0 4px #d4d4d4; text-align: center; }
.duration-box-date { font-size: 2rem; }

/* --- Responsive --- */
@media (max-width: 1024px) {
    .fixed-width-row { width: 100%; }
    .opt-title .price-sec.mobile-view { display: block; }
    .opt-title a.buybtn { display: none; }
}
@media (max-width: 979px) {
    .fixed-width-row { width: 100%; }
    .offers-wrapper .dot-list.checkout-list li { width: 50%; }
    .viewport .desc-box { overflow-x: auto; }
}
@media (max-width: 767px) {
    .opt-title a { float: left; margin-top: 10px; }
    .new-thumb-sec .left-por > ul { width: 60%; }
}
@media (max-width: 480px) {
    .viewport .bs-CommonOffer .package { width: 100%; }
}

/* --- Offer Specific Styles --- */
.custom-note-blue { background-color: #f0f6f9; padding: 10px; border-radius: 2px; border-left: 4px solid #2476bb; margin-bottom: 10px; font-size: 13px; }
.custom-note-yellow { background-color: #fffae5; padding: 10px; border-radius: 2px; border-left: 4px solid #fbc02d; margin-bottom: 10px; font-size: 13px; }

/* Listing View */
.blog-item { border-bottom: 1px solid #eee; padding: 20px 0; display: flex; }
.blog-item .pull-left { width: 25%; margin-right: 20px; }
.blog-item .item-image img { width: 100%; border-radius: 4px; }
.blog-item .item-content { flex: 1; }
.blog-item .price-box { float: right; text-align: right; min-width: 120px; }
.blog-item .price { font-size: 24px; font-weight: bold; color: #d22100; display: block; }

/* Responsive Listing */
@media (max-width: 767px) {
    .blog-item { flex-direction: column; }
    .blog-item .pull-left { width: 100%; margin-bottom: 15px; }
    .blog-item .price-box { float: none; text-align: left; margin-top: 10px; }
}