/* ============================================================
   Fórmula Médica Cannabis — Estilos landing + formulario médico
   ============================================================ */
:root {
  --fc-navy:   #0f2044;
  --fc-navy2:  #1a3366;
  --fc-green:  #1e6b45;
  --fc-green2: #28a36a;
  --fc-mint:   #e8f5ed;
  --fc-gold:   #c49a3c;
  --fc-light:  #f4f6fa;
  --fc-white:  #ffffff;
  --fc-text:   #1a1a2e;
  --fc-muted:  #5a6a8a;
  --fc-border: #d0d7e8;
  --fc-red:    #c0392b;
}
.fc-landing-wrap { font-family:'Segoe UI',Arial,sans-serif; color:var(--fc-text); }
.fc-landing-wrap * { box-sizing:border-box; }
.fcl-hero { background:linear-gradient(135deg,var(--fc-navy) 0%,var(--fc-navy2) 60%,#0d3d2a 100%); padding:80px 24px; text-align:center; position:relative; overflow:hidden; }
.fcl-hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse at 70% 50%,rgba(30,107,69,0.2) 0%,transparent 60%); pointer-events:none; }
.fcl-hero-logo { width:80px; height:80px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,0.3); margin:0 auto 20px; display:block; }
.fcl-badge { display:inline-block; background:rgba(196,154,60,0.15); border:1px solid rgba(196,154,60,0.4); color:#e8c46a; padding:6px 18px; border-radius:50px; font-size:0.72rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:24px; }
.fcl-hero-title { font-size:clamp(2rem,5vw,3.5rem); font-weight:700; color:#fff; line-height:1.2; margin-bottom:18px; }
.fcl-hero-title em { font-style:normal; color:#6dd4a0; }
.fcl-hero-sub { color:rgba(255,255,255,0.65); font-size:1rem; max-width:500px; margin:0 auto 36px; line-height:1.7; }
.fcl-hero-btn { display:inline-block; background:linear-gradient(135deg,var(--fc-green2),var(--fc-green)); color:#fff; padding:16px 36px; border-radius:50px; font-size:1rem; font-weight:700; text-decoration:none; box-shadow:0 8px 28px rgba(30,107,69,0.4); transition:all 0.2s; }
.fcl-hero-btn:hover { transform:translateY(-2px); }
.fcl-trust-row { display:flex; gap:24px; justify-content:center; flex-wrap:wrap; margin-top:32px; }
.fcl-trust-row span { color:rgba(255,255,255,0.6); font-size:0.8rem; }
.fcl-steps { background:var(--fc-navy); padding:64px 24px; text-align:center; }
.fcl-section-label { font-size:0.68rem; color:var(--fc-gold); font-weight:700; letter-spacing:3px; text-transform:uppercase; margin-bottom:10px; }
.fcl-section-title { font-size:1.8rem; font-weight:700; color:#fff; margin-bottom:40px; }
.fcl-steps-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; max-width:900px; margin:0 auto; }
.fcl-step { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); border-radius:14px; padding:28px 20px; }
.fcl-step-num { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--fc-green2),var(--fc-green)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.1rem; margin:0 auto 14px; }
.fcl-step h4 { color:#fff; font-size:0.95rem; margin-bottom:8px; }
.fcl-step p { color:rgba(255,255,255,0.5); font-size:0.82rem; line-height:1.6; }
.fcl-doctors { background:var(--fc-white); padding:64px 24px; text-align:center; }
.fcl-doctors .fcl-section-title { color:var(--fc-text); margin-bottom:36px; }
.fcl-doctors-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; max-width:800px; margin:0 auto; }
.fcl-doctor-card { background:var(--fc-white); border:2px solid var(--fc-border); border-radius:16px; padding:24px; cursor:pointer; transition:all 0.2s; text-align:left; }
.fcl-doctor-card:hover { transform:translateY(-3px); box-shadow:0 8px 28px rgba(15,32,68,0.1); }
.fcl-doctor-card.fcl-selected { border-color:var(--fc-green2); box-shadow:0 0 0 3px rgba(40,163,106,0.2); }
.fcl-doctor-top { display:flex; gap:14px; align-items:flex-start; margin-bottom:16px; }
.fcl-doctor-avatar { width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,var(--fc-navy),var(--fc-navy2)); display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.fcl-doctor-info h3 { font-size:0.95rem; font-weight:700; color:var(--fc-text); margin-bottom:4px; }
.fcl-doctor-info p { font-size:0.75rem; color:var(--fc-muted); line-height:1.5; }
.fcl-doctor-btn { width:100%; padding:9px; background:var(--fc-mint); color:var(--fc-green); border:1.5px solid var(--fc-green2); border-radius:8px; font-size:0.82rem; font-weight:600; cursor:pointer; transition:all 0.2s; }
.fcl-doctor-btn:hover,.fcl-doctor-card.fcl-selected .fcl-doctor-btn { background:var(--fc-green); color:#fff; }
.fcl-booking { background:var(--fc-light); padding:64px 24px; }
.fcl-booking .fcl-section-title { color:var(--fc-text); margin-bottom:36px; }
.fcl-booking-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; max-width:960px; margin:0 auto; }
.fcl-cal-wrap { background:#fff; border-radius:14px; padding:22px; border:1px solid var(--fc-border); }
.fcl-cal-nav { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.fcl-cal-arrow { background:none; border:1.5px solid var(--fc-border); width:34px; height:34px; border-radius:8px; cursor:pointer; font-size:1.1rem; transition:all 0.15s; }
.fcl-cal-arrow:hover { background:var(--fc-navy); color:#fff; border-color:var(--fc-navy); }
.fcl-cal-month { font-weight:700; font-size:1rem; color:var(--fc-text); }
.fcl-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center; }
.fcl-cal-dayname { font-size:0.62rem; font-weight:700; color:var(--fc-muted); text-transform:uppercase; padding:4px 0; letter-spacing:0.5px; }
.fcl-cal-day { aspect-ratio:1; display:flex; align-items:center; justify-content:center; border-radius:8px; font-size:0.85rem; cursor:pointer; transition:all 0.15s; color:var(--fc-text); }
.fcl-cal-day:hover:not(.fcl-disabled):not(.fcl-empty) { background:var(--fc-mint); color:var(--fc-green); }
.fcl-cal-day.fcl-today { font-weight:700; border:1.5px solid var(--fc-green2); color:var(--fc-green); }
.fcl-cal-day.fcl-selected { background:var(--fc-green); color:#fff; font-weight:700; }
.fcl-cal-day.fcl-disabled { color:var(--fc-border); cursor:not-allowed; }
.fcl-cal-day.fcl-empty { cursor:default; }
.fcl-slots-wrap { margin-top:18px; }
.fcl-slots-label { font-size:0.72rem; font-weight:700; color:var(--fc-muted); text-transform:uppercase; letter-spacing:1px; margin-bottom:10px; }
.fcl-slots-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.fcl-slot { background:#fff; border:1.5px solid var(--fc-border); padding:8px 4px; border-radius:8px; text-align:center; font-size:0.82rem; cursor:pointer; transition:all 0.15s; }
.fcl-slot:hover:not(.fcl-slot-taken) { border-color:var(--fc-green2); color:var(--fc-green); background:var(--fc-mint); }
.fcl-slot.fcl-selected { background:var(--fc-green); color:#fff; border-color:var(--fc-green); font-weight:600; }
.fcl-slot.fcl-slot-taken { background:#f0f0f0; color:var(--fc-border); cursor:not-allowed; text-decoration:line-through; }
.fcl-form-panel { display:flex; flex-direction:column; gap:16px; }
.fcl-summary { background:var(--fc-navy); border-radius:12px; padding:18px 20px; color:#fff; font-size:0.85rem; }
.fcl-summary h4 { font-size:0.95rem; margin-bottom:10px; color:#6dd4a0; }
.fcl-summary-row { display:flex; justify-content:space-between; margin-bottom:6px; }
.fcl-summary-row span:first-child { color:rgba(255,255,255,0.6); }
.fcl-summary-row span:last-child { font-weight:600; }
.fcl-form-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fcl-field { display:flex; flex-direction:column; gap:5px; }
.fcl-field label { font-size:0.72rem; font-weight:700; color:var(--fc-muted); text-transform:uppercase; letter-spacing:0.5px; }
.fcl-req { color:var(--fc-red); }
.fcl-field input,.fcl-field select,.fcl-field textarea { padding:10px 14px; border:1.5px solid var(--fc-border); border-radius:9px; font-size:0.9rem; background:#fff; color:var(--fc-text); outline:none; transition:border-color 0.2s; width:100%; font-family:inherit; }
.fcl-field input:focus,.fcl-field select:focus,.fcl-field textarea:focus { border-color:var(--fc-green2); }
.fcl-field textarea { resize:vertical; min-height:80px; }
.fcl-consent { background:var(--fc-mint); border-radius:10px; padding:14px 16px; display:flex; gap:10px; align-items:flex-start; font-size:0.78rem; color:var(--fc-muted); line-height:1.5; }
.fcl-consent input { margin-top:2px; flex-shrink:0; }
.fcl-submit-btn { background:linear-gradient(135deg,var(--fc-green2),var(--fc-green)); color:#fff; border:none; padding:15px; border-radius:12px; font-size:0.95rem; font-weight:700; cursor:pointer; width:100%; transition:all 0.2s; box-shadow:0 4px 16px rgba(30,107,69,0.3); font-family:inherit; }
.fcl-submit-btn:hover { transform:translateY(-1px); }
.fcl-submit-btn:disabled { opacity:0.5; cursor:not-allowed; transform:none; }
.fcl-alert { padding:12px 16px; border-radius:8px; font-size:0.85rem; margin-bottom:14px; }
.fcl-alert-error   { background:#fde8e8; border:1.5px solid #f5b8b8; color:var(--fc-red); }
.fcl-alert-success { background:var(--fc-mint); border:1.5px solid #9fd4b6; color:var(--fc-green); }
.fcl-legal { background:var(--fc-mint); padding:48px 24px; text-align:center; }
.fcl-legal-title { font-size:1.2rem; font-weight:700; color:var(--fc-text); margin-bottom:10px; }
.fcl-legal-text { color:var(--fc-muted); font-size:0.85rem; max-width:560px; margin:0 auto 20px; }
.fcl-legal-badges { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.fcl-badge-item { background:#fff; border:1.5px solid rgba(30,107,69,0.25); border-radius:50px; padding:7px 16px; font-size:0.75rem; font-weight:600; color:var(--fc-green); }
.fcl-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:9999; display:flex; align-items:center; justify-content:center; padding:20px; }
.fcl-modal { background:#fff; border-radius:20px; padding:40px 36px; text-align:center; max-width:440px; width:100%; box-shadow:0 24px 60px rgba(0,0,0,0.3); }
.fcl-modal-icon { font-size:3.5rem; margin-bottom:14px; }
.fcl-modal h2 { color:var(--fc-text); font-size:1.4rem; margin-bottom:10px; }
.fcl-modal p { color:var(--fc-muted); font-size:0.88rem; line-height:1.6; margin-bottom:20px; }
.fcl-modal-detail { background:var(--fc-mint); border-radius:10px; padding:14px; font-size:0.85rem; color:var(--fc-green); font-weight:500; margin-bottom:20px; }
.fcl-modal-close { background:var(--fc-navy); color:#fff; border:none; padding:12px 28px; border-radius:50px; font-size:0.88rem; font-weight:600; cursor:pointer; font-family:inherit; }
.fc-body { font-family:'Segoe UI',Arial,sans-serif; background:var(--fc-light); color:var(--fc-text); min-height:100vh; }
.fc-header { background:linear-gradient(135deg,var(--fc-navy),var(--fc-navy2)); color:#fff; padding:16px 28px; display:flex; align-items:center; gap:16px; box-shadow:0 3px 12px rgba(0,0,0,0.2); }
.fc-logo { width:56px; height:56px; border-radius:50%; border:2px solid rgba(255,255,255,0.4); object-fit:cover; }
.fc-header h1 { font-size:1.05rem; font-weight:700; }
.fc-header p  { font-size:0.72rem; opacity:0.7; margin-top:2px; }
.fc-doctor-badge { margin-left:auto; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); border-radius:8px; padding:8px 16px; text-align:right; font-size:0.78rem; }
.fc-doctor-badge strong { display:block; color:#6dd4a0; }
.fc-doctor-badge span   { opacity:0.6; font-size:0.7rem; }
.fc-container { max-width:980px; margin:24px auto; padding:0 16px; }
.fc-datetime  { background:#fff; border-radius:8px; padding:10px 16px; margin-bottom:16px; font-size:0.82rem; color:var(--fc-muted); border:1px solid var(--fc-border); }
.fc-alert     { padding:12px 16px; border-radius:8px; font-size:0.86rem; margin-bottom:14px; }
.fc-alert-error   { background:#fde8e8; border:1.5px solid #f5b8b8; color:var(--fc-red); }
.fc-alert-success { background:var(--fc-mint); border:1.5px solid #9fd4b6; color:var(--fc-green); }
.fc-alert-info    { background:#eef2ff; border:1.5px solid #b8c4f5; color:var(--fc-navy); }
.fc-card { background:#fff; border-radius:12px; border:1px solid var(--fc-border); margin-bottom:18px; overflow:hidden; box-shadow:0 2px 8px rgba(26,46,90,0.06); }
.fc-card-header { background:var(--fc-navy); color:#fff; padding:11px 18px; font-weight:700; font-size:0.8rem; letter-spacing:0.8px; text-transform:uppercase; }
.fc-card-body   { padding:18px; }
.fc-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.fc-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin-bottom:12px; }
.fc-grid-4 { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:12px; margin-bottom:12px; }
.fc-span-2 { grid-column:span 2; }
.fc-field { display:flex; flex-direction:column; gap:4px; }
.fc-field label { font-size:0.7rem; font-weight:700; color:var(--fc-muted); text-transform:uppercase; letter-spacing:0.4px; }
.fc-req { color:var(--fc-red); }
.fc-field input,.fc-field select,.fc-field textarea { padding:8px 11px; border:1.5px solid var(--fc-border); border-radius:7px; font-size:0.86rem; color:var(--fc-text); background:#fafbff; outline:none; transition:border-color 0.2s; width:100%; font-family:inherit; }
.fc-field input:focus,.fc-field select:focus,.fc-field textarea:focus { border-color:var(--fc-navy); background:#fff; }
.fc-field textarea { resize:vertical; min-height:60px; }
.fc-table { width:100%; border-collapse:collapse; margin-top:10px; font-size:0.8rem; }
.fc-table th { background:var(--fc-navy); color:#fff; padding:8px 7px; font-size:0.7rem; font-weight:700; text-align:left; }
.fc-table td { padding:6px 5px; border-bottom:1px solid var(--fc-border); vertical-align:middle; }
.fc-table tr:last-child td { border-bottom:none; }
.fc-table input,.fc-table select { width:100%; padding:6px 7px; border:1.5px solid var(--fc-border); border-radius:6px; font-size:0.78rem; background:#fafbff; outline:none; font-family:inherit; }
.fc-table input:focus,.fc-table select:focus { border-color:var(--fc-green); background:#fff; }
.fc-btn-add { margin-top:10px; padding:7px 16px; background:var(--fc-mint); color:var(--fc-green); border:1.5px solid var(--fc-green2); border-radius:7px; font-size:0.82rem; font-weight:600; cursor:pointer; transition:all 0.2s; font-family:inherit; }
.fc-btn-add:hover { background:var(--fc-green); color:#fff; }
.fc-btn-del { padding:4px 8px; background:#fde8e8; color:var(--fc-red); border:1.5px solid #f5b8b8; border-radius:5px; font-size:0.72rem; cursor:pointer; font-family:inherit; }
.fc-btn-del:hover { background:var(--fc-red); color:#fff; }
.fc-actions { display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; }
.fc-btn { padding:11px 24px; border-radius:9px; font-size:0.9rem; font-weight:700; cursor:pointer; border:none; transition:all 0.2s; font-family:inherit; }
.fc-btn-primary   { background:linear-gradient(135deg,var(--fc-navy),var(--fc-navy2)); color:#fff; }
.fc-btn-secondary { background:#fff; color:var(--fc-navy); border:2px solid var(--fc-navy); }
.fc-btn-success   { background:linear-gradient(135deg,var(--fc-green2),var(--fc-green)); color:#fff; box-shadow:0 4px 14px rgba(30,107,69,0.3); }
.fc-btn:hover     { transform:translateY(-1px); }
.fc-btn-secondary:hover { background:var(--fc-navy); color:#fff; }
@media(max-width:768px){ .fcl-booking-grid { grid-template-columns:1fr; } }
@media(max-width:640px){
  .fc-grid-2,.fc-grid-3,.fc-grid-4 { grid-template-columns:1fr; }
  .fc-span-2 { grid-column:span 1; }
  .fc-actions { flex-direction:column; }
  .fcl-slots-grid { grid-template-columns:repeat(2,1fr); }
  .fcl-form-grid2 { grid-template-columns:1fr; }
}

/* ── FIX COMPLETO PARA HOSTINGER ALL THEME ── */

/* ── FIX COMPLETO PARA HOSTINGER ALL THEME ── */

/* Ancho completo solo en home */
.home .entry-content,
.home .page-content,
.home article,
.home main {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Ocultar título de página en home */
.home h1.entry-title,
.home .page-header {
    display: none !important;
}

/* Landing ocupa todo el ancho disponible */
.fc-landing-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
}

/* Centrar sección booking */
.fcl-booking-grid {
    max-width: 960px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.fcl-booking > .fcl-section-label,
.fcl-booking > h2,
.fcl-booking > #fcl-alert {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    text-align: center;
}