/* ADN Light 2026 — page-contacto.css
 * Generado desde mockup contacto.html (Sprint 3, 2026-05-24).
 * NO editar a mano, regenerar con adn-generate-page-templates-2026-05-24.php
 */


  .chero{padding:clamp(80px,10vw,140px) 0 clamp(40px,6vw,70px);background:var(--ink);
    color:#fff;position:relative;overflow:hidden;text-align:center}
  .chero::before{content:"";position:absolute;inset:0;
    background:radial-gradient(900px 500px at 50% 30%,rgba(245,186,66,.18),transparent 70%)}
  .chero .wrap{position:relative;z-index:2;max-width:780px}
  .chero .eyebrow{color:var(--amber);justify-content:center}
  .chero .eyebrow::before{background:var(--amber)}
  .chero h1{color:#fff;font-size:clamp(3rem,6vw,5rem);font-weight:800;
    margin:18px 0 22px;line-height:1.05}
  .chero h1 em{font-style:normal;font-family:'Kaushan Script',cursive;
    color:var(--amber);font-weight:400}
  .chero p{font-size:1.18rem;color:#dcd3c2;line-height:1.65}

  /* QUICK CONTACTS */
  .cquick{padding:0 0 clamp(40px,6vw,80px);background:var(--ink)}
  .cq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
    margin-top:-30px;position:relative;z-index:5;max-width:1080px;
    margin-left:auto;margin-right:auto;padding:0 26px}
  .cq{background:var(--paper);border-radius:18px;padding:24px;
    box-shadow:0 30px 60px -30px rgba(0,0,0,.4);text-align:center;
    transition:.32s var(--ease);text-decoration:none;display:flex;
    flex-direction:column;gap:8px;align-items:center;color:var(--ink)}
  .cq:hover{transform:translateY(-6px);
    box-shadow:0 40px 70px -28px rgba(245,186,66,.4);background:#fff}
  .cq .ic{width:48px;height:48px;border-radius:50%;background:var(--cream);
    color:var(--amber);display:grid;place-items:center;margin-bottom:6px;
    transition:.3s}
  .cq:hover .ic{background:var(--amber);color:var(--ink);transform:scale(1.1)}
  .cq .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
  .cq h3{font-family:var(--display);font-size:.92rem;font-weight:600;color:var(--ink)}
  .cq span{font-family:var(--body);font-size:.86rem;color:var(--text)}
  .cq.wa .ic{background:rgba(37,211,102,.15);color:#1ea451}
  .cq.wa:hover .ic{background:#25d366;color:#fff}

  /* MAIN: FORM + INFO */
  .cmain{padding:clamp(56px,8vw,90px) 0 clamp(72px,9vw,120px);background:var(--cream)}
  .cmain .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;
    max-width:1080px;align-items:start}
  .cform{background:var(--paper);border-radius:24px;padding:46px;
    border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(21,19,15,.15)}
  .cform h2{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}
  .cform h2 em{font-style:normal;color:var(--amber)}
  .cform .lead{color:var(--text);font-size:1rem;margin-bottom:30px}
  .formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .f-row{display:flex;flex-direction:column;gap:7px}
  .f-row.full{grid-column:span 2}
  .f-row label{font-family:var(--display);font-size:.84rem;font-weight:600;
    color:var(--ink);display:flex;justify-content:space-between;align-items:baseline}
  .f-row label small{font-family:var(--body);font-weight:400;font-size:.78rem;
    color:var(--muted)}
  .f-row input,.f-row textarea,.f-row select{padding:14px 18px;border:1.5px solid var(--line);
    border-radius:12px;background:var(--cream);font-family:var(--body);font-size:.96rem;
    color:var(--ink);outline:none;transition:.2s var(--ease);
    font-family:inherit}
  .f-row input:focus,.f-row textarea:focus,.f-row select:focus{
    border-color:var(--amber);background:#fff;
    box-shadow:0 0 0 4px rgba(245,186,66,.14)}
  .f-row textarea{resize:vertical;min-height:130px;font-family:var(--body)}
  .ftypes{display:flex;gap:8px;flex-wrap:wrap}
  .ftype{font-family:var(--display);font-weight:500;font-size:.86rem;
    background:var(--cream);border:1.5px solid var(--line);border-radius:100px;
    padding:9px 18px;cursor:pointer;transition:.18s var(--ease);color:var(--ink)}
  .ftype:hover{border-color:var(--amber);color:var(--amber)}
  .ftype.on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .check{display:flex;gap:10px;align-items:flex-start;font-family:var(--body);
    font-size:.86rem;color:var(--text);line-height:1.5;cursor:pointer}
  .check input{accent-color:var(--amber);margin-top:3px}
  .check a{color:var(--amber);text-decoration:underline;text-underline-offset:3px}
  .f-submit{display:flex;gap:14px;align-items:center;justify-content:space-between;
    flex-wrap:wrap;margin-top:8px}
  .f-submit .legal{font-family:var(--display);font-size:.74rem;color:var(--muted)}
  .cinfo{display:flex;flex-direction:column;gap:24px}
  .cinfo-card{background:var(--paper);border-radius:18px;padding:30px;
    border:1px solid var(--line);transition:.22s var(--ease)}
  .cinfo-card:hover{border-color:var(--amber);
    box-shadow:0 20px 40px -24px rgba(21,19,15,.18)}
  .cinfo-card h3{font-family:var(--display);font-size:1.05rem;font-weight:700;
    color:var(--ink);margin-bottom:14px;display:flex;align-items:center;gap:10px}
  .cinfo-card h3 svg{width:20px;height:20px;color:var(--amber);
    fill:none;stroke:currentColor;stroke-width:2}
  .cinfo-card .item{padding:8px 0;border-top:1px solid var(--line);
    display:flex;justify-content:space-between;gap:14px}
  .cinfo-card .item:first-of-type{border-top:none;padding-top:0}
  .cinfo-card .item dt{font-family:var(--display);font-size:.84rem;color:var(--muted)}
  .cinfo-card .item dd{font-family:var(--display);font-size:.92rem;color:var(--ink);
    font-weight:600;text-align:right}
  .cinfo-card .item dd a{color:var(--ink)}
  .cinfo-card .item dd a:hover{color:var(--amber)}

  /* MAP */
  .cmap{padding:0 0 clamp(56px,8vw,90px);background:var(--cream)}
  .cmap .wrap{max-width:1080px}
  .map-box{position:relative;border-radius:24px;overflow:hidden;
    aspect-ratio:2.4/1;background:var(--ink);
    box-shadow:0 40px 80px -36px rgba(21,19,15,.25)}
  .map-box iframe{position:absolute;inset:0;width:100%;height:100%;
    border:none;filter:invert(.92) hue-rotate(180deg) saturate(.4) brightness(.95)}
  .map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);
    z-index:3;font-family:var(--display);font-weight:600;color:#fff;
    background:rgba(21,19,15,.92);backdrop-filter:blur(10px);padding:10px 16px;
    border-radius:12px;border:1px solid var(--amber);font-size:.9rem;
    display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
  .map-pin::after{content:"";position:absolute;top:100%;left:50%;
    transform:translateX(-50%);border:8px solid transparent;
    border-top-color:rgba(21,19,15,.92)}
  .map-pin .dot{width:8px;height:8px;border-radius:50%;background:var(--amber);
    box-shadow:0 0 8px var(--amber);animation:bulbBreathe 3.5s ease-in-out infinite}

  @media(max-width:1080px){
    .cmain .wrap{grid-template-columns:1fr;gap:36px}
    .cq-grid{grid-template-columns:1fr 1fr;gap:12px}
    .formgrid{grid-template-columns:1fr}
    .f-row.full{grid-column:span 1}
    .map-box{aspect-ratio:1.4/1}
  }
  @media(max-width:720px){
    .cform{padding:30px 24px}
    .cq-grid{grid-template-columns:1fr}
  }

/* === CF7 overrides para que herede estilos .cform/.formgrid/.f-row del mockup (Sprint 4 feedback MA) === */
.cform .wpcf7,.cform .wpcf7-form{margin:0;padding:0}
.cform .wpcf7-form>p{margin:0}
.cform .wpcf7-form .formgrid{margin:0}
.cform .wpcf7-not-valid-tip{font-family:var(--body);font-size:.78rem;color:var(--red-500,#b91c1c);margin-top:4px}
.cform .wpcf7-response-output{margin:18px 0 0;padding:14px 18px;border-radius:12px;font-family:var(--body);font-size:.92rem;border:1.5px solid var(--line)}
.cform .wpcf7 form.invalid .wpcf7-response-output,.cform .wpcf7 form.unaccepted .wpcf7-response-output{border-color:var(--red-500,#b91c1c);background:var(--red-50,#fef2f2);color:var(--red-700,#7f1d1d)}
.cform .wpcf7 form.sent .wpcf7-response-output{border-color:var(--green-500,#15803d);background:var(--green-50,#f0fdf4);color:var(--green-700,#14532d)}
/* Inputs nativos CF7 dentro de .f-row se estilan via selector existente .f-row input/textarea */
.cform .wpcf7-form-control-wrap{display:block}
/* Radios -> chips estilo .ftype */
.cform .ftypes .wpcf7-radio,.cform .ftypes .wpcf7-form-control-wrap{display:contents}
.cform .ftypes .wpcf7-list-item{margin:0;display:inline-block}
.cform .ftypes .wpcf7-list-item input[type="radio"]{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.cform .ftypes .wpcf7-list-item-label{display:inline-block;font-family:var(--display);font-weight:500;font-size:.86rem;background:var(--cream);border:1.5px solid var(--line);border-radius:100px;padding:9px 18px;cursor:pointer;transition:.18s var(--ease);color:var(--ink);user-select:none}
.cform .ftypes .wpcf7-list-item-label:hover{border-color:var(--amber);color:var(--amber)}
.cform .ftypes .wpcf7-list-item input[type="radio"]:checked+.wpcf7-list-item-label{background:var(--ink);color:#fff;border-color:var(--ink)}
/* Acceptance checkbox */
.cform .f-row .check,.cform .wpcf7-acceptance{display:flex;align-items:flex-start;gap:10px;font-family:var(--body);font-size:.86rem;color:var(--text);line-height:1.5;cursor:pointer}
.cform .wpcf7-acceptance .wpcf7-list-item{margin:0;display:flex;gap:10px;align-items:flex-start}
.cform .wpcf7-acceptance input[type="checkbox"]{accent-color:var(--amber);margin-top:3px;width:18px;height:18px;flex-shrink:0}
.cform .wpcf7-acceptance .wpcf7-list-item-label{font-family:var(--body);font-weight:400;font-size:.86rem;color:var(--text);cursor:pointer}
/* File upload */
.cform .wpcf7-file{padding:14px 18px;border:1.5px dashed var(--line);border-radius:12px;background:transparent;cursor:pointer;width:100%}
.cform .wpcf7-file:hover{border-color:var(--amber)}
/* Submit */
.cform .f-submit{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:8px}
.cform .f-submit .legal{font-family:var(--display);font-size:.74rem;color:var(--muted)}
.cform .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--display);font-weight:600;font-size:.95rem;padding:14px 28px;border-radius:100px;background:var(--amber);color:var(--ink);border:1.5px solid var(--amber);cursor:pointer;transition:.22s var(--ease)}
.cform .wpcf7-submit:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}
.cform .wpcf7-spinner{margin-left:10px}
/* Fix overflow form contacto (Sprint 4 feedback MA: form encajado en layout) */
.cmain .wrap > *{min-width:0}
.cform,.cform .wpcf7,.cform .wpcf7-form,.cform .formgrid{min-width:0;max-width:100%}
.cform input,.cform textarea,.cform select,.cform .wpcf7-file{max-width:100%;width:100%;box-sizing:border-box}
.cform .wpcf7-form-control-wrap{max-width:100%;display:block}