.gcc-contact {
    --gcc-ink: var(--gc-ink, #172019);
    --gcc-olive: var(--gc-olive, #29372b);
    --gcc-cream: var(--gc-cream, #f2eddf);
    --gcc-sand: var(--gc-sand, #d7c59c);
    --gcc-white: var(--gc-white, #fffdf8);
    --gcc-border: var(--gc-border, rgba(23,32,25,.16));
    width: min(100%, 1080px);
    margin-inline: auto;
    padding: clamp(32px, 6vw, 76px);
    border: 1px solid var(--gcc-border);
    border-radius: 32px;
    background:
        radial-gradient(circle at 92% 8%, rgba(215,197,60,.16), transparent 20%),
        linear-gradient(145deg, rgba(242,237,223,.94), rgba(255,253,248,.98));
    box-shadow: 0 24px 80px rgba(23,32,25,.08);
}

.gcc-contact__header {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin-bottom: 46px;
}

.gcc-contact__eyebrow {
    margin: 0 0 22px;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(23,32,25,.58);
}

.gcc-contact h2 {
    display: block !important;
    width: 100% !important;
    max-width: none;
    margin: 0 !important;
    font-family: var(--gc-serif, Georgia, serif);
    font-size: clamp(3rem, 5vw, 4.9rem);
    font-weight: 400;
    line-height: .94;
    letter-spacing: -.035em;
    float: none !important;
    clear: both !important;
}


.gcc-contact__title-line {
    display: block;
}

.gcc-contact__title-line--top {
    white-space: nowrap;
}

.gcc-contact__title-line--bottom {
    margin-top: .03em;
}

.gcc-contact-page .gc-page-hero {
    padding-bottom: 58px;
}

.gcc-contact-page .gc-page-hero h1 {
    max-width: 12ch;
    font-size: clamp(3.1rem, 5.8vw, 5.4rem);
    line-height: 1;
}

.gcc-contact__header > p:last-child {
    display: block !important;
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    margin: 28px 0 0 !important;
    color: rgba(23,32,25,.68);
    font-size: 1.08rem;
    line-height: 1.65;
    float: none !important;
    clear: both !important;
}

.gcc-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.gcc-field {
    display: grid;
    gap: 9px;
}

.gcc-field > span {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(23,32,25,.68);
}

.gcc-field input,
.gcc-field select,
.gcc-field textarea {
    width: 100%;
    border: 1px solid rgba(23,32,25,.18);
    border-radius: 15px;
    background: rgba(255,253,248,.86);
    color: var(--gcc-ink);
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.gcc-field input,
.gcc-field select {
    min-height: 56px;
    padding: 0 16px;
}

.gcc-field textarea {
    min-height: 180px;
    padding: 16px;
    resize: vertical;
}

.gcc-field input:focus,
.gcc-field select:focus,
.gcc-field textarea:focus {
    border-color: var(--gcc-olive);
    background: var(--gcc-white);
    box-shadow: 0 0 0 4px rgba(41,55,43,.08);
}

.gcc-field--message {
    margin-top: 20px;
}


.gcc-human-check {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 132px;
    gap: 24px;
    align-items: center;
    margin-top: 20px;
    padding: 20px 22px;
    border: 1px solid rgba(23,32,25,.14);
    border-radius: 18px;
    background: rgba(255,253,248,.62);
}

.gcc-human-check__copy {
    display: grid;
    gap: 3px;
}

.gcc-human-check__copy strong {
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gcc-human-check__copy span {
    font-family: var(--gc-serif, Georgia, serif);
    font-size: 1.45rem;
    line-height: 1.2;
}

.gcc-human-check__copy small {
    color: rgba(23,32,25,.62);
    font-size: .84rem;
}

.gcc-human-check > input[type="number"] {
    width: 100%;
    min-height: 56px;
    padding: 0 14px;
    border: 1px solid rgba(23,32,25,.18);
    border-radius: 15px;
    background: rgba(255,253,248,.92);
    color: var(--gcc-ink);
    font: inherit;
    font-size: 1.05rem;
    outline: none;
}

.gcc-human-check > input[type="number"]:focus {
    border-color: var(--gcc-olive);
    box-shadow: 0 0 0 4px rgba(41,55,43,.08);
}

.gcc-consent {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 12px;
    align-items: start;
    margin: 24px 0;
    color: rgba(23,32,25,.7);
    font-size: .88rem;
    line-height: 1.55;
}

.gcc-consent input {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: var(--gcc-olive);
}

.gcc-consent a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.gcc-submit {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 58px;
    padding: 0 22px 0 26px;
    border: 0;
    border-radius: 999px;
    background: var(--gcc-olive);
    color: var(--gcc-white);
    font-weight: 700;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}

.gcc-submit:hover {
    transform: translateY(-2px);
    background: #1f2e24;
}

.gcc-submit span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
}

.gcc-contact__notice {
    padding: clamp(30px, 6vw, 64px);
    border-radius: 24px;
}

.gcc-contact__notice h2 {
    max-width: 820px;
    font-size: clamp(3rem, 6vw, 5.6rem);
}

.gcc-contact__notice > p:last-child {
    max-width: 680px;
    font-size: 1.08rem;
    color: rgba(23,32,25,.68);
}

.gcc-contact__notice--success {
    background: rgba(255,253,248,.72);
}

.gcc-contact__notice--error {
    margin-bottom: 24px;
    padding: 16px 18px;
    border: 1px solid rgba(151,61,46,.24);
    background: rgba(151,61,46,.08);
    color: #71382e;
}

.gcc-form__honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 980px) {
    .gcc-contact h2 {
        max-width: 11ch;
    }

    
.gcc-contact__title-line {
    display: block;
}

.gcc-contact__title-line--top {
    white-space: nowrap;
}

.gcc-contact__title-line--bottom {
    margin-top: .03em;
}

.gcc-contact-page .gc-page-hero {
    padding-bottom: 58px;
}

.gcc-contact-page .gc-page-hero h1 {
    max-width: 12ch;
    font-size: clamp(3.1rem, 5.8vw, 5.4rem);
    line-height: 1;
}

.gcc-contact__header > p:last-child {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    .gcc-contact {
        border-radius: 24px;
    }

    .gcc-form__grid,
    .gcc-human-check {
        grid-template-columns: 1fr;
    }

    .gcc-contact__eyebrow {
        margin-bottom: 16px;
    }

    .gcc-contact h2 {
        font-size: clamp(2.45rem, 12vw, 3.55rem);
    }

    .gcc-contact__title-line--top {
        white-space: normal;
    }

    .gcc-contact-page .gc-page-hero h1 {
        font-size: clamp(2.9rem, 13vw, 4.6rem);
    }
}


/* Validación detallada */
.gcc-field__error {
    display: block;
    margin-top: 2px;
    color: #9c3f34;
    font-size: .82rem;
    font-weight: 650;
    line-height: 1.45;
    letter-spacing: 0;
    text-transform: none;
}

.gcc-field.is-error input,
.gcc-field.is-error select,
.gcc-field.is-error textarea,
.gcc-human-check.is-error > input[type="number"] {
    border-color: rgba(156,63,52,.78);
    background: rgba(255,248,246,.96);
    box-shadow: 0 0 0 4px rgba(156,63,52,.08);
}

.gcc-consent.is-error {
    padding: 12px 14px;
    border: 1px solid rgba(156,63,52,.3);
    border-radius: 14px;
    background: rgba(156,63,52,.06);
}

.gcc-contact__notice--error strong {
    display: block;
    margin-bottom: 6px;
}

.gcc-contact__notice--error ul {
    margin: 8px 0 0 20px;
    padding: 0;
}

.gcc-contact__notice--error li + li {
    margin-top: 4px;
}

/* Primera capa de información sobre protección de datos */
.gcc-privacy-summary {
    margin-top: 24px;
    border: 1px solid rgba(23,32,25,.14);
    border-radius: 20px;
    background: rgba(255,253,248,.68);
    color: rgba(23,32,25,.76);
    overflow: hidden;
}

.gcc-privacy-summary__details,
.gcc-privacy-summary__details summary {
    margin: 0;
}

.gcc-privacy-summary__details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 24px;
    color: var(--gcc-ink);
    font-size: .92rem;
    font-weight: 750;
    line-height: 1.35;
    cursor: pointer;
    list-style: none;
}

.gcc-privacy-summary__details summary::-webkit-details-marker {
    display: none;
}

.gcc-privacy-summary__details summary:focus-visible {
    outline: 3px solid rgba(41,55,43,.18);
    outline-offset: -3px;
}

.gcc-privacy-summary__icon {
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(23,32,25,.18);
    border-radius: 50%;
    font-size: 1.2rem;
    font-weight: 500;
    transition: transform .2s ease, background .2s ease;
}

.gcc-privacy-summary__details[open] .gcc-privacy-summary__icon {
    transform: rotate(45deg);
    background: rgba(41,55,43,.08);
}

.gcc-privacy-summary__content {
    padding: 4px 24px 24px;
    border-top: 1px solid rgba(23,32,25,.1);
}

.gcc-privacy-summary h3 {
    margin: 20px 0 18px;
    font-family: var(--gc-serif, Georgia, serif);
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: var(--gcc-ink);
}

.gcc-privacy-summary dl,
.gcc-privacy-summary dl > div,
.gcc-privacy-summary dt,
.gcc-privacy-summary dd {
    margin: 0;
}

.gcc-privacy-summary dl {
    display: grid;
    gap: 12px;
}

.gcc-privacy-summary dl > div {
    display: grid;
    grid-template-columns: minmax(120px, 155px) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.gcc-privacy-summary dt {
    font-size: .76rem;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(23,32,25,.64);
}

.gcc-privacy-summary dd {
    font-size: .9rem;
    line-height: 1.58;
}

.gcc-privacy-summary a,
.gcc-consent a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 760px) {
    .gcc-privacy-summary {
        border-radius: 17px;
    }

    .gcc-privacy-summary__details summary {
        padding: 17px 18px;
        font-size: .9rem;
    }

    .gcc-privacy-summary__content {
        padding: 0 18px 20px;
    }

    .gcc-privacy-summary dl > div {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .gcc-privacy-summary dd,
    .gcc-consent {
        font-size: .9rem;
    }
}
