/*
* page-contact.css — Responsive structure
*
* Base        : structural / shared (colors, borders, display, position, etc.)
* < 640px     : phone
* >= 640px    : sm — small tablet (phone + minor upgrades)
* >= 768px    : md — tablet (overrides sm mobile values)
* >= 1024px   : lg — desktop (full desktop sizing)
*/

/* ===== Base (structural / shared — no sizing) ===== */
.contact-form-inner { background: #fff; border: 1px solid var(--theme-color-grey); }
.form-heading { text-align: center; font-weight: 900; color: var(--theme-color-blue); }
.form-label { display: block; font-weight: 700; color: #000; }
.required { color: var(--theme-color-red); margin-left: 4px; }
.form-input { width: 100%; border: 1px solid #bdbdbd; border-radius: 8px; }
.form-input::placeholder { color: var(--theme-color-grey); }
.form-textarea { width: 100%; border: 1px solid #bdbdbd; border-radius: 8px; resize: vertical; }
.form-textarea::placeholder { color: var(--theme-color-grey); }
.checkbox-grid { display: grid; }
.checkbox-grid .wpcf7-checkbox { display: contents; }
.checkbox-grid .wpcf7-list-item { margin: 0; }
.checkbox-grid .wpcf7-list-item label { display: flex; align-items: center; width: 100%; background: var(--theme-color-skyblue); border-radius: 8px; cursor: pointer; box-sizing: border-box; }
.checkbox-grid .wpcf7-list-item-label { font-weight: 700; color: #000; }
.form-submit { text-align: center; }
.submit-btn { background: var(--theme-color-orange); color: #fff; font-weight: 900; border: none; border-radius: 8px; cursor: pointer; }
.submit-btn:hover { opacity: .9; }

/* ===== Phone (< 640px) ===== */
@media (width < 640px) {
.contact-form { padding: 16px 0 64px; }
.contact-form-inner { max-width: 100%; margin: 0 auto; border-radius: 10px; padding: 28px 16px; }
.form-heading { margin: 0 0 24px; font-size: 18px; }
.form-group { margin-bottom: 22px; }
.form-label { margin-bottom: 8px; font-size: 13px; }
.form-input { height: 48px; padding: 0 14px; font-size: 14px; }
.form-textarea { min-height: 160px; padding: 14px; font-size: 14px; }
.checkbox-grid { grid-template-columns: 1fr; gap: 12px; }
.checkbox-grid .wpcf7-list-item label { gap: 10px; padding: 16px 14px; }
.checkbox-grid .wpcf7-list-item input { width: 18px; height: 18px; }
.checkbox-grid .wpcf7-list-item-label { font-size: 14px; }
.form-submit { margin-top: 32px; }
.submit-btn { width: 100%; padding: 18px 16px; font-size: 16px; }
}

/* ===== sm — small tablet (>= 640px) ===== */
@media (width >= 640px) {
.contact-form { padding: 16px 0 64px; }
.contact-form-inner { max-width: 100%; margin: 0 auto; border-radius: 10px; padding: 28px 16px; }
.form-heading { margin: 0 0 24px; font-size: 18px; }
.form-group { margin-bottom: 22px; }
.form-label { margin-bottom: 8px; font-size: 13px; }
.form-input { height: 48px; padding: 0 14px; font-size: 14px; }
.form-textarea { min-height: 160px; padding: 14px; font-size: 14px; }
.checkbox-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
.checkbox-grid .wpcf7-list-item label { gap: 10px; padding: 16px 14px; }
.checkbox-grid .wpcf7-list-item input { width: 18px; height: 18px; }
.checkbox-grid .wpcf7-list-item-label { font-size: 14px; }
.form-submit { margin-top: 32px; }
.submit-btn { width: 100%; padding: 18px 16px; font-size: 16px; }
}

/* ===== md — tablet (>= 768px) ===== */
@media (width >= 768px) {
.contact-form { padding: 16px 0 56px; }
.contact-form-inner { max-width: calc(100% - 48px); padding: 40px 32px; border-radius: 10px; }
.form-heading { margin: 0 0 28px; font-size: 20px; }
.form-group { margin-bottom: 24px; }
.form-label { margin-bottom: 8px; font-size: 14px; }
.form-input { height: 50px; padding: 0 14px; font-size: 14px; }
.form-textarea { min-height: 170px; padding: 14px; font-size: 14px; }
.checkbox-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
.checkbox-grid .wpcf7-list-item label { padding: 16px 16px; gap: 10px; }
.checkbox-grid .wpcf7-list-item input { width: 18px; height: 18px; }
.checkbox-grid .wpcf7-list-item-label { font-size: 14px; }
.form-submit { margin-top: 40px; }
.submit-btn { width: auto; padding: 18px 36px; font-size: 16px; }
}

/* ===== lg — desktop (>= 1024px) ===== */
@media (width >= 1024px) {
.contact-form { padding: 16px 0 64px; }
.contact-form-inner { max-width: 896px; margin: 0 auto; border-radius: 10px; padding: 56px 48px; }
.form-heading { margin: 0 0 32px; font-size: 22px; }
.form-group { margin-bottom: 28px; }
.form-label { margin-bottom: 8px; font-size: 14px; }
.form-input { height: 52px; padding: 0 16px; font-size: 14px; }
.form-textarea { min-height: 180px; padding: 16px; font-size: 14px; }
.checkbox-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
.checkbox-grid .wpcf7-list-item label { gap: 12px; padding: 18px 20px; }
.checkbox-grid .wpcf7-list-item input { width: 18px; height: 18px; }
.checkbox-grid .wpcf7-list-item-label { font-size: 14px; }
.form-submit { margin-top: 48px; }
.submit-btn { width: auto; padding: 18px 48px; font-size: 16px; }
}
