/*
Theme Name: Made Laine Library V7 Clean 7.1.0
Theme URI: https://example.com/
Author: OpenAI
Description: Biblioteca narrativa interactiva para WordPress, con estantería cinematográfica y efectos interactivos.
Version: 7.1.0
Text Domain: made-laine-library
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600&display=swap');
:root{--ink:#eee8da;--muted:#bdb3a0;--gold:#d7b36a;--gold2:#a88343;--dark:#0c0908;--wood:#2a1710}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0c0908;color:var(--ink);font-family:'DM Sans',sans-serif}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,96px);position:absolute;top:0;left:0;right:0;z-index:20;border-bottom:1px solid rgba(215,179,106,.1)}.brand{color:var(--ink);text-decoration:none;letter-spacing:.28em;display:flex;flex-direction:column;gap:7px}.brand strong{font-size:15px;font-weight:500}.brand span{font-size:8px;letter-spacing:.35em;color:#b9a991}.main-nav{display:flex;gap:38px}.main-nav a{color:#d9d0c1;text-decoration:none;font-size:11px;letter-spacing:.17em;position:relative}.main-nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:-11px;height:1px;background:var(--gold)}.header-tools{display:flex;gap:18px}.header-tools button{background:none;border:0;color:#e6ddce;font-size:24px;cursor:pointer}.library-hero{min-height:820px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 32%,rgba(179,138,60,.32),transparent 22%),radial-gradient(circle at 15% 55%,rgba(80,32,26,.35),transparent 30%),linear-gradient(120deg,#100b09,#24130c 52%,#090706)}.library-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),transparent 48%,rgba(0,0,0,.6)),url('assets/images/library-hero.png') center/cover no-repeat;opacity:.23;filter:blur(1px);transform:scale(1.04)}.hero-glow{position:absolute;width:550px;height:550px;right:7%;top:8%;background:radial-gradient(circle,rgba(218,170,72,.25),transparent 65%);filter:blur(25px)}.hero-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 30%,#0c0908 100%)}.hero-inner{z-index:2;text-align:center;max-width:850px;padding:110px 24px 40px}.hero-kicker,.small-label{font-size:10px;letter-spacing:.42em;color:var(--gold);margin-bottom:30px}.hero-inner h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(52px,6.4vw,96px);line-height:.91;margin:0 0 28px;letter-spacing:-.03em}.hero-inner p{font-family:'Cormorant Garamond',serif;font-style:italic;color:#cfc3b0;font-size:19px;line-height:1.5;max-width:720px;margin:0 auto 38px}.gold-button{display:inline-flex;gap:20px;align-items:center;color:#f1dfbd;text-decoration:none;font-size:10px;letter-spacing:.22em;border-bottom:1px solid var(--gold);padding:0 0 11px}.gold-button span{font-size:17px}.library-room{padding:110px clamp(20px,5vw,80px) 130px;background:linear-gradient(180deg,#0c0908 0,#17100d 100%);position:relative;overflow:hidden}.library-room:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 150px,rgba(255,255,255,.012) 151px,transparent 153px);pointer-events:none}.room-heading{max-width:1320px;margin:0 auto 65px;display:grid;grid-template-columns:70px 1fr 380px;gap:30px;align-items:end}.room-index{font-size:11px;color:var(--gold);letter-spacing:.2em}.room-heading h2{font-family:'Cormorant Garamond',serif;font-size:72px;font-weight:500;margin:0}.room-copy{color:#a99d8a;line-height:1.65;font-size:14px;margin:0 0 5px}.shelf-wrap{max-width:1370px;margin:auto;position:relative}.bookshelf-track{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;padding:0 70px 45px;perspective:1000px}.bookshelf-track::-webkit-scrollbar{display:none}.book-card{flex:0 0 190px;transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .25s ease,filter .25s ease;position:relative}.book-card:hover{filter:brightness(1.08)}.book-cover-link{display:block;text-decoration:none}.book-cover{height:330px;position:relative;overflow:hidden;border:1px solid rgba(224,190,124,.32);background:linear-gradient(145deg,#263a2f,#0d1612);box-shadow:10px 15px 28px rgba(0,0,0,.4),inset 0 0 0 5px rgba(255,255,255,.025)}.book-cover img{width:100%;height:100%;object-fit:cover;display:block}.cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.58))}.cover-title{position:absolute;left:17px;right:17px;top:28px;text-align:center;text-transform:uppercase;font-family:'Cormorant Garamond',serif;font-size:21px;line-height:1.02;letter-spacing:.18em;text-shadow:0 2px 10px #000}.cover-ornament{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:var(--gold);font-size:19px}.book-note{padding:14px 5px}.book-note p{font-family:'Cormorant Garamond',serif;color:#bcb09d;font-size:15px;line-height:1.3;min-height:40px;margin:0 0 11px}.book-note a{font-size:10px;letter-spacing:.2em;color:var(--gold);text-decoration:none}.book-note a span{font-size:16px}.shelf-board{height:16px;margin:0 35px;background:linear-gradient(#d7aa5b,#805725 45%,#4a2916);box-shadow:0 7px 18px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.35) inset;border-radius:8px}.shelf-arrow{position:absolute;z-index:5;top:150px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(215,179,106,.45);background:rgba(10,7,6,.7);color:#e6c77f;font-size:30px;line-height:1;cursor:pointer}.shelf-arrow.prev{left:4px}.shelf-arrow.next{right:4px}.incense{position:absolute;right:3px;bottom:7px;width:48px;height:70px}.incense:before{content:'';position:absolute;bottom:0;left:6px;width:36px;height:27px;background:linear-gradient(135deg,#b87836,#5c321b);clip-path:polygon(12% 0,88% 0,72% 100%,28% 100%);border-radius:0 0 9px 9px}.incense span{position:absolute;bottom:22px;left:23px;width:2px;height:34px;background:#d4a268}.incense i{position:absolute;bottom:51px;width:10px;height:18px;border-radius:50%;border:1px solid rgba(220,220,220,.3);filter:blur(2px);opacity:.3;animation:smoke 4s infinite}.incense i:nth-child(2){left:10px}.incense i:nth-child(3){left:24px;animation-delay:1s}.incense i:nth-child(4){left:32px;animation-delay:2s}@keyframes smoke{50%{transform:translateY(-25px) translateX(9px) scale(1.4);opacity:.08}100%{transform:translateY(-45px) translateX(-4px) scale(1.8);opacity:0}}.library-quote{text-align:center;margin:80px auto 0;color:#d0ad67}.library-quote blockquote{font-family:'Cormorant Garamond',serif;font-size:24px;font-style:italic;line-height:1.35;margin:18px}.library-quote span{color:#8d6a34}.site-footer{padding:40px 6vw;border-top:1px solid rgba(215,179,106,.12);display:flex;justify-content:space-between;color:#756b5d;font-size:10px;letter-spacing:.18em}.quiet-mode .library-hero:before{opacity:.12}.quiet-mode .hero-glow{opacity:.45}.empty-library{padding:90px 20px;text-align:center;color:#9d927f}.empty-library p{font-family:'Cormorant Garamond',serif;font-size:30px}.empty-library small{color:#786f61}.library-search{display:none}@media(max-width:900px){.site-header{padding:0 22px}.main-nav{display:none}.hero-inner h1{font-size:54px}.room-heading{grid-template-columns:1fr;gap:12px}.room-heading h2{font-size:55px}.room-copy{max-width:560px}.bookshelf-track{padding-left:35px;padding-right:35px}.shelf-arrow{display:none}}@media(max-width:600px){.site-header{height:75px}.brand span{font-size:7px}.header-tools{gap:7px}.library-hero{min-height:720px}.hero-inner{padding-top:100px}.hero-inner h1{font-size:44px}.hero-inner p{font-size:17px}.library-room{padding-top:75px}.room-heading h2{font-size:47px}.book-card{flex-basis:170px}.book-cover{height:300px}.site-footer{flex-direction:column;gap:10px}}


/* V5: WordPress-generated book metadata and user-uploaded featured covers */
.book-cover {
  position: relative;
  overflow: hidden;
  background: #16130f;
}
.book-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.book-meta {
  padding: 16px 8px 0;
}
.book-title {
  margin: 0 0 8px;
  color: var(--cream, #f3ead8);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.18rem;
  line-height: 1.15;
  font-weight: 500;
}
.book-note-text {
  margin: 0 0 10px;
  color: rgba(243,234,216,.72);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: .92rem;
  line-height: 1.5;
}
.book-read {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  color: var(--gold, #d7b36a);
  text-decoration: none;
  font-size: .78rem;
  letter-spacing: .18em;
}
.book-card--missing-cover .book-cover {
  display:flex; align-items:center; justify-content:center;
}
.book-placeholder {
  width:100%; height:100%; min-height:320px;
  display:flex; align-items:center; justify-content:center;
  color:rgba(243,234,216,.5);
  border:1px solid rgba(215,179,106,.35);
  background: radial-gradient(circle at 50% 35%, rgba(215,179,106,.14), transparent 45%), #16130f;
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.7rem;
}

/* V6: featured images are the complete book cover. No text is painted over them. */
.book-cover-link { display:block; }
.book-cover .book-placeholder { width:100%; height:100%; display:grid; place-items:center; background:linear-gradient(145deg,#1b1713,#0d0b09); color:#9b8c76; font-family:'Cormorant Garamond',serif; font-size:20px; letter-spacing:.12em; text-transform:uppercase; }
.book-meta .book-title, .book-meta .book-note-text, .book-meta .book-read { position:relative; z-index:2; }

/* V7 hardening: the active homepage is intentionally duplicated in index.php so
   WordPress template hierarchy or a static-page setting cannot fall back to the old layout. */
.library-page{position:relative;z-index:1}
.library-room{isolation:isolate}
.book-card{overflow:visible}
.book-cover{aspect-ratio:190/330}
.book-cover img{object-fit:cover !important}


/* V7.0.7 visual refinement: clean background and magical cursor */
.library-hero:before{background-image:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.08) 48%,rgba(0,0,0,.58)),url("assets/images/library-hero.png");opacity:.42;background-position:center center;background-size:cover;}
.library-hero{background:#0b0807;}
.cursor-glow{position:fixed;left:0;top:0;width:24px;height:24px;border:1px solid rgba(230,191,103,.75);border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);mix-blend-mode:screen;box-shadow:0 0 18px rgba(230,191,103,.28),0 0 34px rgba(230,191,103,.12);transition:width .18s ease,height .18s ease,border-color .18s ease;}
.cursor-glow.is-hover{width:38px;height:38px;border-color:rgba(255,222,145,.95);}
.cursor-spark{position:fixed;width:4px;height:4px;border-radius:50%;background:#e8c77d;pointer-events:none;z-index:99998;box-shadow:0 0 8px #e8c77d,0 0 14px rgba(232,199,125,.55);animation:sparkFade .7s ease-out forwards;}
@keyframes sparkFade{0%{opacity:.9;transform:scale(1) translate(0,0)}100%{opacity:0;transform:scale(.1) translate(var(--sx),var(--sy))}}
@media (pointer:coarse){.cursor-glow,.cursor-spark{display:none}}

/* V7.0.2 — dedicated reading-page layout so opening a story never falls into a blank/unstyled screen. */
.story-page{position:relative;min-height:100vh;padding:150px clamp(24px,7vw,110px) 100px;background:radial-gradient(circle at 75% 35%,rgba(196,151,70,.16),transparent 25%),linear-gradient(135deg,#0a0807,#17100d 55%,#080605);overflow:hidden;}
.story-page::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.12) 50%,rgba(0,0,0,.62)),url("assets/images/library-hero.png") center/cover no-repeat;opacity:.28;filter:blur(1px);transform:scale(1.03);pointer-events:none;}
.story-reading{position:relative;z-index:2;max-width:900px;margin:0 auto;padding:48px clamp(24px,5vw,76px);background:rgba(7,5,4,.78);border:1px solid rgba(215,179,106,.18);box-shadow:0 30px 90px rgba(0,0,0,.45);}
.back-link{display:inline-block;color:var(--gold);text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:10px;margin-bottom:45px;}
.story-reading h1{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,7vw,86px);font-weight:500;line-height:.95;margin:0 0 30px;color:#f1eadc;}
.story-image{max-width:420px;margin:0 auto 45px;border:1px solid rgba(215,179,106,.35);box-shadow:0 20px 45px rgba(0,0,0,.45);}
.story-image img{display:block;width:100%;height:auto;}
.story-content{font-family:'Cormorant Garamond',serif;font-size:21px;line-height:1.72;color:#d9d0c2;}
.story-content p{margin:0 0 1.35em;}
.story-end{margin-top:55px;padding-top:30px;border-top:1px solid rgba(215,179,106,.2);text-align:center;color:#9f917c;font-family:'Cormorant Garamond',serif;}
.story-end span{color:var(--gold);font-size:22px}.story-end a{color:var(--gold);text-decoration:none;letter-spacing:.15em;text-transform:uppercase;font-family:'DM Sans',sans-serif;font-size:10px;}
@media(max-width:700px){.ambient-plant{right:-3px;transform:scale(.82);transform-origin:bottom right}.story-page{padding:110px 16px 70px}.story-reading{padding:30px 20px}.story-reading h1{font-size:46px}.story-content{font-size:19px}.story-image{max-width:100%;}}


/* V7.0.5 — truly minimal lavender plant, built from separate animated stems.
   No embedded image, shelf, or duplicated background. */
.ambient-plant.lavender-ornament{
  position:absolute;right:0;bottom:12px;width:142px;height:166px;z-index:20;display:block;visibility:visible;
  pointer-events:none;transform-origin:76% 100%;animation:lavenderWholeSway 8s ease-in-out infinite;
  filter:drop-shadow(0 8px 9px rgba(0,0,0,.45));
}
.lavender-stems{position:absolute;inset:0;transform-origin:76% 100%;}
.lavender-stem{position:absolute;bottom:35px;left:76px;width:3px;height:104px;border-radius:999px;background:linear-gradient(#a5bd78,#55714a);transform-origin:bottom center;}
.lavender-stem i{position:absolute;top:-7px;left:-7px;width:17px;height:39px;border-radius:50% 50% 45% 45%;background:linear-gradient(180deg,#d9c5f2,#9b83cb 55%,#7660a1);box-shadow:0 0 8px rgba(192,158,238,.12);}
.lavender-stem i:before,.lavender-stem i:after{content:"";position:absolute;width:12px;height:17px;border-radius:50%;background:inherit;top:10px;}
.lavender-stem i:before{left:-8px;transform:rotate(-24deg)}
.lavender-stem i:after{right:-8px;transform:rotate(24deg)}
.lavender-stem.stem-1{height:84px;transform:rotate(-27deg);animation:stemOne 5.7s ease-in-out infinite}
.lavender-stem.stem-2{height:112px;transform:rotate(-13deg);animation:stemTwo 6.4s ease-in-out infinite}
.lavender-stem.stem-3{height:124px;transform:rotate(0deg);animation:stemThree 6.8s ease-in-out infinite}
.lavender-stem.stem-4{height:109px;transform:rotate(14deg);animation:stemFour 6.1s ease-in-out infinite}
.lavender-stem.stem-5{height:87px;transform:rotate(28deg);animation:stemFive 5.9s ease-in-out infinite}
.lavender-leaves b{position:absolute;bottom:37px;left:70px;width:27px;height:10px;border-radius:100% 0 100% 0;background:#6f9560;transform-origin:left center;}
.lavender-leaves b:nth-child(1){transform:rotate(204deg) translateX(2px)}
.lavender-leaves b:nth-child(2){transform:rotate(-18deg) translateX(3px)}
.lavender-leaves b:nth-child(3){transform:rotate(155deg) translateX(3px)}
.lavender-pot{position:absolute;left:47px;bottom:0;width:58px;height:39px;background:linear-gradient(135deg,#d5a067,#a66d3f 60%,#75462c);clip-path:polygon(3% 0,97% 0,82% 100%,18% 100%);border-radius:0 0 9px 9px;box-shadow:inset 0 2px 3px rgba(255,228,174,.35),0 5px 8px rgba(0,0,0,.35);}
.lavender-pot span{position:absolute;left:-3px;top:-5px;width:64px;height:10px;border-radius:50%;background:linear-gradient(#e3b37b,#a66a3b);box-shadow:0 2px 3px rgba(0,0,0,.3)}
@keyframes lavenderWholeSway{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(1.4deg) translateX(1px)}}
@keyframes stemOne{0%,100%{transform:rotate(-27deg)}50%{transform:rotate(-31deg)}}
@keyframes stemTwo{0%,100%{transform:rotate(-13deg)}50%{transform:rotate(-17deg)}}
@keyframes stemThree{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-3deg)}}
@keyframes stemFour{0%,100%{transform:rotate(14deg)}50%{transform:rotate(19deg)}}
@keyframes stemFive{0%,100%{transform:rotate(28deg)}50%{transform:rotate(33deg)}}
@media(max-width:900px){.ambient-plant.lavender-ornament{right:-4px;bottom:9px;transform:scale(.9);transform-origin:bottom right}}
@media(max-width:600px){.ambient-plant.lavender-ornament{right:-6px;bottom:7px;transform:scale(.78);transform-origin:bottom right}}
