/* ==========================================================================
   CSS CHO TRANG LIÊN HỆ & ĐẶT LỊCH (Đã Tối Ưu Responsive)
   ========================================================================== */

/* Thiết lập cơ bản cho mọi thiết bị */
.contact-page {
    padding: 60px 0; /* Tăng padding trên desktop */
    min-height: 80vh; 
    background-color: #ffffff; /* Nền trắng */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; /* Tăng padding ngang */
}

.page-title {
    /* Sử dụng font đã có: 'Cormorant Garamond' */
    font: 700 38px 'Cormorant Garamond', serif; 
    text-align: center;
    margin-bottom: 50px;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Bố cục 2 cột cho Desktop/Tablet ngang */
.contact-grid {
    display: flex;
    gap: 40px; /* Tăng khoảng cách giữa 2 cột */
}

.contact-info,
.contact-form {
    flex: 1; /* Chiếm đều không gian */
    padding: 30px; 
    background-color: #fcfcfc;
    border-radius: 10px;
    box-shadow: 0 8px 15px rgba(0,0,0,0.05); /* Bóng đổ tinh tế hơn */
}

.contact-info h2,
.contact-form h2 {
    font: 600 28px 'Cormorant Garamond', serif;
    margin-bottom: 25px;
    color: #A52A2A; /* Màu tiêu đề nổi bật hơn */
    border-bottom: 2px solid #f0e0e0;
    padding-bottom: 10px;
}

.contact-item {
    margin-bottom: 20px;
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    font-size: 17px;
}

.contact-item i {
    margin-right: 12px;
    color: #A52A2A; 
    font-size: 22px;
    margin-top: 3px;
}

.contact-note {
    font-style: italic;
    color: #777;
    margin-top: 20px;
}

.map-container {
    margin-top: 40px;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
}

.map-container iframe {
    display: block; 
}


/* Form Styling */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #333;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-sizing: border-box; 
    font-size: 16px;
    font-family: inherit;
    transition: all 0.3s ease;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: #A52A2A; 
    box-shadow: 0 0 5px rgba(165, 42, 42, 0.2);
    outline: none;
}

.form-group textarea {
    resize: vertical;
}

.submit-btn {
    background-color: #A52A2A; 
    color: white;
    padding: 15px 25px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    transition: background-color 0.3s ease;
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.submit-btn:hover {
    background-color: #8B1A1A; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}


/* ==========================================================================
   Responsive (Tương thích thiết bị)
   ========================================================================== */

/* Áp dụng khi màn hình nhỏ hơn hoặc bằng 992px (Chủ yếu là Tablet) */
@media (max-width: 992px) {
    .contact-page {
        padding: 40px 0;
    }

    .page-title {
        font-size: 32px;
        margin-bottom: 40px;
    }
    
    .contact-grid {
        /* Chuyển sang bố cục 1 cột */
        flex-direction: column;
        gap: 30px; 
    }

    .contact-info,
    .contact-form {
        flex: none; 
        width: 100%;
        padding: 25px;
    }
}


/* Áp dụng khi màn hình nhỏ hơn hoặc bằng 600px (Chủ yếu là Điện thoại) */
@media (max-width: 600px) {
    .contact-page {
        padding: 20px 0;
    }
    
    .page-title {
        font-size: 26px;
        margin-bottom: 25px;
    }

    .container {
        padding: 0 10px; /* Giảm padding ngang tối thiểu */
    }

    .contact-info h2,
    .contact-form h2 {
        font-size: 22px;
        margin-bottom: 15px;
    }

    .contact-info {
        padding: 20px;
    }
    
    .contact-item {
        font-size: 16px;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 10px 12px;
    }

    .submit-btn {
        font-size: 16px;
        padding: 12px 15px;
    }
}

/* Đảm bảo bản đồ chiếm 100% chiều rộng của khu vực chứa */
.map-container {
    width: 100%; /* Đảm bảo chiếm đủ chiều rộng */
    /* Giữ nguyên các thuộc tính khác... */
}

/* Áp dụng kỹ thuật Tỉ lệ khung hình cho iframe */
.map-container iframe {
    width: 100%; 
    height: 450px; /* Chiều cao cố định phù hợp, hoặc dùng padding-bottom để giữ tỉ lệ */
}

/* Tối ưu hóa cho Mobile */
@media (max-width: 600px) {
    .map-container iframe {
        height: 300px; /* Giảm chiều cao của bản đồ trên mobile để đỡ tốn diện tích */
    }
}

/* Điều chỉnh vị trí của các nút con khi mở */
.contact-fab-container.active .contact-fab-links a:nth-child(1) { 
    transform: translateY(-35px); 
}
.contact-fab-container.active .contact-fab-links a:nth-child(2) { 
    transform: translateY(-45px); /* Đã sửa: 75px + 75px = 150px */
}
.contact-fab-container.active .contact-fab-links a:nth-child(3) { 
    transform: translateY(-55px); /* Đã sửa: 75px + 75px + 75px = 225px */
}


/* Tối ưu hóa vị trí của các nút con khi mở */
/* Giả sử mỗi nút cao 55px, margin 10px */
.contact-fab-links a {
    /* Đặt tất cả nút con ra ngoài màn hình */
    position: absolute;
    bottom: 0;
    right: 0;
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55), opacity 0.2s ease;
}

.contact-fab-container.active .contact-fab-links a {
    opacity: 1;
}

/* Nút 1: Gọi Hotline (Dưới cùng) - Khoảng cách: 55px (nút chính) + 10px (margin) = 65px */
.contact-fab-container.active .contact-fab-links a:nth-child(3) { 
    transform: translateY(-65px); 
}
/* Nút 2: Messenger - Khoảng cách: 65px + 55px + 10px = 130px */
.contact-fab-container.active .contact-fab-links a:nth-child(2) { 
    transform: translateY(-130px); 
}
/* Nút 3: Zalo (Trên cùng) - Khoảng cách: 130px + 55px + 10px = 195px */
.contact-fab-container.active .contact-fab-links a:nth-child(1) { 
    transform: translateY(-195px); 
}

/* Thêm hiệu ứng cho icon */
.contact-fab-links a img {
    /* Đảm bảo ảnh icon không bị biến dạng và căn giữa */
    object-fit: contain;
    width: 45px; /* Giảm kích thước ảnh trong nút con một chút */
    height: 45px;
    margin-top: 5px; /* Căn giữa dọc */
}



/* --- Style cho trường chọn Ngày và Khung Giờ mới --- */
.form-group input[type="date"],
.form-group select {
    width: 100%;
    padding: 12px;
    border: 1px solid #333333;
    border-radius: 4px;
    background-color: #222222; /* Nền tối */
    color: #ffffff; /* Chữ trắng */
    font-size: 16px;
    box-sizing: border-box;
    /* Điều chỉnh icon cho date/select */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 30px; /* Tạo không gian cho mũi tên tùy chỉnh */
}

.form-group select {
    /* Thêm mũi tên tùy chỉnh để trông đẹp hơn */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M7 10l5 5 5-5z" fill="%23cccccc" /></svg>');
    background-repeat: no-repeat;
    background-position: right 10px top 50%;
    background-size: 18px;
}

/* Đảm bảo chữ trong các option cũng có màu sắc phù hợp */
.form-group select option {
    background-color: #222222; 
    color: #ffffff;
}

/* Màu cho icon Calendar trong input type="date" */
.form-group input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1); /* Đảo ngược màu icon để nó hiển thị màu trắng/sáng */
    cursor: pointer;
}