/* ===== GMR RESIDENCY PROGRAM — FRONTEND CSS ===== */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500&display=swap');

.gmr-page, .gmr-page *, .gmr-nav, .gmr-nav *,
.gmr-apply-wrap, .gmr-apply-wrap *,
.gmr-artist-single, .gmr-artist-single *,
.gmr-project-single, .gmr-project-single * { font-family: 'Roboto', sans-serif !important; }

/* Navigation - dropdown on all screens */
.gmr-nav { background: #ffffff !important; border-bottom: 1px solid #e0e0e0; padding: 0; position: sticky; top: 0; z-index: 1000; }
.gmr-nav-toggle { display: block; }
.gmr-nav-links { list-style: none; margin: 0; padding: 0; display: none; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-top: 1px solid #e0e0e0; z-index: 999; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
.gmr-nav-links.gmr-nav-open { display: flex !important; }
.gmr-nav-links li a { display: block; padding: 14px 24px; font-size: 13px; font-weight: 300; letter-spacing: 1px; text-transform: uppercase; color: #555; text-decoration: none; border-bottom: 1px solid #f0f0f0; transition: color 0.2s, background 0.2s; }
.gmr-nav-links li a:hover { color: #1a1a1a; background: #f9f7f3; }
.gmr-nav-links li:last-child a { color: #e63946; }
.gmr-nav-links li:last-child a:hover { background: #fef2f2; }

/* Form */
.gmr-apply-wrap { max-width: 800px; margin: 40px auto; padding: 0 20px; }
.gmr-apply-header { text-align: center; margin-bottom: 40px; }
.gmr-apply-header h1 { font-weight: 100; font-size: 36px; color: #1a1a1a; margin: 0 0 12px; }
.gmr-apply-header p { font-weight: 300; font-size: 15px; color: #666; line-height: 1.6; }
.gmr-form-section { margin-bottom: 40px; padding-bottom: 30px; }
.gmr-form-section h2 { font-size: 13px; font-weight: 400; letter-spacing: 3px; text-transform: uppercase; color: #8c6b2f; margin: 0 0 20px; }
.gmr-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
@media (max-width: 600px) { .gmr-form-row { grid-template-columns: 1fr; } }
.gmr-form-field { margin-bottom: 16px; }
.gmr-form-field label { display: block; font-size: 12px; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; color: #555; margin-bottom: 6px; }
.gmr-form-field input[type="text"], .gmr-form-field input[type="email"], .gmr-form-field input[type="url"], .gmr-form-field select, .gmr-form-field textarea {
    width: 100%; padding: 12px 14px; border: 1px solid #ddd; border-radius: 4px; font-weight: 300; font-size: 15px; color: #1a1a1a; background: #fff; transition: border-color 0.2s; outline: none;
}
.gmr-form-field input:focus, .gmr-form-field select:focus, .gmr-form-field textarea:focus { border-color: #c4a265; }
.gmr-form-field textarea { resize: vertical; min-height: 100px; }
.gmr-form-field input[type="file"] { font-size: 14px; font-weight: 300; color: #555; padding: 8px 0; }
.gmr-consent label { font-size: 13px; font-weight: 300; color: #555; display: flex; gap: 10px; align-items: flex-start; line-height: 1.6; text-transform: none; letter-spacing: 0; }
.gmr-consent a { color: #e63946; }
.gmr-payment-notice { background: #f9f6f0; border: 1px solid #e8e0d0; border-radius: 8px; padding: 20px; margin-bottom: 30px; text-align: center; }
.gmr-form-submit { text-align: center; margin-top: 30px; }
.gmr-btn-submit { display: inline-block; padding: 16px 48px; background: #1a1a1a; color: #fff; border: none; border-radius: 4px; font-size: 13px; font-weight: 400; text-transform: uppercase; letter-spacing: 2px; cursor: pointer; transition: background 0.3s; }
.gmr-btn-submit:hover { background: #333; }
.gmr-btn-submit:disabled { background: #ccc; cursor: not-allowed; }
.gmr-form-status { margin-top: 16px; font-size: 15px; font-weight: 300; }
.gmr-form-status.success { color: #2e7d32; }
.gmr-form-status.error { color: #c62828; }
.gmr-form-status.loading { color: #8c6b2f; }

/* Pages */
.gmr-page { min-height: 300px; background: #ffffff; }

/* FAQ */
.gmr-faq-item.gmr-faq-open .gmr-faq-a { max-height: 300px; }
.gmr-faq-item.gmr-faq-open .gmr-faq-toggle { transform: rotate(45deg); }
.gmr-faq-q:hover span:first-child { color: #8c6b2f; }

/* Location pages */
.gmr-loc-hero { transition: opacity 0.5s; }
@media (max-width: 768px) { .gmr-loc-hero { min-height: 50vh !important; } .gmr-loc-hero > div:last-child { padding: 30px 20px !important; } }

/* Artist & Project */
.gmr-artist-single img { border-radius: 8px; }
@media (max-width: 768px) { .gmr-artist-single > div > div:first-child { flex: auto !important; width: 100%; text-align: center; } }
.gmr-project-single .wp-block-embed { margin: 30px 0; }
.gmr-project-single iframe { border-radius: 8px; }
