/*
Theme Name: Astra Child
Template: astra
*/

/* ── GLOBAL ─────────────────────────────────────────── */

html {
    scroll-behavior: smooth !important;
}

h1.entry-title {
    display: none !important;
}

/* ── __HEADER ─────────────────────────────────────────── */

.site-header {
    position: absolute !important;
    width: 100%;
    background: transparent !important;
    z-index: 10000;
}
.galeria-violines .wp-block-image img {
    width: 100%;
    height: 75vh;
    object-fit: cover;
    display: block;
}
.main-header-bar {
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.ast-primary-header-bar {
    border-bottom: none !important;
}

.site-title a,
.site-title a:hover {
    color: #ffffff !important;
}

.menu-link {
    color: #ffffff !important;
}

.menu-link:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* ── HERO ────────────────────────────────────────────── */

.wp-block-cover {
    margin-left: calc(-1 * (100vw - 100%) / 2) !important;
    margin-right: calc(-1 * (100vw - 100%) / 2) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-top: -100px !important;
    position: relative !important;
    overflow: hidden !important;
}

.hero-desktop {
    overflow: visible !important;
}

/* ── SECCIONES ───────────────────────────────────────── */

.wp-block-columns {
    padding: 80px 40px !important;
}

/* ── GALERÍA PRINCIPAL ───────────────────────────────── */

.wp-block-gallery {
    --wp--style--gallery-gap-default: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wp-block-gallery .wp-block-image img {
    object-fit: cover !important;
}

.entry-content .wp-block-gallery {
    margin-left: calc(-1 * (100vw - 100%) / 2) !important;
    margin-right: calc(-1 * (100vw - 100%) / 2) !important;
    width: 100vw !important;
    max-width: 100vw !important;
}

/* ── HOVER GALERÍA PRINCIPAL ─────────────────────────── */

.galeria-principal .wp-block-image {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.galeria-principal .wp-block-image img {
    transition: transform 0.6s ease !important;
}

.galeria-principal .wp-block-image:hover img {
    transform: scale(1.03) !important;
}

.galeria-principal .wp-block-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.4s ease;
}

.galeria-principal .wp-block-image:hover::after {
    background: rgba(0, 0, 0, 0.45);
}

.galeria-principal .wp-block-image .hover-info {
    position: absolute;
    bottom: 32px;
    left: 32px;
    z-index: 2;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    pointer-events: none;
}

.galeria-principal .wp-block-image:hover .hover-info {
    opacity: 1;
    transform: translateY(0);
}

.hover-info span {
    display: block;
    color: #ffffff;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.hover-info em {
    display: block;
    color: rgba(255, 255, 255, 0.7);
    font-family: 'DM Sans', sans-serif;
    font-size: 0.75rem;
    font-style: normal;
    letter-spacing: 0.15em;
    margin-top: 6px;
}

/* ── MEOW LIGHTBOX ───────────────────────────────────── */

.pswp__bg {
    background: #000000 !important;
    opacity: 1 !important;
}

.pswp {
    transition: opacity 0.4s ease !important;
}

.pswp__img {
    transition: opacity 0.3s ease !important;
}


.pswp__button {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
}

.pswp__button--zoom {
    display: none !important;
}

.pswp__button--arrow--prev svg,
.pswp__button--arrow--next svg {
    display: none !important;
}

.pswp__button--arrow--prev::before {
    content: '←' !important;
    color: rgba(255,255,255,0.5) !important;
    font-size: 1.2rem !important;
}

.pswp__button--arrow--next::before {
    content: '→' !important;
    color: rgba(255,255,255,0.5) !important;
    font-size: 1.2rem !important;
}

.pswp__custom-caption {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: 580px !important;
    max-width: 90% !important;
    margin: 0 auto !important;
    padding: 16px 0 !important;
}

.mwl__metadata__content {
    text-align: left !important;
}

.mwl__metadata__content h2 {
    color: #ffffff !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 400 !important;
    font-size: 1rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.mwl__metadata__content .description {
    color: #aaaaaa !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.05em !important;
    line-height: 1.6 !important;
}

.pswp__counter {
    position: fixed !important;
    bottom: 48px !important;
    right: 48px !important;
    top: auto !important;
    left: auto !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.15em !important;
    color: rgba(255,255,255,0.4) !important;
}

/* ── PÁGINAS DE VIOLÍN (PDP) ─────────────────────────── */

.pagina-violin body,
.pagina-violin .site-content {
    background-color: #f4f3f1 !important;
}

.pagina-violin .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
        background: rgba(244, 243, 241, 0.2) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.pagina-violin .site-title a,
.pagina-violin .site-title a:hover {
    color: #1a1a1a !important;
}

.pagina-violin .menu-link {
    color: #000000 !important;
}

.pagina-violin .mobile-menu-toggle-icon svg {
    fill: #1a1a1a !important;
}

/* ── Footer ── */
.site-footer,
.ast-small-footer {
    display: none !important;
}

.sori-footer {
    background-color: #1a1a1a;
    width: 100%;
    padding: 40px 0;
}

.sori-footer-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.sori-footer-social {
    display: flex;
    gap: 20px;
}

.sori-footer-social a {
    color: #999;
    transition: color 0.2s ease;
    line-height: 0;
}

.sori-footer-social a:hover {
    color: #ffffff;
}

.sori-footer-phone {
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #999;
    text-decoration: none;
    transition: color 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.sori-footer-phone:hover {
    color: #ffffff;
}

.sori-footer-phone svg {
    flex-shrink: 0;
}

.sori-footer-copy {
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.12em;
    color: #666;
    text-transform: none;
    margin: 0;
}


.sori-footer-contact {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sori-footer-sep {
    color: #444;
    font-size: 12px;
}

.sori-footer-email,
.sori-footer-email:visited,
.sori-footer-email:link {
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #999;
    text-decoration: none;
    transition: color 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.sori-footer-email:hover {
    color: #ffffff;
}





/* ── Sección Contacto ── */
.sori-contacto {
    background-color: #f4f3f1;
    padding: 100px 60px;
    width: 100%;
    box-sizing: border-box;
}

.sori-contacto-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    max-width: 900px;
    margin: 0 auto;
    align-items: start;
}

.sori-contacto-titulo {
    font-family: 'Cormorant Garamond', serif;
    font-size: 36px;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #1a1a1a;
    margin: 0 0 20px 0;
}

.sori-contacto-linea {
    width: 40px;
    height: 1px;
    background-color: #ccc;
    margin-bottom: 28px;
}

.sori-contacto-datos {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sori-contacto-dato,
.sori-contacto-dato:visited,
.sori-contacto-dato:link {
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #999;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: color 0.2s ease;
}

.sori-footer-email:focus:not(:focus-visible),
.sori-contacto-dato:focus:not(:focus-visible) {
    outline: none;
}

.sori-contacto-dato:hover {
    color: #1a1a1a;
}

.sori-contacto-right .wpforms-field-label {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #999 !important;
    margin-bottom: 8px !important;
}

.sori-contacto-right .wpforms-field input,
.sori-contacto-right .wpforms-field textarea {
    background-color: transparent !important;
    border: none !important;
    border-bottom: 1px solid #ccc !important;
    border-radius: 0 !important;
    color: #1a1a1a !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    padding: 10px 0 !important;
    width: 100% !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
}

.sori-contacto-right .wpforms-field input:focus,
.sori-contacto-right .wpforms-field textarea:focus {
    border-bottom-color: #1a1a1a !important;
    box-shadow: none !important;
}

.sori-contacto-right .wpforms-field textarea {
    min-height: 100px !important;
    resize: none !important;
}

.sori-contacto-right .wpforms-submit,
.pagina-violin .wp-block-button__link {
    background-color: transparent !important;
    border: 1px solid #1a1a1a !important;
    color: #1a1a1a !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    padding: 14px 40px !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
    margin-top: 20px !important;
}

.sori-contacto-right .wpforms-submit:hover,
.pagina-violin .wp-block-button__link:hover {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

/* Mobile */
@media (max-width: 768px) {
    .sori-contacto {
        padding: 60px 24px;
    }
    .sori-contacto-inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }
}



/* ── WPForms confirmación ── */
.wpforms-confirmation-container-full {
    background-color: transparent !important;
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
    color: #1a1a1a !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    letter-spacing: 0.05em !important;
    padding: 20px 24px !important;
}


/* ── Marquee hero ── */
.sori-marquee-wrap {
    overflow: hidden;
    white-space: nowrap;
    width: 100vw;
    max-width: 100vw;
    padding: 28px 0;
    box-sizing: border-box;
        position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
}

.sori-marquee-track {
    display: inline-flex;
    animation: sori-marquee 40s linear infinite;
    padding-left: 0;
    margin-left: 0;
}

.sori-marquee-track span {
    font-family: 'Cormorant Garamond', serif;
    font-size: 42px;
    font-weight: 400;
    letter-spacing: 0.25em;
    color: #ffffff;
    mix-blend-mode: difference;          /* ← Gris sutil. Si a 24px lo ves muy lavado, prueba #b0b0b0
                                    para un punto más de presencia sin que grite. */
    text-transform: uppercase;
    padding-right: 48px;      /* ← Subido de 40px. Al crecer el texto, un poco más de aire
                                    entre repeticiones lo mantiene limpio. */
}

@keyframes sori-marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Respeta a quien prefiere no ver movimiento */
@media (prefers-reduced-motion: reduce) {
    .sori-marquee-track {
        animation: none;
        justify-content: center;
        width: 100%;
    }
}

/* Quita espacio entre marquee y galería */
.sori-marquee-wrap + #violines + .wp-block-group {
    margin-top: 0;
    padding-top: 0;
}


/* PDP violín (plantilla CPT) — ficha dos columnas */
.pagina-violin .violin-single .wp-block-columns {
    display: flex !important;
    padding: 60px 80px !important;
    gap: 80px !important;
}

@media (max-width: 768px) {
    .pagina-violin .violin-single .wp-block-columns {
        flex-direction: column !important;
        padding: 32px 24px !important;
        gap: 32px !important;
    }

        .pagina-violin .violin-single .wp-block-column:first-child p:first-child {
        font-size: 1.05rem !important;
    }
}

.pagina-violin .violin-single .wp-block-column {
    flex: 1 !important;
}

.pagina-violin .violin-single .wp-block-column:first-child p:first-child {
    font-family: 'Cormorant Garamond', serif !important;
       font-size: 1.5rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    margin-bottom: 24px !important;
}

.pagina-violin .violin-single .wp-block-column p {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.85rem !important;
    line-height: 2 !important;
    color: #333333 !important;
}

.pagina-violin .violin-single .wp-block-column:last-child {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}


/* Galería del violín a sangre (PDP) */
.single-violin #content .ast-container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.single-violin #primary {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.single-violin .violin-galeria {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-violin .violin-galeria .wp-block-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* ── Galería PDP héroe + thumbs ── */
.mwl-galeria-pdp {
    width: 100%;
}

.mwl-hero img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
}

.mwl-thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin-top: 1px;
}

.mwl-thumb img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
}


.wp-block-cover__inner-container {
    position: static !important;
}

/* ── Menú overlay móvil ── */

.sori-overlay-footer {
    margin-top: 48px;
    text-align: center;
}

.sori-overlay-sep {
    display: block;
    width: 40px;
    height: 1px;
    background: rgba(255,255,255,0.2);
    margin: 0 auto 24px;
}

.sori-overlay-name {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
    margin: 0;
}


/* Animación hamburguesa → X */
.sori-hamburger-svg {
    overflow: visible;
}

.sori-line {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.sori-line-1 {
    transform-origin: 12px 7px;
}

.sori-line-2 {
    transform-origin: 12px 12px;
}

.sori-line-3 {
    transform-origin: 12px 17px;
}

body.sori-menu-open .sori-line-1 {
    transform: translateY(5px) rotate(45deg);
}

body.sori-menu-open .sori-line-2 {
    opacity: 0;
}

body.sori-menu-open .sori-line-3 {
    transform: translateY(-5px) rotate(-45deg);
}

body.sori-menu-open .custom-logo {
    display: none !important;
}

@media (max-width: 768px) {
    .main-header-bar-navigation {
        display: none !important;
    }
        .sori-marquee-track span {
        font-size: 24px;
    }
}
#sori-menu-overlay {
    position: fixed;
    inset: 0;
    background-color: #1a1a1a;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

body.sori-menu-open #sori-menu-overlay {
    opacity: 1;
    pointer-events: all;
}

#sori-menu-close {
    display: none;
}

.sori-overlay-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}

.sori-overlay-nav ul li {
    margin: 32px 0;
}

.sori-overlay-nav .menu-link {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #ffffff !important;
    text-decoration: none;
    background: transparent !important;
    transition: opacity 0.2s ease;
}

.sori-overlay-nav .menu-link:hover {
    opacity: 0.5;
}



/* ── Listado automático de violines (home) ── */
.galeria-violines {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-1 * (100vw - 100%) / 2);
    margin-right: calc(-1 * (100vw - 100%) / 2);
}

.galeria-violines .wp-block-image {
    margin: 0;
    display: block;
}

.galeria-violines .wp-block-image img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
}




@media (max-width: 768px) {
    .galeria-violines {
        grid-template-columns: 1fr;
    }

    .sori-footer-contact {
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .sori-footer-sep {
        display: none !important;
    }

    .sori-footer-phone,
    .sori-footer-email {
        font-size: 12px !important;
    }
}


/* Ocultar scroll to top */
.ast-scroll-top {
    display: none !important;
}

/* Ocultar leyenda en cualquier galería */
.wp-element-caption {
    display: none !important;
}

.hero-mobile { display: none; }

@media (max-width: 768px) {
    .hero-desktop { display: none !important; }
    .hero-mobile { display: block !important; }
}

@media (max-width: 768px) {
   .mobile-menu-toggle-icon svg {
    fill: #ffffff !important;
    color: #ffffff !important;
}

    .sori-footer-copy {
        text-align: center !important;
        line-height: 1.8 !important;
    }

.pagina-violin .mobile-menu-toggle-icon svg {
    color: #1a1a1a !important;
}

body.sori-menu-open .mobile-menu-toggle-icon svg {
    width: 32px !important;
    height: 32px !important;
}
         button.menu-toggle.ast-mobile-menu-trigger-minimal,
    button.menu-toggle.ast-mobile-menu-trigger-minimal:focus,
    button.menu-toggle.ast-mobile-menu-trigger-minimal:active {
        outline: none !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .main-header-bar-navigation,
    .main-header-bar-navigation nav,
    .main-navigation {
        background-color: #1a1a1a !important;
    }

    #ast-hf-mobile-menu .menu-link {
        color: #ffffff !important;
        background-color: #1a1a1a !important;
    }

        #ast-hf-mobile-menu .menu-item {
        background-color: #1a1a1a !important;
    }

          .custom-logo,
    .ast-logo-container .custom-logo,
    .site-logo img {
        width: 200px !important;
        max-width: 200px !important;
        height: auto !important;
    }

        .galeria-violines .wp-block-image img {
        transition: transform 0.6s ease !important;
    }

    .galeria-violines .wp-block-image .hover-info {
        opacity: 0;
        transform: translateY(8px);
        transition: opacity 0.5s ease, transform 0.5s ease;
    }
}






.hero-desktop .wp-block-cover__image-background {
    height: 130% !important;
    top: -15% !important;
}



/* ── Cursor personalizado ── */
* { cursor: none !important; }

#sori-cursor {
    position: fixed;
    width: 8px;
    height: 8px;
    background: #1a1a1a;
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
    transition: width 0.3s ease, height 0.3s ease, background 0.3s ease;
        z-index: 999999;
    border: 2px solid #ffffff;
}
#sori-cursor.sori-cursor-expand {
    width: 40px;
    height: 40px;
    background: rgba(26, 26, 26, 0.15);
    border: 1px solid #1a1a1a;
}


/* ── Links legales footer ── */
.sori-footer-legal {
    color: #666 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.sori-footer-legal:hover {
    color: #ffffff !important;
}


.sori-footer-legal-links {
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    letter-spacing: 0.1em;
    color: #666;
    margin: 0;
}


.page:not(.home) .site-header {
    position: sticky !important;
    top: 0 !important;
    background: #1a1a1a !important;
}

.page:not(.home) .site-title a,
.page:not(.home) .menu-link {
    color: #ffffff !important;
}

.page:not(.home) .custom-logo {
    filter: brightness(0) invert(1) !important;
}

/* ── Páginas legales espaciado ── */
.page:not(.home) .entry-content {
    padding: 40px 24px 80px !important;
}


.pagina-violin .site-header {
    transition: opacity 0.4s ease, transform 0.4s ease !important;
}


/* ── Barra de progreso scroll ── */
#sori-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0%;
    background: #d4a853;
    z-index: 999999;
    transition: width 0.1s ease;
}


/* Fix color texto sección Sobre mí */
.sori-sobre-parrafo-2,
.sori-sobre-parrafo-1 {
    color: #1a1a1a;
}

/* Fix color párrafos Sobre mí */
.wp-block-columns .wp-block-paragraph {
    color: #1a1a1a;
}


/* Sección Sobre mí — tipografía estilo Dana */
.sori-sobre-parrafo-1 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1a1a1a !important;
    line-height: 1.8;
}

.sori-sobre-parrafo-2,
.sori-sobre-parrafo-3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #1a1a1a !important;
    line-height: 1.9;
}

.sori-sobre-etiqueta {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase !important;
    color: #999 !important;
    margin-bottom: 8px !important;
    margin-top: 0 !important;
}

.sori-sobre-titulo {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1a1a1a !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}

/* ── Sobre mí — HTML personalizado ── */
.sori-sobre-mi {
    padding: 80px 24px;
}

.sori-sobre-grid {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto;
}

.sori-sobre-foto {
    flex: 0 0 38%;
}

.sori-sobre-foto img {
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.sori-sobre-contenido {
    flex: 1;
}

.sori-sobre-textos {
    max-width: 1200px;
    margin: 40px auto 0;
    padding: 0;
}

@media (max-width: 768px) {
    .sori-sobre-mi {
        padding: 48px 0;
    }

    .sori-sobre-grid {
        flex-direction: row;
        align-items: flex-start;
        gap: 16px;
    }

    .sori-sobre-foto {
        flex: 0 0 44%;
    }

    .sori-sobre-foto img {
        height: 200px;
        object-fit: cover;
        object-position: center top;
    }

    .sori-sobre-contenido {
        flex: 1;
    }

    .sori-sobre-etiqueta {
        font-size: 0.6rem !important;
        letter-spacing: 0.2em !important;
        margin-bottom: 6px !important;
        margin-top: 80px !important;
    }

    .sori-sobre-titulo {
        font-size: 1.1rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.06em !important;
        margin-bottom: 8px !important;
        white-space: nowrap !important;
    }

        .sori-sobre-textos {
        margin-top: 32px;
        padding: 0;
    }
        .sori-sobre-parrafo-1,
    .sori-sobre-parrafo-2,
    .sori-sobre-parrafo-3 {
        font-size: 0.95rem !important;
        letter-spacing: 0.06em !important;
        line-height: 1.9 !important;
        color: #1a1a1a !important;
    }
}



