/* ============================================================
   FORMS.CSS - Pages contact + publish
   Charge avec global.css
   ============================================================ */

/* Variables pont */
:root {
  --primary-white: #FFFFFF;
  --primary-black: #1a1a1a;
  --primary-gold: #B9A189;
  --darker-gold: #A68B73;
  --light-gold: #E5D4C1;
}

/* ── SHARED FORM STYLES ───────────────────────────────────── */
.form-group { display: flex; flex-direction: column; margin-bottom: 1.8rem; }
.form-group label { font-weight: 600; margin-bottom: 0.5rem; color: var(--gold-dark, #8B7355); font-size: 0.95rem; }
.required { color: #dc3545; font-weight: 700; }

.form-control {
  width: 100%;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(185,161,137,0.35);
  font-family: 'Times New Roman', Times, serif;
  font-size: 0.95rem;
  transition: border-color var(--transition), box-shadow var(--transition);
  background: var(--white, #fff);
  color: var(--text, #3A2E22);
}
.form-control:focus {
  outline: none;
  border-color: var(--gold-dark, #8B7355);
  box-shadow: 0 0 0 3px rgba(185,161,137,0.15);
}
textarea.form-control { min-height: 150px; resize: vertical; }

.submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  width: 100%;
  padding: 1rem 2.5rem;
  background: var(--gold, #B9A189);
  color: var(--white, #fff);
  border: none;
  font-family: 'Times New Roman', Times, serif;
  font-weight: 500;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  cursor: pointer;
  transition: all var(--transition);
}
.submit-btn:hover:not(:disabled) {
  background: var(--gold-dark, #8B7355);
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}
.submit-btn:disabled { opacity: 0.6; cursor: not-allowed; }

.alert { padding: 1.2rem 1.5rem; margin-bottom: 2rem; font-size: 0.95rem; }
.alert-success { background: #d4edda; border: 1px solid #c3e6cb; color: #155724; }
.alert-error { background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; }
.alert strong { display: block; margin-bottom: 0.5rem; }


/* ============================================================
   CONTACT PAGE SPECIFIC
   ============================================================ */

/* ── Contact hero ── */
.contact-hero{position:relative;height:50vh;min-height:350px;max-height:500px;background:linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.6)),url('img/da.webp') center center/cover no-repeat;display:flex;align-items:flex-end;justify-content:center;text-align:center;padding:0 5% 3rem}
.contact-hero-content h1{font-size:clamp(1.6rem,4.5vw,2.5rem);color:var(--primary-white);margin-bottom:0.8rem;text-shadow:2px 2px 8px rgba(0,0,0,0.8);font-weight:600;letter-spacing:0.02em;display:flex;align-items:center;justify-content:center;gap:0.8rem;flex-wrap:wrap}
.contact-hero-content h1 i{font-size:clamp(1.4rem,4vw,2.2rem)}
.contact-hero-content p{font-size:clamp(0.9rem,2.5vw,1.1rem);color:rgba(255,255,255,0.95);margin:0;text-shadow:1px 1px 4px rgba(0,0,0,0.7)}
.contact-section{padding:4rem 6%;background:linear-gradient(135deg,#B9A189 0%,#E5D4C1 50%,#ffffff 100%)}
.contact-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
.section-title{font-size:clamp(1.5rem,3.5vw,2rem);margin-bottom:2rem;color:var(--primary-black);font-weight:700}
.contact-info{background:var(--primary-white);border:2px solid rgba(185,161,137,0.3);border-radius: 0;padding:2.5rem;box-shadow:0 8px 30px rgba(0,0,0,0.12)}
.info-item{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(185,161,137,0.2)}
.info-item:last-of-type{border-bottom:none}
.info-icon{font-size:2rem;color:var(--darker-gold);flex-shrink:0;margin-top:0.3rem}
.info-content h3{font-size:1.1rem;color:var(--darker-gold);margin-bottom:0.5rem;font-weight:700}
.info-content p{font-size:1rem;color:rgba(0,0,0,0.8);line-height:1.6;margin:0}
.info-content a{color:var(--darker-gold);text-decoration:none;font-weight:600;transition:color 0.3s ease}
.info-content a:hover{color:var(--primary-gold);text-decoration:underline}
.social-links{display:flex;gap:1rem;flex-wrap:wrap}
.social-link{width:45px;height:45px;background:linear-gradient(135deg,#B9A189,#C4AF9A);color:var(--primary-white);border-radius: 0;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:1.2rem;transition:all 0.3s ease;box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.social-link:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.25)}
.contact-form{background:var(--primary-white);border:2px solid rgba(185,161,137,0.3);border-radius: 0;padding:2.5rem;box-shadow:0 8px 30px rgba(0,0,0,0.12)}
.alert{padding:1.2rem 1.5rem;border-radius: 0;margin-bottom:2rem;font-size:0.95rem}
.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}
.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}
.alert strong{display:block;margin-bottom:0.5rem}
.form-group{margin-bottom:1.8rem}
.form-group label{display:block;font-size:1rem;color:var(--darker-gold);font-weight:600;margin-bottom:0.6rem}
.required{color:#dc3545}
.form-control{width:100%;padding:0.9rem 1.2rem;border:2px solid rgba(185,161,137,0.3);border-radius: 0;font-size:1rem;font-family:'Times New Roman',Times,serif;transition:all 0.3s ease;background:var(--primary-white)}
.form-control:focus{outline:none;border-color:var(--darker-gold);box-shadow:0 0 0 3px rgba(185,161,137,0.1)}
select.form-control{cursor:pointer}
textarea.form-control{min-height:150px;resize:vertical}
.phone-input-wrapper .form-control{padding-left:85px}
.submit-btn{width:100%;padding:1.2rem 2rem;background:linear-gradient(135deg,#B9A189,#C4AF9A);color:var(--primary-black);border:none;border-radius: 0;font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08rem;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(0,0,0,0.2);display:flex;align-items:center;justify-content:center;gap:0.8rem}
.submit-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.3)}
.submit-btn:disabled{opacity:0.6;cursor:not-allowed}
.map-section{width:100%;height:500px;border-top:3px solid rgba(185,161,137,0.3)}
.map-iframe{width:100%;height:100%;border:none;display:block}
@media (max-width:1024px){.contact-container{grid-template-columns:1fr;gap:3rem}
}
@media (max-width:768px){.contact-hero{height:40vh;min-height:300px;padding-bottom:2rem}
.contact-hero-content h1{font-size:1.4rem}
.contact-section{padding:3rem 5%}
.contact-container{gap:2rem}
.section-title{font-size:1.4rem}
.info-item{flex-direction:column;gap:1rem}
.info-icon{margin-top:0}
.map-section{height:350px}
}

/* ============================================================
   PUBLISH PAGE SPECIFIC
   ============================================================ */
.publish-hero{position:relative;height:40vh;min-height:300px;max-height:400px;background:linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.6)),url('img/offre.webp') center center/cover no-repeat;display:flex;align-items:flex-end;justify-content:center;text-align:center;padding:0 5% 3rem}
.hero-content h1{font-size:clamp(1.6rem,4vw,2.4rem);color:var(--primary-white);margin-bottom:0.6rem;text-shadow:2px 2px 8px rgba(0,0,0,0.8);font-weight:600;letter-spacing:0.02em}
.hero-content p{font-size:clamp(0.9rem,2.5vw,1.1rem);color:rgba(255,255,255,0.9);margin-bottom:0;text-shadow:1px 1px 4px rgba(0,0,0,0.7);font-weight:400}
.form-section{padding:4rem 6%;background:linear-gradient(135deg,#B9A189 0%,#E5D4C1 50%,#ffffff 100%)}
.form-container{max-width:1000px;margin:0 auto;background:var(--primary-white);border:2px solid rgba(185,161,137,0.3);border-radius: 0;padding:3rem clamp(1.5rem,4vw,4rem);box-shadow:0 8px 30px rgba(0,0,0,0.15)}
.section-title{font-size:clamp(1.4rem,3vw,1.8rem);color:var(--primary-black);margin-bottom:0.5rem;font-weight:700;border-bottom:2px solid rgba(185,161,137,0.3);padding-bottom:0.8rem;display:flex;align-items:center;gap:0.8rem}
.section-subtitle{color:rgba(0,0,0,0.6);margin-bottom:1.5rem;font-size:0.9rem;font-style:italic}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1.5rem}
.form-grid.full{grid-template-columns:1fr}
.form-group{display:flex;flex-direction:column}
.form-group label{font-weight:600;margin-bottom:0.5rem;color:var(--primary-black);font-size:0.95rem}
.required{color:#dc3545;font-weight:700}
.form-control{padding:0.9rem;border:2px solid rgba(185,161,137,0.3);font-family:'Times New Roman',Times,serif;font-size:0.95rem;transition:all 0.2s;background:var(--primary-white);border-radius: 0}
.form-control:focus{outline:none;border-color:var(--darker-gold);box-shadow:0 0 0 3px rgba(185,161,137,0.1)}
textarea.form-control{min-height:120px;resize:vertical}
.helper-text{font-size:0.82rem;color:rgba(0,0,0,0.6);margin-top:0.3rem;font-style:italic}
.alert{padding:1.2rem;margin-bottom:1.5rem;border-left:4px solid;font-size:0.95rem;border-radius: 0}
.alert-success{background:#d4edda;border-color:#28a745;color:#155724}
.alert-success h3{color:#155724;font-size:1.2rem;margin-bottom:0.5rem}
.alert-error{background:#f8d7da;border-color:#dc3545;color:#721c24}
.alert-error strong{display:block;margin-bottom:0.3rem}
.info-box{background:rgba(185,161,137,0.08);border-left:4px solid var(--darker-gold);padding:1.2rem;margin-bottom:1.5rem;color:rgba(0,0,0,0.8);font-size:0.9rem;border-radius: 0}
.info-box strong{color:var(--darker-gold)}
.form-divider{margin:2.5rem 0;border:0;border-top:2px solid rgba(185,161,137,0.2)}
.btn-map{display:inline-flex;align-items:center;gap:0.6rem;padding:0.8rem 1.5rem;background:linear-gradient(135deg,#B9A189,#C4AF9A);color:var(--primary-black);border:none;font-weight:600;font-size:0.9rem;cursor:pointer;transition:all 0.3s;margin-top:0.5rem;margin-right:0.8rem;border-radius: 0;text-transform:uppercase;letter-spacing:0.05rem}
.btn-map:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(185,161,137,0.4)}
.submit-btn{padding:1.2rem 2.5rem;background:linear-gradient(135deg,#333,#555);color:var(--primary-white);border:none;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:0.1rem;cursor:pointer;transition:all 0.3s;width:100%;border-radius: 0;box-shadow:0 4px 15px rgba(0,0,0,0.2)}
.submit-btn:hover{background:linear-gradient(135deg,#A68B73,#B9A189);transform:translateY(-3px);box-shadow:0 6px 20px rgba(185,161,137,0.4)}
.submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}
#mapPickerModal{margin-top:1.5rem;border:2px solid rgba(185,161,137,0.3);padding:1.5rem;background:var(--primary-white);border-radius: 0;box-shadow:0 4px 15px rgba(0,0,0,0.08)}
#mapPicker{height:450px;width:100%;border:2px solid rgba(185,161,137,0.3);border-radius: 0;z-index:1}
.leaflet-container{cursor:crosshair!important}
.map-info{margin-top:1rem;padding:1rem;background:rgba(185,161,137,0.08);border-left:3px solid var(--darker-gold);font-size:0.88rem;color:rgba(0,0,0,0.75);border-radius: 0}
.drop-zone{border:2px dashed rgba(185,161,137,0.4);background:rgba(185,161,137,0.05);padding:2rem;text-align:center;margin-top:1rem;cursor:pointer;transition:all 0.3s;border-radius: 0}
.drop-zone:hover,.drop-zone.drag-over{border-color:var(--darker-gold);background:rgba(185,161,137,0.15)}
.drop-zone i{font-size:2.5rem;color:var(--darker-gold);display:block;margin-bottom:0.8rem}
.drop-zone p{color:rgba(0,0,0,0.7);font-size:0.9rem;margin:0}
.image-preview,.images-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem}
.preview-item{position:relative;border:2px solid rgba(185,161,137,0.3);overflow:hidden;aspect-ratio:1;border-radius: 0;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.preview-item img{width:100%;height:100%;object-fit:cover}
.preview-remove{position:absolute;top:5px;right:5px;width:28px;height:28px;background:rgba(220,53,69,0.95);color:white;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;border-radius: 0;font-weight:700;transition:all 0.2s}
.preview-remove:hover{background:#dc3545;transform:scale(1.1)}
.amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1.2rem}
.amenity-item{position:relative;display:flex;align-items:center;padding:1rem;border:2px solid rgba(185,161,137,0.3);background:var(--primary-white);cursor:pointer;transition:all 0.3s;border-radius: 0}
.amenity-item:hover{background:rgba(185,161,137,0.08);border-color:var(--darker-gold);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1)}
.amenity-item input[type="checkbox"]{position:absolute;opacity:0;cursor:pointer}
.amenity-item input[type="checkbox"]:checked+.amenity-content{color:var(--darker-gold);font-weight:700}
.amenity-item input[type="checkbox"]:checked+.amenity-content::after{content:'\2713';position:absolute;right:1rem;font-size:1.3rem;color:var(--darker-gold);font-weight:700}
.amenity-item input[type="checkbox"]:checked~.amenity-icon{color:var(--darker-gold)}
.amenity-icon{font-size:1.3rem;margin-right:1rem;color:rgba(0,0,0,0.5);transition:all 0.3s;flex-shrink:0}
.amenity-content{flex:1;position:relative;font-size:0.92rem;color:var(--primary-black)}
.terrain-only{display:none}
.amenities-section{display:block}
.amenities-section.hidden{display:none}
@media (max-width:768px){.publish-hero{height:35vh;min-height:250px;padding-bottom:2rem}
.hero-content h1{font-size:1.4rem}
.hero-content p{font-size:0.85rem}
.form-container{padding:2rem 1.5rem}
.form-grid{grid-template-columns:1fr}
.amenities-grid{grid-template-columns:1fr}
#mapPicker{height:350px}
.btn-map{display:block;width:100%;margin-bottom:0.8rem;justify-content:center}
.section-title{font-size:1.3rem}
}
