/*==========================================================
                    LIVRARIA MHD GLOBAL
==========================================================*/

/*==========================================================
                    VARIÁVEIS
==========================================================*/

:root{

--purple:#4B148A;
--purple-dark:#32105D;
--purple-light:#6B2EB5;

--gold:#D4A437;
--gold-light:#F3D27B;

--white:#FFFFFF;
--light:#F8F9FC;
--gray:#ECECEC;
--gray2:#B8B8B8;

--text:#2B2B2B;
--text-light:#666666;

--success:#2E9E5B;
--danger:#D64A4A;

--shadow-sm:0 5px 15px rgba(0,0,0,.08);
--shadow:0 10px 35px rgba(0,0,0,.12);
--shadow-lg:0 20px 60px rgba(0,0,0,.18);

--radius:18px;
--radius-lg:28px;

--transition:.35s ease;

--max-width:1280px;

}

/*==========================================================
                    RESET
==========================================================*/

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;
background:var(--light);
color:var(--text);
line-height:1.7;
overflow-x:hidden;

}

img{

display:block;
max-width:100%;

}

a{

text-decoration:none;
color:inherit;

}

ul{

list-style:none;

}

button{

font-family:'Poppins',sans-serif;
border:none;
cursor:pointer;

}

input{

font-family:'Poppins',sans-serif;

}

/*==========================================================
                    CONTAINER
==========================================================*/

.container{

width:min(92%,var(--max-width));
margin:auto;

}

/*==========================================================
                    SECTION
==========================================================*/

section{

padding:110px 0;

}

.section-header{

text-align:center;
max-width:760px;
margin:0 auto 70px;

}

.section-header h2{

font-size:clamp(2rem,4vw,3rem);
font-weight:700;
color:var(--purple);
margin-bottom:18px;

}

.section-header p{

font-size:1.05rem;
color:var(--text-light);

}

/*==========================================================
                    TAG
==========================================================*/

.section-tag{

display:inline-flex;
align-items:center;
gap:8px;

padding:8px 18px;

background:rgba(75,20,138,.08);

color:var(--purple);

font-size:.88rem;

font-weight:600;

border-radius:50px;

margin-bottom:22px;

}

/*==========================================================
                    BOTÕES
==========================================================*/

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

gap:10px;

padding:14px 28px;

border-radius:50px;

font-weight:600;

transition:var(--transition);

cursor:pointer;

}

.btn i{

font-size:.95rem;

}

.btn.primary{

background:linear-gradient(
135deg,
var(--purple),
var(--purple-light)
);

color:white;

box-shadow:var(--shadow-sm);

}

.btn.primary:hover{

transform:translateY(-4px);

box-shadow:var(--shadow);

}

.btn.secondary{

background:white;

color:var(--purple);

border:2px solid rgba(75,20,138,.12);

}

.btn.secondary:hover{

background:var(--purple);

color:white;

}

.btn.amazon{

background:#FF9900;

color:white;

}

.btn.amazon:hover{

transform:translateY(-4px);

box-shadow:var(--shadow);

}

/*==========================================================
                    GRID AUXILIAR
==========================================================*/

.grid-2{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:60px;

align-items:center;

}

.grid-3{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.grid-4{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

/*==========================================================
                    TÍTULOS
==========================================================*/

h1{

font-size:clamp(2.6rem,5vw,4.5rem);

font-weight:800;

line-height:1.15;

}

h2{

line-height:1.2;

}

h3{

font-size:1.35rem;

font-weight:600;

}

p{

color:var(--text-light);

}

/*==========================================================
                    ANIMAÇÃO BASE
==========================================================*/

.fade-up{

opacity:0;

transform:translateY(40px);

transition:.8s ease;

}

.fade-up.show{

opacity:1;

transform:none;

}

/*==========================================================
                    HEADER
==========================================================*/

.library-header{

position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;

background:rgba(255,255,255,.92);
backdrop-filter:blur(16px);

box-shadow:0 4px 20px rgba(0,0,0,.05);

transition:var(--transition);

}

.library-header .container{

display:flex;
justify-content:space-between;
align-items:center;

height:90px;

}

.library-logo{

display:flex;
align-items:center;
gap:15px;

font-size:1.35rem;
font-weight:700;

color:var(--purple);

}

.library-logo img{

height:52px;
width:auto;

}

.library-nav{

display:flex;
align-items:center;
gap:35px;

}

.library-nav a{

position:relative;

font-weight:500;

color:var(--text);

transition:var(--transition);

}

.library-nav a:hover{

color:var(--purple);

}

.library-nav a::after{

content:"";

position:absolute;

left:0;
bottom:-8px;

width:0;
height:2px;

background:var(--gold);

transition:var(--transition);

}

.library-nav a:hover::after{

width:100%;

}

/*==========================================================
                    HERO
==========================================================*/

.library-hero{

position:relative;

padding-top:170px;
padding-bottom:120px;

overflow:hidden;

background:

radial-gradient(
circle at top left,
rgba(75,20,138,.12),
transparent 40%
),

radial-gradient(
circle at bottom right,
rgba(212,164,55,.12),
transparent 35%
),

linear-gradient(
180deg,
#ffffff,
#f9f9fc
);

}

.library-hero::before{

content:"";

position:absolute;

top:-120px;
right:-120px;

width:420px;
height:420px;

background:rgba(75,20,138,.05);

border-radius:50%;

filter:blur(15px);

}

.library-hero::after{

content:"";

position:absolute;

bottom:-150px;
left:-150px;

width:420px;
height:420px;

background:rgba(212,164,55,.08);

border-radius:50%;

filter:blur(20px);

}

.hero-grid{

position:relative;

display:grid;

grid-template-columns:1.1fr .9fr;

gap:70px;

align-items:center;

z-index:2;

}

.hero-content{

animation:fadeHero .8s ease;

}

.hero-tag{

display:inline-flex;

align-items:center;

gap:10px;

padding:10px 18px;

border-radius:40px;

background:rgba(75,20,138,.08);

color:var(--purple);

font-weight:600;

margin-bottom:25px;

}

.hero-content h1{

margin-bottom:25px;

color:var(--purple-dark);

}

.hero-content p{

font-size:1.08rem;

margin-bottom:35px;

max-width:650px;

}

.hero-buttons{

display:flex;

flex-wrap:wrap;

gap:18px;

margin-top:20px;

}

.hero-image{

display:flex;

justify-content:center;

align-items:center;

animation:floatImage 6s ease-in-out infinite;

}

.hero-image img{

width:100%;
max-width:520px;

border-radius:var(--radius-lg);

box-shadow:var(--shadow-lg);

}

/*==========================================================
                    HERO DECORATION
==========================================================*/

.hero-image::before{

content:"";

position:absolute;

width:420px;
height:420px;

border-radius:50%;

background:rgba(75,20,138,.06);

z-index:-1;

filter:blur(15px);

}

.hero-image::after{

content:"";

position:absolute;

width:240px;
height:240px;

border-radius:50%;

background:rgba(212,164,55,.08);

right:40px;
bottom:20px;

z-index:-1;

}

/*==========================================================
                    HERO STATS
==========================================================*/

.hero-stats{

display:flex;

gap:40px;

margin-top:50px;

flex-wrap:wrap;

}

.hero-stat{

display:flex;

flex-direction:column;

}

.hero-stat strong{

font-size:2rem;

color:var(--purple);

font-weight:700;

}

.hero-stat span{

font-size:.92rem;

color:var(--text-light);

}

/*==========================================================
                    HERO ANIMATIONS
==========================================================*/

@keyframes fadeHero{

from{

opacity:0;
transform:translateY(35px);

}

to{

opacity:1;
transform:none;

}

}

@keyframes floatImage{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-12px);

}

100%{

transform:translateY(0);

}

}

/*==========================================================
                    PESQUISA
==========================================================*/

.library-search{

padding:70px 0;

background:white;

border-top:1px solid rgba(0,0,0,.05);
border-bottom:1px solid rgba(0,0,0,.05);

}

.search-box{

position:relative;

max-width:700px;

margin:0 auto 35px;

}

.search-box input{

width:100%;

height:64px;

padding:0 65px 0 25px;

border:none;

outline:none;

background:var(--light);

border-radius:50px;

font-size:1rem;

color:var(--text);

box-shadow:var(--shadow-sm);

transition:var(--transition);

}

.search-box input:focus{

background:white;

box-shadow:0 0 0 4px rgba(75,20,138,.10);

}

.search-box i{

position:absolute;

right:25px;

top:50%;

transform:translateY(-50%);

font-size:1.15rem;

color:var(--purple);

pointer-events:none;

}

.search-box input::placeholder{

color:#999;

}

/*==========================================================
                    FILTROS
==========================================================*/

.library-filters{

display:flex;

justify-content:center;

align-items:center;

gap:15px;

flex-wrap:wrap;

}

.filter-btn{

padding:12px 26px;

border-radius:50px;

background:white;

border:2px solid rgba(75,20,138,.08);

font-weight:600;

color:var(--purple);

transition:var(--transition);

}

.filter-btn:hover{

background:var(--purple);

color:white;

transform:translateY(-3px);

box-shadow:var(--shadow-sm);

}

.filter-btn.active{

background:linear-gradient(
135deg,
var(--purple),
var(--purple-light)
);

color:white;

border-color:transparent;

box-shadow:var(--shadow);

}

/*==========================================================
                    SOBRE
==========================================================*/

.library-about{

background:

linear-gradient(
180deg,
#ffffff,
#f8f8fc
);

}

.about-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

margin-top:60px;

}

.about-card{

background:white;

padding:40px 30px;

border-radius:var(--radius);

text-align:center;

box-shadow:var(--shadow-sm);

transition:var(--transition);

position:relative;

overflow:hidden;

}

.about-card::before{

content:"";

position:absolute;

left:0;
top:0;

width:100%;
height:5px;

background:linear-gradient(
90deg,
var(--purple),
var(--gold)
);

transform:scaleX(0);

transform-origin:left;

transition:.4s;

}

.about-card:hover::before{

transform:scaleX(1);

}

.about-card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow);

}

.about-card i{

width:80px;

height:80px;

margin:auto auto 25px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:rgba(75,20,138,.08);

color:var(--purple);

font-size:2rem;

transition:var(--transition);

}

.about-card:hover i{

background:var(--purple);

color:white;

transform:rotate(8deg) scale(1.08);

}

.about-card h3{

margin-bottom:15px;

color:var(--purple);

}

.about-card p{

font-size:.95rem;

line-height:1.8;

}

/*==========================================================
                    TRANSIÇÕES
==========================================================*/

.about-card,
.filter-btn,
.search-box input{

transition:all .35s ease;

}

/*==========================================================
                    BIBLIOTECA
==========================================================*/

.library-books{

background:var(--light);

}

.books-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:40px;

margin-top:70px;

}

/*==========================================================
                    CARD
==========================================================*/

.book-card{

background:white;

border-radius:var(--radius);

overflow:hidden;

box-shadow:var(--shadow-sm);

transition:var(--transition);

display:flex;

flex-direction:column;

height:100%;

position:relative;

}

.book-card:hover{

transform:translateY(-12px);

box-shadow:var(--shadow-lg);

}

/*==========================================================
                    IMAGEM
==========================================================*/

.book-image{

position:relative;

background:linear-gradient(
135deg,
#f8f8fc,
#ece8f8
);

padding:35px;

display:flex;

justify-content:center;

align-items:center;

overflow:hidden;

}

.book-image::before{

content:"";

position:absolute;

top:-120px;
right:-120px;

width:220px;
height:220px;

border-radius:50%;

background:rgba(75,20,138,.05);

}

.book-image::after{

content:"";

position:absolute;

bottom:-90px;
left:-90px;

width:170px;
height:170px;

border-radius:50%;

background:rgba(212,164,55,.08);

}

.book-cover{

position:relative;

width:220px;

height:auto;

border-radius:12px;

box-shadow:0 20px 40px rgba(0,0,0,.20);

transition:.5s;

z-index:2;

}

.book-card:hover .book-cover{

transform:

rotateY(-12deg)

rotateX(4deg)

scale(1.04);

}

/*==========================================================
                    ESTADO
==========================================================*/

.book-status{

position:absolute;

top:18px;

right:18px;

padding:8px 16px;

border-radius:30px;

font-size:.78rem;

font-weight:700;

z-index:3;

letter-spacing:.4px;

}

.book-status.available{

background:var(--success);

color:white;

}

.book-status.soon{

background:var(--gold);

color:white;

}

.book-status.new{

background:var(--purple);

color:white;

}

/*==========================================================
                    CONTEÚDO
==========================================================*/

.book-content{

padding:30px;

display:flex;

flex-direction:column;

flex:1;

}

.book-category{

display:inline-flex;

align-self:flex-start;

padding:6px 14px;

border-radius:25px;

background:rgba(75,20,138,.08);

color:var(--purple);

font-size:.80rem;

font-weight:600;

margin-bottom:18px;

}

.book-content h3{

font-size:1.45rem;

color:var(--purple);

margin-bottom:18px;

line-height:1.35;

}

.book-content p{

font-size:.95rem;

line-height:1.8;

margin-bottom:25px;

flex:1;

}

/*==========================================================
                    AUTOR
==========================================================*/

.book-author{

display:flex;

align-items:center;

gap:10px;

margin-bottom:28px;

font-size:.92rem;

font-weight:500;

color:var(--text-light);

}

.book-author i{

color:var(--gold);

}

/*==========================================================
                    BOTÕES
==========================================================*/

.book-buttons{

display:flex;

flex-wrap:wrap;

gap:12px;

margin-top:auto;

}

.book-buttons .btn{

flex:1;

min-width:120px;

padding:13px 18px;

font-size:.92rem;

}

/*==========================================================
                    EFEITOS
==========================================================*/

.book-card::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:5px;

background:linear-gradient(
90deg,
var(--purple),
var(--gold)
);

transform:scaleX(0);

transform-origin:left;

transition:.4s;

}

.book-card:hover::before{

transform:scaleX(1);

}

/*==========================================================
                    ANIMAÇÃO
==========================================================*/

.book-card{

animation:bookFade .7s ease both;

}

@keyframes bookFade{

from{

opacity:0;

transform:translateY(30px);

}

to{

opacity:1;

transform:none;

}

}

/*==========================================================
                    MHD READER PRO
==========================================================*/

.reader-section{

background:white;

}

.reader-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.reader-content h2{

margin-bottom:25px;

color:var(--purple);

}

.reader-content p{

margin-bottom:30px;

line-height:1.9;

}

.reader-features{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

margin-top:35px;

}

.reader-features li{

display:flex;

align-items:center;

gap:12px;

padding:15px 18px;

background:var(--light);

border-radius:12px;

font-weight:500;

}

.reader-features i{

color:var(--success);

font-size:1rem;

}

.reader-image{

display:flex;

justify-content:center;

}

.reader-image img{

max-width:500px;

border-radius:var(--radius-lg);

box-shadow:var(--shadow-lg);

}

/*==========================================================
                PRÓXIMOS LANÇAMENTOS
==========================================================*/

.future-books{

background:linear-gradient(
180deg,
#f8f9fc,
#ffffff
);

}

.future-box{

max-width:900px;

margin:auto;

padding:70px 50px;

background:white;

border-radius:var(--radius-lg);

text-align:center;

box-shadow:var(--shadow);

}

.future-box i{

font-size:4rem;

color:var(--gold);

margin-bottom:25px;

}

.future-box h3{

margin-bottom:20px;

color:var(--purple);

}

.future-box p{

margin-bottom:35px;

}

/*==========================================================
                    CONTACTO
==========================================================*/

.library-contact{

background:white;

}

.contact-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

margin-top:60px;

}

.contact-card{

padding:40px 30px;

background:var(--light);

border-radius:var(--radius);

text-align:center;

transition:var(--transition);

}

.contact-card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow);

}

.contact-card i{

font-size:2.5rem;

color:var(--purple);

margin-bottom:20px;

}

.contact-card h3{

margin-bottom:15px;

color:var(--purple);

}

.contact-card a{

color:var(--purple);

font-weight:600;

word-break:break-word;

}

.contact-card a:hover{

color:var(--gold);

}

/*==========================================================
                    FOOTER
==========================================================*/

.library-footer{

background:var(--purple-dark);

color:white;

padding:80px 0 30px;

}

.footer-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:45px;

margin-bottom:50px;

}

.footer-column h3{

margin-bottom:22px;

color:var(--gold);

}

.footer-column p{

color:rgba(255,255,255,.75);

}

.footer-column ul{

display:flex;

flex-direction:column;

gap:12px;

}

.footer-column a{

color:rgba(255,255,255,.85);

transition:var(--transition);

}

.footer-column a:hover{

color:var(--gold);

padding-left:6px;

}

.library-footer hr{

border:none;

height:1px;

background:rgba(255,255,255,.12);

margin-bottom:25px;

}

.footer-bottom{

text-align:center;

}

.footer-bottom p{

color:rgba(255,255,255,.65);

font-size:.9rem;

}

/*==========================================================
                    BOTÃO TOPO
==========================================================*/

.back-to-top{

position:fixed;

right:25px;

bottom:25px;

width:55px;

height:55px;

border-radius:50%;

background:linear-gradient(
135deg,
var(--purple),
var(--purple-light)
);

color:white;

display:flex;

align-items:center;

justify-content:center;

font-size:1.1rem;

cursor:pointer;

box-shadow:var(--shadow);

transition:var(--transition);

z-index:999;

}

.back-to-top:hover{

transform:translateY(-6px);

}

.back-to-top.hidden{

opacity:0;

visibility:hidden;

pointer-events:none;

}

/*==========================================================
                    RESPONSIVO
==========================================================*/

@media(max-width:1100px){

.hero-grid,
.reader-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero-content p{

margin-left:auto;
margin-right:auto;

}

.hero-buttons{

justify-content:center;

}

.reader-features{

grid-template-columns:1fr;

}

.hero-image{

margin-top:40px;

}

}

@media(max-width:900px){

.about-grid{

grid-template-columns:repeat(2,1fr);

}

.library-nav{

display:none;

}

}

@media(max-width:768px){

section{

padding:80px 0;

}

.books-grid{

grid-template-columns:1fr;

}

.about-grid{

grid-template-columns:1fr;

}

.contact-grid{

grid-template-columns:1fr;

}

.book-buttons{

flex-direction:column;

}

.book-buttons .btn{

width:100%;

}

.future-box{

padding:45px 30px;

}

.hero-image img{

max-width:350px;

}

}

@media(max-width:500px){

.library-logo span{

display:none;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons .btn{

width:100%;

}

.search-box input{

height:58px;

font-size:.95rem;

}

.filter-btn{

width:100%;

}

.back-to-top{

right:18px;

bottom:18px;

width:50px;

height:50px;

}

}

/*==========================================================
                    HEADER PREMIUM
==========================================================*/

.library-header{

position:fixed;

top:0;
left:0;

width:100%;

z-index:1000;

background:rgba(255,255,255,.82);

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

border-bottom:1px solid rgba(255,255,255,.35);

box-shadow:0 8px 30px rgba(0,0,0,.05);

transition:var(--transition);

}

.library-header.scrolled{

height:82px;

background:rgba(255,255,255,.94);

box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.library-header .container{

display:flex;

justify-content:space-between;

align-items:center;

height:90px;

}

.library-logo{

display:flex;

align-items:center;

gap:15px;

font-size:1.35rem;

font-weight:700;

color:var(--purple);

transition:.35s;

}

.library-logo:hover{

transform:translateY(-2px);

}

.library-logo img{

height:56px;

width:auto;

transition:.4s;

}

.library-logo:hover img{

transform:rotate(-5deg) scale(1.05);

}

/*==========================================================
                    MENU
==========================================================*/

.library-nav{

display:flex;

align-items:center;

gap:36px;

}

.library-nav a{

position:relative;

font-weight:600;

font-size:.97rem;

color:var(--text);

transition:.35s;

}

.library-nav a:hover{

color:var(--purple);

}

.library-nav a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:3px;

border-radius:10px;

background:linear-gradient(
90deg,
var(--purple),
var(--gold)
);

transition:.4s;

}

.library-nav a:hover::after{

width:100%;

}

/*==========================================================
                    HERO
==========================================================*/

.library-hero{

position:relative;

overflow:hidden;

padding-top:185px;

padding-bottom:150px;

background:

radial-gradient(circle at top left,
rgba(75,20,138,.12),
transparent 42%),

radial-gradient(circle at bottom right,
rgba(212,164,55,.12),
transparent 38%),

linear-gradient(
180deg,
#ffffff,
#fbfbfd,
#f8f8fc
);

}

/*==========================================================
                DECORAÇÃO HERO
==========================================================*/

.library-hero::before{

content:"";

position:absolute;

top:-180px;

right:-120px;

width:520px;

height:520px;

border-radius:50%;

background:rgba(75,20,138,.05);

filter:blur(45px);

}

.library-hero::after{

content:"";

position:absolute;

left:-180px;

bottom:-180px;

width:500px;

height:500px;

border-radius:50%;

background:rgba(212,164,55,.08);

filter:blur(50px);

}

/*==========================================================
                GRID HERO
==========================================================*/

.hero-grid{

position:relative;

display:grid;

grid-template-columns:1.05fr .95fr;

gap:90px;

align-items:center;

z-index:2;

}

/*==========================================================
                TEXTO HERO
==========================================================*/

.hero-content{

animation:heroFade .9s ease;

}

.hero-tag{

display:inline-flex;

align-items:center;

gap:10px;

padding:10px 20px;

border-radius:40px;

background:rgba(75,20,138,.08);

color:var(--purple);

font-weight:700;

margin-bottom:28px;

}

.hero-content h1{

color:var(--purple-dark);

margin-bottom:28px;

max-width:700px;

}

.hero-content p{

font-size:1.08rem;

line-height:1.9;

margin-bottom:38px;

max-width:650px;

}

.hero-buttons{

display:flex;

flex-wrap:wrap;

gap:18px;

margin-top:25px;

}

/*==========================================================
                HERO STATS
==========================================================*/

.hero-stats{

display:flex;

gap:45px;

margin-top:55px;

flex-wrap:wrap;

}

.hero-stat{

display:flex;

flex-direction:column;

}

.hero-stat strong{

font-size:2.2rem;

font-weight:700;

color:var(--purple);

}

.hero-stat span{

font-size:.9rem;

color:var(--text-light);

}

/*==========================================================
                IMAGEM HERO
==========================================================*/

.hero-image{

position:relative;

display:flex;

justify-content:center;

align-items:center;

animation:heroFloat 7s ease-in-out infinite;

}

.hero-image img{

width:100%;

max-width:560px;

border-radius:30px;

box-shadow:

0 35px 80px rgba(0,0,0,.18);

transition:.5s;

}

.hero-image:hover img{

transform:

scale(1.03)

rotate(-1deg);

}

/*==========================================================
                HALO
==========================================================*/

.hero-image::before{

content:"";

position:absolute;

width:520px;

height:520px;

border-radius:50%;

background:

radial-gradient(circle,
rgba(75,20,138,.14),
transparent 70%);

filter:blur(30px);

z-index:-2;

}

.hero-image::after{

content:"";

position:absolute;

width:240px;

height:240px;

border-radius:50%;

background:rgba(212,164,55,.15);

filter:blur(35px);

right:30px;

bottom:20px;

z-index:-1;

}

/*==========================================================
                ANIMAÇÕES
==========================================================*/

@keyframes heroFade{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:none;

}

}

@keyframes heroFloat{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-14px);

}

100%{

transform:translateY(0);

}

}

/*==========================================================
                    PESQUISA PREMIUM
==========================================================*/

.library-search{

position:relative;

padding:90px 0;

background:

linear-gradient(
180deg,
#ffffff,
#fafbfd
);

border-top:1px solid rgba(0,0,0,.05);

border-bottom:1px solid rgba(0,0,0,.05);

overflow:hidden;

}

.library-search::before{

content:"";

position:absolute;

width:380px;
height:380px;

top:-180px;
left:-180px;

border-radius:50%;

background:rgba(75,20,138,.05);

filter:blur(45px);

}

.library-search::after{

content:"";

position:absolute;

width:320px;
height:320px;

bottom:-170px;
right:-170px;

border-radius:50%;

background:rgba(212,164,55,.08);

filter:blur(40px);

}

.search-box{

position:relative;

max-width:760px;

margin:0 auto 45px;

z-index:2;

}

.search-box input{

width:100%;

height:72px;

padding:0 75px 0 28px;

border:none;

background:white;

border-radius:60px;

font-size:1rem;

box-shadow:

0 15px 40px rgba(0,0,0,.08);

transition:var(--transition);

}

.search-box input:focus{

transform:translateY(-2px);

box-shadow:

0 20px 50px rgba(75,20,138,.15);

}

.search-box i{

position:absolute;

right:28px;

top:50%;

transform:translateY(-50%);

font-size:1.2rem;

color:var(--purple);

pointer-events:none;

}

/*==========================================================
                    FILTROS PREMIUM
==========================================================*/

.library-filters{

display:flex;

justify-content:center;

align-items:center;

gap:16px;

flex-wrap:wrap;

}

.filter-btn{

padding:13px 28px;

border-radius:50px;

background:white;

border:2px solid rgba(75,20,138,.08);

font-weight:600;

font-size:.92rem;

color:var(--purple);

box-shadow:var(--shadow-xs);

transition:var(--transition);

}

.filter-btn:hover{

transform:translateY(-4px);

background:var(--purple);

color:white;

box-shadow:

0 15px 35px rgba(75,20,138,.22);

}

.filter-btn.active{

background:

linear-gradient(
135deg,
var(--purple),
var(--purple-light)
);

border:none;

color:white;

box-shadow:

0 18px 45px rgba(75,20,138,.30);

}

/*==========================================================
                    SOBRE
==========================================================*/

.library-about{

background:

linear-gradient(
180deg,
#ffffff,
#f8f9fc
);

overflow:hidden;

}

.about-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:35px;

margin-top:70px;

}

.about-card{

position:relative;

padding:45px 35px;

background:white;

border-radius:28px;

text-align:center;

overflow:hidden;

box-shadow:

0 15px 35px rgba(0,0,0,.06);

transition:.45s;

}

.about-card::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:5px;

background:

linear-gradient(
90deg,
var(--purple),
var(--gold)
);

transform:scaleX(0);

transform-origin:left;

transition:.45s;

}

.about-card:hover::before{

transform:scaleX(1);

}

.about-card::after{

content:"";

position:absolute;

width:180px;
height:180px;

border-radius:50%;

top:-90px;
right:-90px;

background:

rgba(75,20,138,.05);

transition:.45s;

}

.about-card:hover::after{

transform:scale(1.3);

}

.about-card:hover{

transform:translateY(-12px);

box-shadow:

0 25px 60px rgba(0,0,0,.10);

}

.about-card i{

width:85px;

height:85px;

margin:0 auto 28px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:

linear-gradient(
135deg,
rgba(75,20,138,.08),
rgba(212,164,55,.10)
);

color:var(--purple);

font-size:2rem;

transition:.45s;

}

.about-card:hover i{

background:

linear-gradient(
135deg,
var(--purple),
var(--purple-light)
);

color:white;

transform:

rotate(-8deg)

scale(1.08);

box-shadow:

0 18px 35px rgba(75,20,138,.25);

}

.about-card h3{

margin-bottom:18px;

font-size:1.35rem;

color:var(--purple);

}

.about-card p{

font-size:.95rem;

line-height:1.9;

color:var(--text-light);

}

/*==========================================================
                    BIBLIOTECA PREMIUM
==========================================================*/

.library-books{

position:relative;

background:

linear-gradient(
180deg,
#fafbfd,
#f3f5fb
);

overflow:hidden;

}

.library-books::before{

content:"";

position:absolute;

top:-220px;
left:-180px;

width:520px;
height:520px;

border-radius:50%;

background:rgba(75,20,138,.05);

filter:blur(50px);

}

.library-books::after{

content:"";

position:absolute;

bottom:-220px;
right:-180px;

width:480px;
height:480px;

border-radius:50%;

background:rgba(212,164,55,.08);

filter:blur(50px);

}

.books-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(330px,1fr));

gap:45px;

position:relative;

z-index:2;

}

/*==========================================================
                    CARD
==========================================================*/

.book-card{

position:relative;

display:flex;

flex-direction:column;

height:100%;

overflow:hidden;

border-radius:30px;

background:rgba(255,255,255,.92);

backdrop-filter:blur(12px);

border:1px solid rgba(255,255,255,.7);

box-shadow:

0 18px 45px rgba(0,0,0,.08);

transition:.5s;

}

.book-card:hover{

transform:

translateY(-15px);

box-shadow:

0 35px 80px rgba(0,0,0,.16);

}

/*==========================================================
                    LINHA SUPERIOR
==========================================================*/

.book-card::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:5px;

background:

linear-gradient(
90deg,
var(--purple),
var(--gold)
);

transform:scaleX(0);

transform-origin:left;

transition:.5s;

}

.book-card:hover::before{

transform:scaleX(1);

}

/*==========================================================
                    IMAGEM
==========================================================*/

.book-image{

position:relative;

padding:45px;

display:flex;

justify-content:center;

align-items:center;

background:

linear-gradient(
135deg,
#fafbfe,
#f2eefc
);

overflow:hidden;

}

/* brilho dourado */

.book-image::before{

content:"";

position:absolute;

width:320px;
height:320px;

border-radius:50%;

background:

radial-gradient(circle,
rgba(212,164,55,.18),
transparent 70%);

filter:blur(18px);

}

/* brilho roxo */

.book-image::after{

content:"";

position:absolute;

width:250px;
height:250px;

border-radius:50%;

background:

radial-gradient(circle,
rgba(75,20,138,.12),
transparent 70%);

top:-80px;
right:-80px;

}

/*==========================================================
                    CAPA
==========================================================*/

.book-cover{

position:relative;

width:225px;

border-radius:14px;

box-shadow:

0 30px 55px rgba(0,0,0,.25);

transition:.55s;

transform-style:preserve-3d;

z-index:3;

}

.book-card:hover .book-cover{

transform:

perspective(1200px)

rotateY(-14deg)

rotateX(5deg)

translateY(-6px)

scale(1.05);

}

/*==========================================================
                    BADGE
==========================================================*/

.book-status{

position:absolute;

top:20px;
right:20px;

padding:9px 18px;

border-radius:40px;

font-size:.78rem;

font-weight:700;

letter-spacing:.4px;

z-index:5;

box-shadow:

0 10px 25px rgba(0,0,0,.10);

}

.book-status.available{

background:#2FA563;

color:white;

}

.book-status.new{

background:

linear-gradient(
135deg,
var(--purple),
var(--purple-light)
);

color:white;

}

.book-status.soon{

background:

linear-gradient(
135deg,
var(--gold),
#E8C15E
);

color:white;

}

/*==========================================================
                    CONTEÚDO
==========================================================*/

.book-content{

padding:35px;

display:flex;

flex-direction:column;

flex:1;

}

.book-category{

display:inline-flex;

align-self:flex-start;

padding:8px 16px;

border-radius:30px;

background:rgba(75,20,138,.08);

color:var(--purple);

font-size:.82rem;

font-weight:700;

margin-bottom:18px;

}

.book-content h3{

font-size:1.45rem;

line-height:1.35;

margin-bottom:18px;

color:var(--purple);

}

.book-content p{

line-height:1.85;

margin-bottom:28px;

flex:1;

}

/*==========================================================
                    AUTOR
==========================================================*/

.book-author{

display:flex;

align-items:center;

gap:12px;

margin-bottom:28px;

font-size:.92rem;

font-weight:600;

color:var(--text-light);

}

.book-author i{

color:var(--gold);

font-size:1rem;

}

/*==========================================================
                    BOTÕES
==========================================================*/

.book-buttons{

display:flex;

gap:14px;

flex-wrap:wrap;

margin-top:auto;

}

.book-buttons .btn{

flex:1;

min-width:130px;

}

/*==========================================================
                    ANIMAÇÃO
==========================================================*/

.book-card{

animation:bookFade .8s ease both;

}

@keyframes bookFade{

from{

opacity:0;

transform:translateY(35px);

}

to{

opacity:1;

transform:none;

}

}

/*==========================================================
                    MHD READER PREMIUM
==========================================================*/

.reader-section{

position:relative;

background:#ffffff;

overflow:hidden;

}

.reader-section::before{

content:"";

position:absolute;

top:-220px;
right:-180px;

width:500px;
height:500px;

border-radius:50%;

background:rgba(75,20,138,.05);

filter:blur(45px);

}

.reader-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

position:relative;

z-index:2;

}

.reader-content h2{

font-size:clamp(2rem,4vw,3rem);

margin-bottom:25px;

color:var(--purple);

}

.reader-content p{

line-height:1.9;

margin-bottom:35px;

}

.reader-features{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

margin-top:35px;

}

.reader-features li{

display:flex;

align-items:center;

gap:14px;

padding:18px 22px;

background:white;

border-radius:18px;

box-shadow:var(--shadow-xs);

transition:var(--transition);

}

.reader-features li:hover{

transform:translateY(-6px);

box-shadow:var(--shadow-sm);

}

.reader-features i{

color:var(--success);

font-size:1.1rem;

}

.reader-image{

display:flex;

justify-content:center;

}

.reader-image img{

max-width:520px;

border-radius:32px;

box-shadow:var(--shadow-lg);

transition:.5s;

}

.reader-image:hover img{

transform:scale(1.03);

}

/*==========================================================
                PRÓXIMOS LANÇAMENTOS
==========================================================*/

.future-books{

background:

linear-gradient(
180deg,
#f8f9fc,
#ffffff
);

}

.future-box{

max-width:950px;

margin:auto;

padding:80px 60px;

background:white;

border-radius:34px;

text-align:center;

box-shadow:var(--shadow);

position:relative;

overflow:hidden;

}

.future-box::before{

content:"";

position:absolute;

top:-120px;
right:-120px;

width:260px;
height:260px;

border-radius:50%;

background:rgba(75,20,138,.05);

}

.future-box i{

font-size:4.5rem;

color:var(--gold);

margin-bottom:25px;

}

.future-box h3{

font-size:2rem;

margin-bottom:20px;

color:var(--purple);

}

.future-box p{

max-width:650px;

margin:auto auto 35px;

}

/*==========================================================
                    CONTACTO
==========================================================*/

.library-contact{

background:white;

}

.contact-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:35px;

}

.contact-card{

padding:45px 35px;

background:white;

border-radius:26px;

text-align:center;

box-shadow:var(--shadow-xs);

transition:.45s;

}

.contact-card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow);

}

.contact-card i{

font-size:2.8rem;

margin-bottom:22px;

color:var(--purple);

}

.contact-card h3{

margin-bottom:15px;

color:var(--purple);

}

.contact-card a{

font-weight:600;

color:var(--purple);

word-break:break-word;

}

.contact-card a:hover{

color:var(--gold);

}

/*==========================================================
                    FOOTER
==========================================================*/

.library-footer{

background:

linear-gradient(
135deg,
var(--purple-dark),
var(--purple)
);

color:white;

padding:90px 0 35px;

}

.footer-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:50px;

margin-bottom:60px;

}

.footer-column h3{

margin-bottom:22px;

color:var(--gold);

}

.footer-column p{

color:rgba(255,255,255,.78);

}

.footer-column ul{

display:flex;

flex-direction:column;

gap:14px;

}

.footer-column a{

color:rgba(255,255,255,.85);

transition:.35s;

}

.footer-column a:hover{

color:var(--gold);

padding-left:8px;

}

.library-footer hr{

border:none;

height:1px;

background:rgba(255,255,255,.12);

margin-bottom:25px;

}

.footer-bottom{

text-align:center;

}

.footer-bottom p{

color:rgba(255,255,255,.65);

font-size:.9rem;

}

/*==========================================================
                BOTÃO TOPO
==========================================================*/

.back-to-top{

position:fixed;

right:28px;

bottom:28px;

width:58px;

height:58px;

border-radius:50%;

background:

linear-gradient(
135deg,
var(--purple),
var(--purple-light)
);

display:flex;

align-items:center;

justify-content:center;

color:white;

font-size:1.15rem;

box-shadow:var(--shadow);

transition:.4s;

z-index:999;

}

.back-to-top:hover{

transform:translateY(-6px);

box-shadow:var(--shadow-purple);

}

.back-to-top.hidden{

opacity:0;

visibility:hidden;

pointer-events:none;

}

/*==========================================================
                    RESPONSIVO
==========================================================*/

@media(max-width:1100px){

.hero-grid,
.reader-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero-buttons,
.hero-stats{

justify-content:center;

}

.hero-content p{

margin-left:auto;
margin-right:auto;

}

.reader-features{

grid-template-columns:1fr;

}

.hero-image{

margin-top:50px;

}

}

@media(max-width:900px){

.about-grid{

grid-template-columns:repeat(2,1fr);

}

.library-nav{

display:none;

}

}

@media(max-width:768px){

section{

padding:90px 0;

}

.books-grid{

grid-template-columns:1fr;

}

.about-grid{

grid-template-columns:1fr;

}

.contact-grid{

grid-template-columns:1fr;

}

.book-buttons{

flex-direction:column;

}

.book-buttons .btn{

width:100%;

}

.future-box{

padding:50px 30px;

}

.hero-image img{

max-width:360px;

}

}

@media(max-width:500px){

.library-logo span{

display:none;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons .btn{

width:100%;

}

.filter-btn{

width:100%;

}

.search-box input{

height:62px;

font-size:.95rem;

}

.back-to-top{

width:52px;

height:52px;

right:18px;

bottom:18px;

}

}


/*==========================================================
                ANIMAÇÕES PREMIUM
==========================================================*/

.reveal{

opacity:0;

transform:translateY(70px);

transition:

opacity .9s ease,

transform .9s ease;

will-change:transform,opacity;

}

.reveal.show{

opacity:1;

transform:translateY(0);

}

/*-------------------------*/

.reveal-left{

opacity:0;

transform:translateX(-80px);

transition:.9s ease;

}

.reveal-left.show{

opacity:1;

transform:none;

}

/*-------------------------*/

.reveal-right{

opacity:0;

transform:translateX(80px);

transition:.9s ease;

}

.reveal-right.show{

opacity:1;

transform:none;

}

/*-------------------------*/

.zoom-in{

opacity:0;

transform:scale(.85);

transition:.8s ease;

}

.zoom-in.show{

opacity:1;

transform:scale(1);

}

/*-------------------------*/

.rotate-up{

opacity:0;

transform:

translateY(50px)

rotateX(20deg);

transition:.8s ease;

transform-origin:bottom;

}

.rotate-up.show{

opacity:1;

transform:none;

}

/*-------------------------*/

.delay-1{

transition-delay:.10s;

}

.delay-2{

transition-delay:.20s;

}

.delay-3{

transition-delay:.30s;

}

.delay-4{

transition-delay:.40s;

}

.delay-5{

transition-delay:.50s;

}

/*==========================================================
            LIVROS 3D PREMIUM
==========================================================*/

.book-card{

perspective:1500px;

}

.book-image{

transform-style:preserve-3d;

}

.book-cover{

position:relative;

transition:

transform .25s linear,

box-shadow .25s linear;

transform-style:preserve-3d;

will-change:transform;

}

/* brilho */

.book-cover::after{

content:"";

position:absolute;

left:0;
top:0;

width:100%;
height:100%;

border-radius:14px;

background:

linear-gradient(

120deg,

transparent 20%,

rgba(255,255,255,.35) 45%,

transparent 70%

);

opacity:0;

transition:.25s;

pointer-events:none;

}

.book-card:hover .book-cover::after{

opacity:1;

}

/* sombra */

.book-card:hover .book-cover{

box-shadow:

0 45px 80px rgba(0,0,0,.28);

}

/*==========================================================
            EFEITO 3D NAS CAPAS
==========================================================*/

const cards=document.querySelectorAll(".book-card");

cards.forEach(card=>{

const cover=card.querySelector(".book-cover");

card.addEventListener("mousemove",(e)=>{

const rect=card.getBoundingClientRect();

const x=e.clientX-rect.left;

const y=e.clientY-rect.top;

const rotateY=((x-rect.width/2)/18);

const rotateX=((rect.height/2-y)/18);

cover.style.transform=

`perspective(1200px)
 rotateY(${rotateY}deg)
 rotateX(${rotateX}deg)
 scale(1.05)`;

});

card.addEventListener("mouseleave",()=>{

cover.style.transform=

"perspective(1200px) rotateX(0) rotateY(0) scale(1)";

});

});

.book-card::after{

content:"";

position:absolute;

left:-150%;

top:0;

width:70%;

height:100%;

background:

linear-gradient(

90deg,

transparent,

rgba(255,255,255,.45),

transparent

);

transform:skewX(-20deg);

transition:1s;

pointer-events:none;

}

.book-card:hover::after{

left:180%;

}

