/* Ajustes incrementales del tema hijo: identidad Inkaweb sin alterar Nexus. */

.inkaweb-client-area .inka-homepage-section { margin: 0 0 64px; }
.inkaweb-client-area .inka-homepage-heading { margin: 0 0 24px; text-align: center; }
.inkaweb-client-area .inka-homepage-eyebrow { display: block; margin-bottom: 8px; color: #ff1212; font-size: .78rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.inkaweb-client-area .inka-homepage-heading h2 { margin: 0; color: #111827; font-size: clamp(1.75rem, 2.5vw, 2rem); font-weight: 700; line-height: 1.2; }
.inkaweb-client-area .inka-homepage-grid { display: grid; gap: 16px; }
.inkaweb-client-area .inka-homepage-products { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.inkaweb-client-area .inka-homepage-card { display: flex; min-height: 220px; flex-direction: column; align-items: flex-start; padding: 28px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; }
.inkaweb-client-area .inka-homepage-card h3 { margin: 0 0 12px; color: #111827; font-size: 1.2rem; font-weight: 700; line-height: 1.3; }
.inkaweb-client-area .inka-homepage-card p { margin: 0 0 24px; color: #475467; font-size: .94rem; line-height: 1.65; }
.inkaweb-client-area .inka-homepage-card .btn { min-height: 44px; margin-top: auto; padding: 10px 16px; border-color: #d0d5dd; border-radius: 8px; color: #111827; font-size: .9rem; font-weight: 600; }
.inkaweb-client-area .inka-homepage-card .btn:hover, .inkaweb-client-area .inka-homepage-card .btn:focus { border-color: #ff1212; background: #fff; color: #d10f0f; }
.inkaweb-client-area .inka-homepage-shortcuts { margin: 0 0 64px; padding: 64px 0; }
.inkaweb-client-area .inka-homepage-shortcuts .inka-homepage-section:last-child { margin-bottom: 0; }
.inkaweb-client-area .inka-homepage-shortcuts .inka-homepage-heading h2 { color: #111827; }
.inkaweb-client-area .inka-homepage-actions { grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; }
.inkaweb-client-area .inka-homepage-action { display: flex; min-height: 112px; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px 14px; color: #111827; font-size: .9rem; font-weight: 600; line-height: 1.35; text-align: center; text-decoration: none; }

/* Header identity: the brand SVG has only a viewBox, so its rendered width is explicit. */
header.header .inka-brand-logo {
    display: block;
    width: 190px;
    height: auto;
}

/* A restrained reminder that only appears when the native cart has items. */
@media (prefers-reduced-motion: no-preference) {
    header.header .cart-btn.inka-cart-has-items .fa-shopping-cart {
        animation: inka-cart-gentle-nudge 7.5s ease-in-out infinite;
        transform-origin: 50% 70%;
        will-change: transform;
    }

    header.header .cart-btn.inka-cart-has-items #cartItemCount {
        animation: inka-cart-gentle-count 7.5s ease-in-out infinite;
        transform-origin: 50% 50%;
        will-change: transform;
    }
}

@keyframes inka-cart-gentle-nudge {
    0%, 72%, 100% { transform: translateY(0) rotate(0); }
    77% { transform: translateY(-3px) rotate(-3deg); }
    82% { transform: translateY(-1px) rotate(2deg); }
    87% { transform: translateY(0) rotate(0); }
}

@keyframes inka-cart-gentle-count {
    0%, 73%, 100% { transform: scale(1); }
    78% { transform: scale(1.12); }
    83% { transform: scale(1.04); }
    88% { transform: scale(1); }
}

@media (max-width: 575.98px) {
    header.header > .navbar.navbar-light > .container {
        justify-content: space-between;
        gap: 12px;
    }

    header.header .inka-brand-logo {
        width: 142px;
    }

    header.header .toolbar {
        width: auto;
        margin-left: auto;
    }
}

/*
 * Nexus keeps a minimum height on the navigation wrapper even when its
 * Bootstrap collapse is closed. On tablet and mobile that rendered a blank
 * 70px band between the brand row and the page. Clearing only the wrapper's
 * minimum height lets the closed native collapse take no space; when the
 * visitor opens the menu, its normal content still determines the height.
 */
@media (max-width: 1199.98px) {
    header.header > .main-navbar-wrapper {
        min-height: 0;
    }
}

/* Current navigation state, driven by the actual destination URL. */
header.header #nav > li > a.inka-nav-current,
header.header #nav > li.inka-nav-current > a {
    position: relative;
    color: #D10F0F;
    font-weight: 700;
}

header.header #nav > li > a.inka-nav-current::after,
header.header #nav > li.inka-nav-current > a::after {
    position: absolute;
    right: .5rem;
    bottom: -10px;
    left: .5rem;
    height: 2px;
    background: #FF1212;
    content: "";
}

#order-standard_cart .cart-sidebar .list-group-item.active,
#order-standard_cart .cart-sidebar .list-group-item.inka-nav-current {
    border-left: 3px solid #FF1212;
    background: #FFF1F1;
    color: #D10F0F;
    font-weight: 700;
}

#order-standard_cart .cart-sidebar .list-group-item.active:hover,
#order-standard_cart .cart-sidebar .list-group-item.inka-nav-current:hover {
    background: #FFF1F1;
    color: #B90D0D;
}
.inkaweb-client-area .inka-homepage-action + .inka-homepage-action { border-left: 1px solid #e5e7eb; }
.inkaweb-client-area .inka-homepage-action i { color: #ff1212; font-size: 1.45rem; }
.inkaweb-client-area .inka-homepage-action:hover, .inkaweb-client-area .inka-homepage-action:focus { background: #f7f8fa; color: #d10f0f; text-decoration: none; }
.inkaweb-client-area .inka-homepage-shortcuts .inka-homepage-actions { border-color: #e5e7eb; }
.inkaweb-client-area .inka-homepage-shortcuts .inka-homepage-action { color: #111827; }
.inkaweb-client-area .inka-homepage-shortcuts .inka-homepage-action + .inka-homepage-action { border-left-color: #e5e7eb; }
.inkaweb-client-area .inka-homepage-shortcuts .inka-homepage-action:hover, .inkaweb-client-area .inka-homepage-shortcuts .inka-homepage-action:focus { background: #f7f8fa; color: #d10f0f; outline: 2px solid #ff1212; outline-offset: -2px; }
.inkaweb-client-area main:has(.inka-homepage-services) { background: #fff; }
/* WHMCS renders licence and system attributions as direct paragraphs without a class. */
.inkaweb-client-area main .primary-content > p { margin: 0 0 32px; padding: 16px 24px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; color: #475467; line-height: 1.6; text-align: center; }
.inkaweb-client-area main .primary-content > p a { color: #d10f0f; font-weight: 600; }
.inkaweb-client-area main .primary-content > p a:hover, .inkaweb-client-area main .primary-content > p a:focus { color: #b90d0d; }
#footer.hf2-footer .powered-by,
#footer.hf2-footer .powered-by a,
#footer.hf2-footer [class*="powered"] a { color: #d7dee8; }
#footer.hf2-footer .powered-by a:hover,
#footer.hf2-footer .powered-by a:focus,
#footer.hf2-footer [class*="powered"] a:hover,
#footer.hf2-footer [class*="powered"] a:focus { color: #fff; }
#footer.hf2-footer .hf2-machu { right: 0; }

@media (max-width: 991.98px) {
    .inkaweb-client-area .inka-homepage-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .inkaweb-client-area .inka-homepage-action:nth-child(4) { border-left: 0; border-top: 1px solid #e5e7eb; }
    .inkaweb-client-area .inka-homepage-action:nth-child(5) { border-top: 1px solid #e5e7eb; }
}
@media (max-width: 575.98px) {
    .inkaweb-client-area .inka-homepage-section { margin-bottom: 48px; }
    .inkaweb-client-area .inka-homepage-shortcuts { margin-bottom: 48px; padding: 48px 0; }
    #footer.hf2-footer .hf2-machu { right: 0; }
    .inkaweb-client-area .inka-homepage-heading { margin-bottom: 20px; text-align: left; }
    .inkaweb-client-area .inka-homepage-card { min-height: 0; padding: 22px; }
    .inkaweb-client-area .inka-homepage-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .inkaweb-client-area .inka-homepage-action { min-height: 106px; }
    .inkaweb-client-area .inka-homepage-action:nth-child(odd) { border-left: 0; }
    .inkaweb-client-area .inka-homepage-action:nth-child(n+3) { border-top: 1px solid #e5e7eb; }
}
