/* ============================================================
   Titan eCommerce — site-specific overrides on top of Hostinza
   This file loads LAST so it can override the template defaults.
   Keep all custom tweaks here; don't edit the original theme CSS.
   ============================================================ */


/* ------------------------------------------------------------
   Mobile header / banner overlap fix
   ------------------------------------------------------------
   .header-transparent in the original template is absolutely
   positioned over the first section, expecting the topbar to
   fit on one row. Our topbar carries the longer Australian
   phone number + full support email, which wraps onto two
   rows on small screens — making the floating header taller
   than the banner's top padding allows for, so the banner
   text ends up *behind* the logo.

   Fix: take the topbar+header out of the absolute overlay on
   tablet-and-down, and give the homepage banner enough top
   breathing room so its content sits cleanly below the chrome.
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    .header-transparent {
        position: relative !important;
        background-color: #1a0e3d; /* matches the dark hero gradient so it doesn't look detached */
    }

    /* The homepage hero banner */
    .xs-banner {
        padding-top: 30px;
    }

    /* Compact the topbar a touch on mobile so two rows don't feel huge */
    .xs-top-bar {
        padding: 8px 0;
    }
    .xs-top-bar .xs-top-bar-info,
    .xs-top-bar .top-menu {
        margin-bottom: 0;
    }
    .xs-top-bar .xs-top-bar-info li,
    .xs-top-bar .top-menu li {
        font-size: 13px;
    }
}

/* ------------------------------------------------------------
   Breathing room around the logo / header bar on mobile
   ------------------------------------------------------------ */
@media (max-width: 991px) {
    .xs-header {
        padding-top: 18px;
        padding-bottom: 18px;
    }
    .xs-logo-wraper {
        margin: 4px 0;
    }
}

/* ------------------------------------------------------------
   Form selects — align with text inputs
   ------------------------------------------------------------
   The Hostinza theme styles .form-control for <input> only.
   Native <select> elements end up with mismatched height,
   font, and padding compared to neighbouring <input> fields.
   These rules normalise them so a select in a form row looks
   the same as the input next to it.
   ------------------------------------------------------------ */
select.form-control {
    height: 50px;
    padding: 10px 36px 10px 14px;     /* extra right pad for the caret */
    line-height: 1.4;
    font-size: 14px;
    color: #2f2f2f;
    background-color: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 4px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    /* Custom caret */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236b7280' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 10px 6px;
}
select.form-control:focus {
    outline: none;
    border-color: #4f8cff;
    box-shadow: 0 0 0 3px rgba(79, 140, 255, 0.15);
}
select.form-control.is-invalid {
    border-color: #dc3545;
}

/* ------------------------------------------------------------
   Outline buttons on the order thank-you / failed panels
   ------------------------------------------------------------
   The theme styles .btn-outline-primary as white-on-transparent
   (it's designed to sit on dark hero banners). On our light
   thank-you / failed panels that makes the button invisible.
   Re-colour it with the brand blue here, scoped to those panels
   so outline buttons on dark banners elsewhere are untouched.
   ------------------------------------------------------------ */
#order-thanks-wrap .btn-outline-primary,
#order-failed-wrap .btn-outline-primary {
    color: #1045db;
    border-color: #1045db;
}
#order-thanks-wrap .btn-outline-primary:hover,
#order-failed-wrap .btn-outline-primary:hover {
    color: #ffffff;
    border-color: #1045db;
}

/* Slightly larger logo breathing room on very small screens */
@media (max-width: 575px) {
    .xs-header {
        padding-top: 22px;
        padding-bottom: 22px;
    }
    .xs-logo-wraper .xs-logo img {
        max-height: 40px;
        width: auto;
    }
}
