/* UTEC English EXTRA CLASS — professional footer v1.7 — social icons + full names */
.utec-footer-v17,
.utec-footer-v17 * {
    box-sizing: border-box;
}

.utec-footer-v17 {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    color: var(--utec-footer-text, #dbe7ff);
    background:
        radial-gradient(circle at 88% -10%, rgba(86, 146, 255, .24), transparent 34%),
        linear-gradient(135deg, var(--utec-footer-bg, #0b2d68) 0%, #0a2b63 52%, #082555 100%);
}

.utec-footer-decoration {
    position: absolute;
    z-index: -1;
    top: -160px;
    right: -110px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    box-shadow:
        0 0 0 52px rgba(255, 255, 255, .025),
        0 0 0 104px rgba(255, 255, 255, .018);
    pointer-events: none;
}

.utec-footer-grid {
    display: grid !important;
    grid-template-columns: minmax(250px, 1.05fr) minmax(260px, .95fr) minmax(300px, 1.15fr) !important;
    gap: 30px !important;
    align-items: stretch !important;
    padding-top: 58px !important;
    padding-bottom: 46px !important;
}

.utec-footer-brand-section {
    min-width: 0;
    padding: 6px 22px 0 0;
}

.utec-footer-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 13px !important;
    color: #fff !important;
    text-decoration: none !important;
}

.utec-footer-logo {
    flex: 0 0 48px;
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 15px !important;
    color: #fff !important;
    background: linear-gradient(145deg, #2d77ed, #124eba) !important;
    box-shadow: 0 12px 28px rgba(0, 22, 72, .34), inset 0 1px 0 rgba(255, 255, 255, .24);
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.utec-footer-brand-copy {
    display: grid !important;
    gap: 5px !important;
    line-height: 1 !important;
}

.utec-footer-brand-copy strong {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: -.2px !important;
}

.utec-footer-brand-copy small {
    color: var(--utec-footer-accent, #85b5ff) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 2px !important;
}

.utec-footer-description {
    max-width: 370px;
    margin: 24px 0 0 !important;
    color: rgba(229, 239, 255, .80) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

.utec-footer-booking-link {
    width: max-content;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 24px !important;
    padding: 11px 14px !important;
    border: 1px solid rgba(255, 255, 255, .17) !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .07) !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
}

.utec-footer-booking-link:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, .32) !important;
    background: rgba(255, 255, 255, .12) !important;
}

.utec-footer-booking-link svg,
.utec-footer-map-button svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.utec-footer-social-block {
    margin-top: 28px;
}

.utec-footer-micro-label,
.utec-footer-section-kicker {
    display: block;
    color: var(--utec-footer-accent, #85b5ff) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
}

.utec-footer-socials {
    width: 100%;
    max-width: 330px;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin-top: 12px !important;
}

.utec-footer-socials a {
    min-width: 0;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 11px 7px 8px !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .055) !important;
    text-decoration: none !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.utec-footer-socials a:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, .30) !important;
    background: rgba(255, 255, 255, .105) !important;
    box-shadow: 0 10px 25px rgba(0, 18, 58, .18), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.utec-footer-social-icon {
    flex: 0 0 30px;
    width: 30px !important;
    height: 30px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 9px;
    color: var(--utec-footer-accent, #85b5ff) !important;
    background: rgba(255, 255, 255, .06);
    transition: color .18s ease, background .18s ease, border-color .18s ease !important;
}

.utec-footer-social-icon svg {
    width: 17px;
    height: 17px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.utec-social-facebook .utec-footer-social-icon svg,
.utec-social-youtube .utec-social-play,
.utec-social-instagram .utec-social-dot {
    fill: currentColor;
    stroke: none;
}

.utec-footer-social-label {
    min-width: 0;
    overflow: hidden;
    color: rgba(247, 250, 255, .94) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utec-social-instagram:hover .utec-footer-social-icon {
    color: #ff8ab7 !important;
    border-color: rgba(255, 138, 183, .36);
    background: rgba(255, 87, 148, .10);
}

.utec-social-facebook:hover .utec-footer-social-icon {
    color: #86b5ff !important;
    border-color: rgba(134, 181, 255, .36);
    background: rgba(54, 117, 216, .12);
}

.utec-social-tiktok:hover .utec-footer-social-icon {
    color: #8cf6f0 !important;
    border-color: rgba(140, 246, 240, .34);
    background: rgba(37, 221, 210, .09);
    text-shadow: 2px 0 rgba(255, 64, 104, .42);
}

.utec-social-youtube:hover .utec-footer-social-icon {
    color: #ff8b8b !important;
    border-color: rgba(255, 139, 139, .35);
    background: rgba(255, 50, 50, .09);
}

.utec-footer-panel {
    min-width: 0;
    padding: 26px !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .055) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 24px 70px rgba(0, 21, 66, .13) !important;
    backdrop-filter: blur(4px);
}

.utec-footer-panel h3 {
    margin: 8px 0 22px !important;
    color: #fff !important;
    font-size: 19px !important;
    font-weight: 900 !important;
    letter-spacing: -.25px !important;
}

.utec-footer-contact-list {
    display: grid !important;
    gap: 8px !important;
}

.utec-footer-contact-item {
    min-width: 0;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 9px 8px !important;
    border-radius: 13px !important;
    color: inherit !important;
    text-decoration: none !important;
    transition: background .18s ease, transform .18s ease !important;
}

.utec-footer-contact-item:hover {
    transform: translateX(2px);
    background: rgba(255, 255, 255, .07) !important;
}

.utec-footer-contact-static:hover {
    transform: none;
    background: transparent !important;
}

.utec-footer-icon,
.utec-footer-location-icon {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 12px !important;
    color: var(--utec-footer-accent, #85b5ff) !important;
    background: rgba(255, 255, 255, .055) !important;
}

.utec-footer-icon svg,
.utec-footer-location-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.utec-footer-contact-item > span:last-child {
    min-width: 0;
    display: grid !important;
    gap: 3px !important;
}

.utec-footer-contact-item small {
    color: rgba(221, 235, 255, .58) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

.utec-footer-contact-item strong {
    overflow-wrap: anywhere;
    color: rgba(244, 248, 255, .93) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
}

.utec-footer-address-wrap {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
}

.utec-footer-location-icon {
    width: 42px !important;
    height: 42px !important;
}

.utec-footer-address-wrap p {
    margin: 1px 0 0 !important;
    color: rgba(238, 245, 255, .88) !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
    overflow-wrap: anywhere;
}

.utec-footer-map-button {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 24px !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(255, 255, 255, .15) !important;
    border-radius: 13px !important;
    color: #fff !important;
    background: linear-gradient(135deg, rgba(56, 128, 245, .38), rgba(22, 77, 170, .40)) !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    transition: transform .18s ease, border-color .18s ease, background .18s ease !important;
}

.utec-footer-map-button:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, .31) !important;
    background: linear-gradient(135deg, rgba(61, 139, 255, .48), rgba(25, 84, 187, .49)) !important;
}

.utec-footer-location-note {
    margin-top: 11px !important;
    color: rgba(218, 232, 255, .48) !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
}

.utec-footer-bottom {
    min-height: 72px;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 22px !important;
    border-top: 1px solid rgba(255, 255, 255, .10) !important;
    color: rgba(225, 236, 255, .68) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.utec-footer-tagline {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: rgba(244, 248, 255, .85) !important;
}

.utec-footer-tagline i {
    width: 6px;
    height: 6px;
    display: inline-block;
    border-radius: 50%;
    background: var(--utec-footer-accent, #85b5ff);
    box-shadow: 0 0 0 4px rgba(133, 181, 255, .10);
}

/* Refined admin preview */
.footer-preview-panel .footer-preview {
    border: 1px solid rgba(255, 255, 255, .10) !important;
    background:
        radial-gradient(circle at 90% 0%, rgba(86, 146, 255, .22), transparent 34%),
        var(--footer-bg, #0b2d68) !important;
    box-shadow: 0 18px 50px rgba(16, 45, 104, .18) !important;
}

@media (max-width: 1060px) {
    .utec-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .utec-footer-brand-section {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 40px;
        align-items: start;
        padding-right: 0;
    }
    .utec-footer-brand,
    .utec-footer-description,
    .utec-footer-booking-link {
        grid-column: 1;
    }
    .utec-footer-social-block {
        grid-column: 2;
        grid-row: 1 / span 3;
        margin-top: 6px;
    }
}

@media (max-width: 720px) {
    .utec-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding-top: 42px !important;
        padding-bottom: 34px !important;
    }
    .utec-footer-brand-section {
        display: block;
    }
    .utec-footer-social-block {
        margin-top: 25px;
    }
    .utec-footer-panel {
        padding: 23px !important;
        border-radius: 17px !important;
    }
    .utec-footer-bottom {
        min-height: 80px;
        align-items: flex-start !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 6px !important;
        padding-top: 17px !important;
        padding-bottom: 17px !important;
    }
}

@media (max-width: 520px) {
    .utec-footer-socials {
        grid-template-columns: 1fr !important;
        max-width: 240px;
    }
}

@media (max-width: 420px) {
    .utec-footer-brand-section {
        padding-right: 0;
    }
    .utec-footer-description {
        font-size: 13px !important;
    }
    .utec-footer-panel {
        padding: 20px !important;
    }
}

/* UTEC public mobile footer refinement v2.6 */
@media (max-width: 720px) {
    .utec-footer-v17 { margin-top: 0 !important; }
    .utec-footer-decoration { width: 210px !important; height: 210px !important; opacity: .45; }
    .utec-footer-grid {
        width: min(100% - 24px, 1180px) !important;
        gap: 12px !important;
        padding-top: 34px !important;
        padding-bottom: 24px !important;
    }
    .utec-footer-brand-section { text-align: center; }
    .utec-footer-brand { justify-content: center; }
    .utec-footer-description { max-width: 360px !important; margin: 17px auto 0 !important; font-size: 12px !important; line-height: 1.65 !important; }
    .utec-footer-booking-link { width: 100% !important; max-width: 360px; justify-content: center !important; margin: 18px auto 0 !important; }
    .utec-footer-social-block { margin-top: 20px !important; }
    .utec-footer-micro-label { text-align: center !important; }
    .utec-footer-socials {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        max-width: 360px !important;
        margin-inline: auto !important;
        gap: 7px !important;
    }
    .utec-footer-socials a { min-height: 43px !important; padding: 8px 7px !important; border-radius: 12px !important; }
    .utec-footer-social-icon { width: 25px !important; height: 25px !important; }
    .utec-footer-social-label { font-size: 9.5px !important; }
    .utec-footer-panel { padding: 18px !important; border-radius: 16px !important; }
    .utec-footer-panel h3 { margin-bottom: 14px !important; font-size: 17px !important; }
    .utec-footer-contact-list { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 8px !important; }
    .utec-footer-contact-item { min-height: 66px !important; gap: 9px !important; padding: 10px !important; border-radius: 12px !important; }
    .utec-footer-icon { width: 33px !important; height: 33px !important; flex: 0 0 33px !important; }
    .utec-footer-contact-item small { font-size: 8px !important; }
    .utec-footer-contact-item strong { font-size: 10px !important; }
    .utec-footer-address-wrap { grid-template-columns: 35px minmax(0,1fr) !important; gap: 10px !important; }
    .utec-footer-location-icon { width: 35px !important; height: 35px !important; }
    .utec-footer-address-wrap p { font-size: 11px !important; line-height: 1.6 !important; }
    .utec-footer-map-button { margin-top: 16px !important; }
    .utec-footer-location-note { display: none !important; }
    .utec-footer-bottom {
        width: min(100% - 24px, 1180px) !important;
        min-height: 68px !important;
        align-items: center !important;
        text-align: center !important;
        font-size: 9.5px !important;
    }
}

@media (max-width: 390px) {
    .utec-footer-social-label { font-size: 8.5px !important; }
    .utec-footer-contact-list { grid-template-columns: 1fr !important; }
}
