/* ==========================================================================
   Carmen Taddeo Insurance
   ========================================================================== */

/* ---- Original site link styles (order preserved from the 2011 site) ---- */
a { text-decoration: none; }
a.box:hover { color: red; text-decoration: underline; }
a.whitebg:hover { color: red; text-decoration: underline; }
a.whitebg:link { color: blue; text-decoration: underline; }
a.whitebg:visited { color: white; }
body.page-home a.whitebg:link { color: white; }


/* ---- Contact form ---- */
.contact-form-wrap {
    width: 620px;
    max-width: 100%;
    margin: 0 auto;
    text-align: left;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    color: #000;
}

.contact-form-wrap h2 {
    color: red;
    text-align: center;
    margin: 0 0 6px;
}

.contact-form-wrap .required-note {
    text-align: center;
    font-size: 12px;
    color: #555;
    margin: 0 0 18px;
}

.contact-form {
    background: #f2f2f2;
    border: 1px solid #cccccc;
    padding: 20px 24px 24px;
}

.form-row {
    display: flex;
    gap: 16px;
}

.form-row .form-field { flex: 1 1 0; }

.form-field { margin-bottom: 16px; }

.form-field label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
}

.form-field label .req { color: #b00000; }

.form-field label .optional {
    font-weight: normal;
    color: #666;
    font-size: 12px;
}

.form-field input,
.form-field textarea {
    box-sizing: border-box;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    padding: 8px 10px;
    border: 1px solid #999;
    border-radius: 3px;
    background: #fff;
    color: #000;
}

.form-field textarea {
    min-height: 150px;
    resize: vertical;
}

.form-field input:focus,
.form-field textarea:focus {
    outline: 2px solid #336666;
    outline-offset: 1px;
    border-color: #336666;
}

.form-field [aria-invalid="true"] {
    border-color: #b00000;
    background: #fff6f6;
}

.captcha-box {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.captcha-image {
    display: block;
    height: 54px;
    border: 1px solid #bbb;
    border-radius: 3px;
    background: #fff;
    image-rendering: auto;
}

.captcha-question {
    font-size: 16px;
    font-weight: bold;
}

.captcha-box input {
    width: 90px;
    text-align: center;
    font-size: 18px;
}

.contact-form button[type="submit"] {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    background: #336666;
    border: 0;
    border-radius: 4px;
    padding: 11px 26px;
    cursor: pointer;
}

.contact-form button[type="submit"]:hover { background: #244a4a; }

.contact-form button[type="submit"]:disabled {
    opacity: 0.6;
    cursor: default;
}

.form-status {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 3px;
    font-weight: bold;
}

.form-status:empty { display: none; }

.form-status.is-success {
    background: #e7f4ea;
    border: 1px solid #5c9b6b;
    color: #1d5a2b;
}

.form-status.is-error {
    background: #fdecec;
    border: 1px solid #c95555;
    color: #8a1111;
}

.form-status.is-info {
    background: #eef3f3;
    border: 1px solid #9ab3b3;
    color: #1f3d3d;
}

/* Honeypot: invisible to people, tempting to robots. */
.hp-field {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.noscript-note {
    color: #8a1111;
    font-weight: bold;
    text-align: center;
}

@media (max-width: 560px) {
    .form-row { display: block; }
}


/* ---- Optional cookie notice (switch in tco_config.php) ---- */
.cookie-notice {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    max-width: 640px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    background: #1f3d3d;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
    z-index: 1000;
}

.cookie-notice[hidden] { display: none; }

.cookie-notice button {
    flex: none;
    font-weight: bold;
    padding: 6px 16px;
    border: 0;
    border-radius: 3px;
    background: #fff;
    color: #1f3d3d;
    cursor: pointer;
}
