:root {
    --azz-v7-max: 1540px;
}

html,
body {
    max-width: 100%;
    overflow-x: clip;
}

body.azzurro-v7 #page-container,
body.azzurro-v7 #main-content,
body.azzurro-v7 #main-content > .container,
body.azzurro-v7 #content-area,
body.azzurro-v7 #left-area,
body.azzurro-v7 article.page,
body.azzurro-v7 .entry-content {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.azzurro-v7 #main-content > .container::before,
body.azzurro-v7 .entry-title.main_title {
    display: none !important;
}

body.azzurro-v7 .azz-page {
    width: 100%;
    max-width: none;
}

body.azzurro-v7 .azz-shell {
    width: min(var(--azz-v7-max), calc(100% - 72px));
    max-width: none;
}

body.azzurro-v7 .azz-hero__grid {
    grid-template-columns: minmax(420px, .82fr) minmax(0, 1.18fr);
}

body.azzurro-v7 .azz-hero__copy {
    width: 100%;
    max-width: 760px;
    justify-self: end;
    padding-inline: clamp(48px, 6vw, 112px);
}

body.azzurro-v7 .azz-hero__media {
    min-height: min(920px, calc(100svh - 84px));
}

body.azzurro-v7 .azz-hero__media img,
body.azzurro-v7 .azz-hero-image {
    object-position: 50% 34% !important;
}

body.azzurro-v7 img {
    max-width: 100%;
}

body.azzurro-v7 .azz-split__media {
    width: 100%;
    aspect-ratio: 4 / 5;
    min-height: 0;
    overflow: hidden;
    background: #d8d2c8;
}

body.azzurro-v7 .azz-split__media img,
body.azzurro-v7 .azz-editorial-image {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: 50% 30%;
}

/* Encuadres afinados según cada original real de Instagram o de las tiendas. */
body.azzurro-v7 img[src*="hd-americana"] {
    object-position: 50% 38% !important;
}

body.azzurro-v7 img[src*="hd-ceremonia"] {
    object-position: 50% 24% !important;
}

body.azzurro-v7 img[src*="hd-camisa"] {
    object-position: 50% 42% !important;
}

body.azzurro-v7 img[src*="hd-detalle"],
body.azzurro-v7 img[src*="hd-marca"] {
    object-position: 50% 34% !important;
}

body.azzurro-v7 img[src*="interior-tienda"],
body.azzurro-v7 img[src*="trajes-tienda"] {
    object-position: 50% 50% !important;
}

body.azzurro-v7 img[src*="roberto-interior"] {
    object-position: 50% 30% !important;
}

body.azzurro-v7 .azz-image-band {
    min-height: clamp(520px, 58vw, 820px);
}

body.azzurro-v7 .azz-image-band img {
    min-width: 0;
    object-position: center 32%;
}

body.azzurro-v7 .azz-reel-video-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    background: #071a33;
    box-shadow: var(--azz-shadow);
}

body.azzurro-v7 .azz-reel-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.azzurro-v7 .azz-video-sound {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 3;
    padding: 10px 14px;
    border: 1px solid rgba(255,255,255,.65);
    color: #fff;
    background: rgba(3,18,36,.72);
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    backdrop-filter: blur(12px);
}

body.azzurro-v7 .azz-feed-wrap #sbi_images {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    height: auto !important;
}

body.azzurro-v7 .azz-feed-wrap .sbi_item {
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    background: #d8d2c8;
}

body.azzurro-v7 .azz-feed-wrap .sbi_photo {
    display: block !important;
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    overflow: hidden;
}

body.azzurro-v7 .azz-feed-wrap .sbi_photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: scale(1.002);
    transition: transform .55s ease;
}

body.azzurro-v7 .azz-feed-wrap .sbi_photo:hover img {
    transform: scale(1.035);
}

body.azzurro-v7 .azz-consent-media {
    position: relative;
    overflow: hidden;
    background: #dfe4e8;
}

body.azzurro-v7 .azz-v7-map-preview {
    position: relative;
    width: 100%;
    min-height: 540px;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 44px;
    text-align: center;
    background:
        linear-gradient(27deg, transparent 47%, rgba(7,26,51,.12) 48%, rgba(7,26,51,.12) 50%, transparent 51%) 0 0 / 110px 110px,
        linear-gradient(117deg, transparent 47%, rgba(7,26,51,.09) 48%, rgba(7,26,51,.09) 50%, transparent 51%) 0 0 / 150px 150px,
        #e8e3d9;
}

body.azzurro-v7 .azz-v7-map-preview::before {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    border: 44px solid rgba(30,91,255,.12);
    border-radius: 50%;
    transform: translate(44%, -32%);
}

body.azzurro-v7 .azz-v7-map-card {
    position: relative;
    z-index: 2;
    width: min(390px, 100%);
    padding: 34px;
    color: #fff;
    background: rgba(7,26,51,.94);
    box-shadow: 0 22px 60px rgba(7,26,51,.25);
}

body.azzurro-v7 .azz-v7-map-pin {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    margin: 0 auto 22px;
    border-radius: 50% 50% 50% 0;
    color: #fff;
    background: var(--azz-blue);
    font-size: 24px;
    transform: rotate(-45deg);
}

body.azzurro-v7 .azz-v7-map-pin span {
    transform: rotate(45deg);
}

body.azzurro-v7 .azz-v7-map-card strong {
    display: block;
    margin-bottom: 8px;
    font-family: "Azzurro Serif", Georgia, serif;
    font-size: 34px;
    font-weight: 500;
}

body.azzurro-v7 .azz-v7-map-card p {
    margin: 0 0 22px;
    color: rgba(255,255,255,.76);
    font-size: 14px;
}

body.azzurro-v7 .azz-v7-map-card .azz-button {
    color: #fff;
    border-color: rgba(255,255,255,.55);
}

body.azzurro-v7 .menu-language > a {
    min-width: 46px;
    padding-inline: 12px !important;
    border: 1px solid rgba(7,26,51,.28);
    text-align: center;
}

body.azzurro-v7 .azz-v6-legalbar {
    position: relative;
    z-index: 10000;
}

body.azzurro-v7 .azz-legal table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

@media (max-width: 1180px) {
    body.azzurro-v7 .azz-shell {
        width: min(100% - 48px, 1060px);
    }

    body.azzurro-v7 .azz-hero__grid {
        grid-template-columns: minmax(370px, .9fr) minmax(0, 1.1fr);
    }

    body.azzurro-v7 .azz-hero__copy {
        padding-inline: 46px;
    }
}

@media (max-width: 980px) {
    body.azzurro-v7 .azz-shell {
        width: min(100% - 38px, 760px);
    }

    body.azzurro-v7 .azz-hero__grid,
    body.azzurro-v7 .azz-intro-grid,
    body.azzurro-v7 .azz-split,
    body.azzurro-v7 .azz-split--reverse,
    body.azzurro-v7 .azz-reel-grid,
    body.azzurro-v7 .azz-contact-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.azzurro-v7 .azz-hero__copy {
        max-width: none;
        justify-self: stretch;
        padding: 82px 24px 62px;
    }

    body.azzurro-v7 .azz-hero__media {
        min-height: 64svh;
    }

    body.azzurro-v7 .azz-split__media {
        max-width: 680px;
        justify-self: center;
    }

    body.azzurro-v7 .azz-feed-wrap #sbi_images {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
}

@media (max-width: 680px) {
    body.azzurro-v7 .azz-shell {
        width: min(100% - 28px, 560px);
    }

    body.azzurro-v7 .azz-page h1 {
        font-size: clamp(48px, 13vw, 66px);
    }

    body.azzurro-v7 .azz-page h2,
    body.azzurro-v7 .azz-reel-section h2 {
        font-size: clamp(39px, 11vw, 54px);
    }

    body.azzurro-v7 .azz-hero__media {
        min-height: 58svh;
    }

    body.azzurro-v7 img[src*="hd-americana"] {
        object-position: 50% 32% !important;
    }

    body.azzurro-v7 .azz-image-band {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    body.azzurro-v7 .azz-image-band img {
        min-height: 390px;
    }

    body.azzurro-v7 .azz-v7-map-preview {
        min-height: 460px;
        padding: 20px;
    }

    body.azzurro-v7 .azz-consent__panel {
        width: 100%;
        max-height: calc(100dvh - 20px);
    }

    body.azzurro-v7 .az-whatsapp-float {
        right: 14px;
        bottom: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.azzurro-v7 .azz-reel-video {
        animation: none !important;
    }
}
