/* NAVBAR */

.navbar{
    position:fixed;
    top:24px;
    left:24px;
    width:auto;
    padding:0;
    display:flex;
    justify-content:flex-start;
    align-items:center;
    z-index:1000;
    background:transparent;
    pointer-events:auto;
}

.desktop-nav{
    display:none;
    position:relative;
    align-items:center;
    justify-content:center;
    gap:34px;
    padding:15px 30px;
    background:linear-gradient(135deg, rgba(32,54,74,.32), rgba(32,54,74,.16));
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,.16);
    border-radius:28px;
    overflow:hidden;
    width:auto;
    max-width:620px;
    pointer-events:auto;
    transition:max-width .45s ease, padding .45s ease, gap .45s ease, background .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.desktop-nav a{
    position:relative;
    font-size:.82rem;
    font-weight:700;
    color:var(--paper);
    text-transform:uppercase;
    letter-spacing:1.5px;
    text-shadow:0 2px 10px rgba(0,0,0,.25);
    white-space:nowrap;
    opacity:1;
    transform:translateX(0);
    transition:.35s ease;
}

.desktop-nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-7px;
    width:0;
    height:2px;
    background:var(--red);
    transition:.3s ease;
}

.desktop-nav a:hover{
    color:var(--red);
}

.desktop-nav a:hover::after{
    width:100%;
}

.desktop-nav::before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:24px;
    height:16px;
    transform:translate(-50%,-50%);
    opacity:0;
    pointer-events:none;
    background:
        linear-gradient(var(--paper),var(--paper)) 0 0 / 24px 2px no-repeat,
        linear-gradient(var(--paper),var(--paper)) 0 7px / 24px 2px no-repeat,
        linear-gradient(var(--paper),var(--paper)) 0 14px / 24px 2px no-repeat;
    transition:.3s ease;
}

.navbar.scrolled .desktop-nav{
    max-width:58px;
    padding:16px 29px;
    gap:0;
    background:rgba(32,54,74,.62);
    border-color:rgba(255,255,255,.16);
}

.navbar.scrolled .desktop-nav::before{
    opacity:1;
}

.navbar.scrolled .desktop-nav a{
    opacity:0;
    pointer-events:none;
    transform:translateX(-12px);
}

.navbar.scrolled .desktop-nav:hover{
    max-width:620px;
    padding:15px 30px;
    gap:34px;
    background:rgba(236,227,211,.86);
    border-color:rgba(32,54,74,.12);
    box-shadow:0 12px 35px rgba(32,54,74,.08);
}

.navbar.scrolled .desktop-nav:hover::before{
    opacity:0;
}

.navbar.scrolled .desktop-nav:hover a{
    opacity:1;
    pointer-events:auto;
    transform:translateX(0);
    color:var(--blue-dark);
    text-shadow:none;
}

/* MENU MOBILE */

.menu-toggle{
    width:50px;
    height:50px;
    border:1px solid rgba(236,227,211,.7);
    background:rgba(32,54,74,.32);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    border-radius:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:7px;
    cursor:pointer;
    z-index:1100;
    transition:.3s ease;
    pointer-events:auto;
}

.menu-toggle span{
    width:22px;
    height:2px;
    background:var(--paper);
    transition:.3s ease;
}

.navbar.scrolled .menu-toggle{
    background:rgba(32,54,74,.88);
}

.menu-toggle.active span:nth-child(1){
    transform:rotate(45deg) translate(3px,3px);
}

.menu-toggle.active span:nth-child(2){
    transform:rotate(-45deg) translate(3px,-3px);
}

.fullscreen-menu{
    position:fixed;
    inset:0;
    width:100%;
    height:100dvh;
    background:rgba(32,54,74,.82);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    z-index:900;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:clamp(14px,2.2vh,24px);
    padding:90px 6% 50px;
    opacity:0;
    pointer-events:none;
    overflow:hidden;
    transition:.4s ease;
}

.fullscreen-menu.active{
    opacity:1;
    pointer-events:auto;
}

.fullscreen-menu a{
    position:relative;
    font-family:'Oswald',sans-serif;
    font-size:clamp(1.35rem,2.5vw,2.45rem);
    color:var(--paper);
    text-transform:uppercase;
    letter-spacing:2px;
    transition:.3s ease;
}

.fullscreen-menu a:hover{
    color:var(--red);
}

/* HERO */

.comic-hero{
    min-height:82vh;
    display:flex;
    align-items:flex-end;
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(90deg, rgba(32,54,74,.94), rgba(32,54,74,.68), rgba(179,33,33,.28)),
        url('../../img/hero/comic.png');
    background-size:cover;
    background-position:center;
    color:white;
}

.comic-hero::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:120px;
    background:linear-gradient(
        to bottom,
        rgba(236,227,211,0),
        var(--blue-dark)
    );
    pointer-events:none;
}

.comic-hero-content{
    position:relative;
    z-index:2;
    max-width:850px;
    padding-bottom:90px;
}

.comic-hero .section-tag{
    color:var(--gold);
}

.comic-hero h1{
    margin-top:18px;
    font-size:clamp(3.6rem,8vw,8rem);
    line-height:.9;
    color:white;
}

.comic-hero p{
    margin-top:24px;
    max-width:620px;
    line-height:1.75;
    color:rgba(255,255,255,.82);
    font-size:1.1rem;
}

/* LECTOR PUBLUU */

.comic-reader-section{
    background:var(--blue-dark);
    color:white;
    padding:110px 8%;
}

.reader-header{
    max-width:850px;
    margin-bottom:56px;
}

.reader-header .section-tag{
    color:var(--gold);
}

.reader-header h2{
    margin-top:14px;
    font-size:clamp(2.2rem,4vw,4.4rem);
    line-height:1.04;
    color:white;
}

.reader-header p{
    margin-top:18px;
    max-width:720px;
    line-height:1.85;
    color:rgba(255,255,255,.78);
}

.publuu-reader{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:24px;
    border-radius:32px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 28px 80px rgba(0,0,0,.25);
    overflow:hidden;
}

.publuu-reader iframe,
.publuuflip{
    width:100%;
    height:760px;
    display:block;
    border:none;
    border-radius:20px;
    background:rgba(0,0,0,.18);
}

/* FOOTER */

footer{
    background:var(--red);
    color:white;
    margin-top:0;
}

.footer-container{
    display:grid;
    grid-template-columns:1.2fr 1.4fr .8fr;
    gap:70px;
    padding:60px 8%;
}

.footer-column{
    text-align:left;
}

.footer-column h3{
    font-size:1.8rem;
    color:white;
    margin-bottom:18px;
}

.footer-column h4{
    font-size:1rem;
    letter-spacing:1px;
    text-transform:uppercase;
    color:white;
    margin-bottom:18px;
}

.footer-column p{
    line-height:1.8;
    color:rgba(255,255,255,.85);
    font-size:.95rem;
}

.footer-social{
    display:flex;
    flex-direction:column;
}

.social-links{
    display:flex;
    gap:18px;
    margin-top:12px;
}

.social-links a{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    transition:.3s ease;
}

.social-links a:hover{
    transform:translateY(-4px);
    background:#8f1717;
    border-color:#8f1717;
}

.social-links img{
    width:30px;
    height:30px;
    display:block;
    filter:brightness(0) invert(1);
}

.footer-bottom{
    height:52px;
    background:#8f1717;
    border-top:1px solid rgba(255,255,255,.08);
}