/* custom.css: full width layout, responsive fixes, share banner, forms.
   Loaded after the original style sheets, so it only overrides. */

:root {
    --tgt-maroon: #7c0113;
    --tgt-dark: #46000a;
    --tgt-gold: #cea553;
    --tgt-cream: #faf3e4;
    --tgt-gutter: clamp(16px, 4vw, 72px);
}

html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
:where(img) { height: auto; }
img, video, iframe, svg { max-width: 100%; }
iframe { border: 0; }

/* ---------- full width ---------- */
.container,
.container-fluid {
    max-width: none !important;
    width: 100%;
    padding-left: var(--tgt-gutter);
    padding-right: var(--tgt-gutter);
}
.location_section .location-box .google-map { max-width: 100%; }

/* ---------- accessibility ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 3px solid var(--tgt-gold);
    outline-offset: 2px;
}
.sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}

/* ---------- header, navigation ---------- */
.navbar-brand img { max-width: 100%; height: auto; }
.navbar-toggler { border: 1px solid rgba(124, 1, 19, .35); border-radius: 6px; padding: 6px 10px; margin-left: auto; }
.top-btn { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.top-btn a { margin: 0; display: inline-block; }
@media (max-width: 991px) {
    .top-btn { justify-content: center; }
    .navbar-collapse { padding-bottom: 8px; }
}

/* ---------- mobile bar ---------- */
.mobile-sticky-footer { display: flex !important; padding-bottom: env(safe-area-inset-bottom, 0); }
.mobile-sticky-footer a {
    float: none !important;
    flex: 1 1 0;
    text-align: center;
    padding: 14px 0;
    min-height: 48px;
    color: #fff;
}
@media (min-width: 992px) { .mobile-sticky-footer { display: none !important; } }
@media (max-width: 991px) {
    body { padding-bottom: 64px; }
}

/* ---------- footer on small screens (was hidden) ---------- */
@media (max-width: 991px) {
    .footer { display: block !important; }
    .copyright { display: block !important; text-align: center; padding-bottom: 12px; }
    .copyright .left-side ul { display: flex; justify-content: center; gap: 12px; }
    .copyright .right-side { margin-bottom: 8px; }
    .footer .foot-cont { flex-wrap: wrap; justify-content: center; gap: 1rem 2rem; }
    .footer .foot-links h2 { font-size: 34px; }
    .footer .foot-links p { font-size: 20px; }
    .footer .foot-links img { max-width: 110px; }
}

/* ---------- sections and media ---------- */
@media (max-width: 767px) {
    .section-header .text-bg { max-width: 100%; overflow: hidden; }
    .section-header h2.big_font { font-size: 34px; }
    table { display: block; max-width: 100%; overflow-x: auto; }
    .banner .banner-text-overlay h1 { font-size: 38px !important; }
}

/* ---------- forms ---------- */
.site-form .form-control {
    border: 1px solid #d9cfc0;
    background: #fff;
    border-radius: 6px;
    padding: 10px 14px;
    width: 100%;
}
.site-form .form-control:focus { border-color: var(--tgt-maroon); }
.site-form label { display: block; margin-bottom: 6px; }
.hp-field { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.submit-btn {
    border: 0; cursor: pointer; color: #fff; background: var(--tgt-maroon);
    padding: 10px 34px; border-radius: 4px; font: 500 18px "Roboto", sans-serif;
    transition: background-color .2s ease;
}
.submit-btn:hover { background: var(--tgt-dark); }
.submit-btn[disabled] { opacity: .6; cursor: wait; }
.form-status { margin-top: 12px; font-weight: 500; min-height: 1.4em; }
.form-status.ok { color: #1b6b34; }
.form-status.err { color: #b00020; }

/* ---------- share banner ---------- */
.share-banner {
    padding: clamp(28px, 5vw, 72px) 0;
    background: linear-gradient(180deg, #fff 0%, var(--tgt-cream) 100%);
}
.share-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    background: var(--tgt-maroon);
    border: 1px solid rgba(206, 165, 83, .55);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(124, 1, 19, .25);
}
.share-art { min-height: 100%; background: var(--tgt-dark); }
.share-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.share-body {
    padding: clamp(22px, 4vw, 52px);
    color: #fff;
    display: flex; flex-direction: column; justify-content: center; gap: 12px;
    min-width: 0;
}
.share-eyebrow {
    margin: 0; color: var(--tgt-gold);
    text-transform: uppercase; letter-spacing: .18em;
    font: 700 13px "Roboto", sans-serif;
}
.share-body h2 {
    margin: 0; color: var(--tgt-cream) !important;
    font-size: clamp(26px, 3vw, 42px); line-height: 1.15;
}
.share-text { margin: 0; color: rgba(255, 255, 255, .86) !important; font-size: 18px; }
.share-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.share-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 18px; border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .38);
    background: rgba(255, 255, 255, .08);
    color: #fff !important;
    font: 500 16px "Roboto", sans-serif; line-height: 1;
    cursor: pointer; text-decoration: none;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.share-btn .fa { font-size: 18px; }
.share-btn:hover { background: var(--tgt-gold); border-color: var(--tgt-gold); color: var(--tgt-dark) !important; transform: translateY(-1px); }
.share-btn.share-wa { background: #25d366; border-color: #25d366; color: #05290f !important; }
.share-btn.share-wa:hover { background: #1ebe5a; border-color: #1ebe5a; color: #05290f !important; }
.share-status { margin: 0; min-height: 1.4em; color: var(--tgt-gold) !important; font-weight: 500; }
@media (max-width: 767px) {
    .share-card { grid-template-columns: 1fr; border-radius: 16px; }
    .share-art { max-height: 220px; }
    .share-btn { flex: 1 1 calc(50% - 10px); justify-content: center; padding: 12px 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .share-btn { transition: none; }
    .share-btn:hover { transform: none; }
}
