/*
Theme Name: Dupapai Coruja Catalogo
Theme URI: https://www.dupapaicoruja.com
Author: Dupapai Coruja
Description: Catálogo de toppers com downloads organizados por tema.
Version: 1.9.3
Text Domain: dupapai-coruja
*/

:root { --pink:#f01820; --rose:#fff7d8; --ink:#3b260f; --yellow:#ffe500; --paper:#fffdf2; --line:#edc900; --red:#f01820; }
* { box-sizing:border-box; }
body { margin:0; background:var(--yellow); color:var(--ink); font-family:Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
.home-actions { padding:52px 0; }
.home-actions__list { display:grid; gap:16px; max-width:760px; margin:auto; }
.home-actions__button { display:flex; min-height:74px; align-items:center; justify-content:center; padding:18px 24px; border-radius:14px; background:var(--red); color:#fff; font-weight:900; font-size:clamp(1rem,2.4vw,1.35rem); text-align:center; box-shadow:0 5px 0 #c90810; }
.home-actions__button:hover { transform:translateY(2px); box-shadow:0 3px 0 #c90810; }
.home-print-link { display:block; margin:6px auto 0; color:#5b3900; font-size:.95rem; font-weight:900; text-align:center; text-decoration:underline; text-underline-offset:4px; }
.resource-page { padding:52px 0 76px; }
.resource-page__intro { max-width:760px; margin:0 auto 30px; text-align:center; }
.resource-card { max-width:760px; margin:0 auto; padding:26px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(75,56,0,.08); }
.resource-card__button { display:flex; align-items:center; justify-content:center; min-height:70px; padding:16px 22px; border-radius:12px; background:var(--red); color:#fff; font-weight:900; text-align:center; }
.pdf-downloads { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; max-width:920px; margin:28px auto 0; }
.pdf-download { display:flex; align-items:center; justify-content:center; min-height:76px; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; font-weight:800; text-align:center; }
.pdf-download:hover { background:#fff8d9; }
.site-header { background:var(--yellow); border-bottom:1px solid var(--line); }
.site-print-bar { background:var(--yellow); padding:0 0 15px; text-align:center; }
.print-help-link { color:#6b2500; font-weight:900; text-decoration:underline; text-underline-offset:4px; }
.nav-wrap, .container { width:min(1120px, calc(100% - 32px)); margin:auto; }
.nav-wrap { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand, .brand span { font-weight:900; font-size:1.25rem; letter-spacing:.02em; color:#b68100; }
.main-nav { display:flex; align-items:center; gap:22px; font-weight:700; font-size:.95rem; }
.main-nav a:hover { color:#b68100; }
.hero { background:linear-gradient(120deg,#fff4b8,#fffbe7 58%,#fff1ac); padding:78px 0; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:48px; align-items:center; }
.eyebrow { color:#b68100; font-size:.78rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
h1 { font-size:clamp(2.4rem,5vw,4.7rem); line-height:1; margin:12px 0 20px; max-width:720px; }
h2 { font-size:clamp(1.7rem,3vw,2.5rem); margin:0 0 12px; }
.hero p, .intro { font-size:1.1rem; line-height:1.6; max-width:620px; }
.button { display:inline-block; border:0; border-radius:999px; background:var(--red); color:#fff; padding:15px 24px; font-weight:800; margin:12px 8px 0 0; cursor:pointer; }
.button.alt { background:var(--red); color:#fff; }
.hero-art { background:white; border:8px solid #fff; border-radius:30px; padding:22px; box-shadow:0 20px 40px #8f731b33; transform:rotate(3deg); }
.hero-art div { height:250px; display:grid; place-items:center; text-align:center; background:#fff1a6; border-radius:19px; font-size:2rem; font-weight:900; color:#b68100; }
.home-action { min-height:420px; display:grid; place-items:center; background:linear-gradient(120deg,#fff4b8,#fffbe7 58%,#fff1ac); text-align:center; }
.home-action .button { font-size:clamp(1.05rem,2vw,1.35rem); padding:20px 32px; box-shadow:0 12px 24px #8f731b33; }
.section { padding:70px 0; }
.section-tint { background:#fff9df; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:28px; }
.theme-grid, .topper-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.theme-card, .topper-card { background:white; border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 6px 16px #71323e0a; }
.theme-card { min-height:160px; padding:24px; display:flex; flex-direction:column; justify-content:end; background:linear-gradient(150deg,#fff,#fff3b8); }
.theme-card:nth-child(2n) { background:linear-gradient(150deg,#fff,#ffe897); }
.theme-card strong { font-size:1.25rem; }
.topper-card img { display:block; aspect-ratio:1/1; width:100%; object-fit:cover; background:#fff2b5; }
.theme-card img { width:100%; height:140px; margin:-24px -24px 18px; width:calc(100% + 48px); object-fit:cover; }
.cover-preview { display:block; border:0; padding:0; width:100%; background:transparent; cursor:zoom-in; }
.card-body { padding:16px; }
.card-body h3 { margin:0 0 8px; font-size:1.05rem; }
.card-body p { margin:0; color:#735d64; font-size:.9rem; }
.static-buttons { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.static-buttons .button { padding:10px 13px; font-size:.82rem; margin:0; }
.catalog-browser { display:grid; grid-template-columns:minmax(0,1fr) 46px; gap:20px; align-items:start; }
.theme-search { margin:0 0 28px; }
.theme-search label { display:block; font-weight:800; margin-bottom:9px; }
.search-input-wrap { display:flex; align-items:center; gap:9px; max-width:620px; padding:0 14px; background:#fff; border:2px solid var(--line); border-radius:14px; }
.search-input-wrap span { font-size:1.25rem; }
.search-input-wrap input { min-width:0; width:100%; border:0; outline:0; padding:15px 0; font:inherit; color:var(--ink); }
.search-suggestion { min-height:1.3em; margin:8px 0 0; color:#705c22; font-size:.92rem; }
.theme-letter-group { scroll-margin-top:28px; margin:0 0 34px; }
.theme-letter-group h2 { color:#b68100; font-size:1.35rem; border-bottom:1px solid var(--line); padding-bottom:8px; }
.theme-card.is-hidden, .theme-letter-group.is-hidden { display:none; }
.catalog-hero { padding:48px 0 28px; }
.inspiration-cta { display:inline-flex; align-items:center; justify-content:center; max-width:620px; margin:16px 0 0 12px; padding:14px 18px; border-radius:12px; background:var(--red); color:#fff; font-weight:900; text-align:center; box-shadow:0 4px 0 #c90810; }
.inspiration-cta:hover { transform:translateY(2px); box-shadow:0 2px 0 #c90810; }
.inspiration-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:22px; }
.inspiration-card { overflow:hidden; border:1px solid #ead4aa; border-radius:18px; background:#fff; box-shadow:0 8px 22px #3b260f14; }
.inspiration-card img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }
.inspiration-card div { padding:16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.inspiration-card h2 { margin:0; font-size:1.05rem; }
.empty-note { border:2px dashed #eac4d0; padding:22px; border-radius:16px; background:#fff; color:#735d64; }
.topper-layout { display:grid; grid-template-columns:minmax(260px,.9fr) 1.1fr; gap:42px; padding:58px 0; }
.topper-cover { width:100%; border-radius:22px; background:#f8e5ea; aspect-ratio:1/1; object-fit:cover; }
.download-box { margin-top:25px; padding:22px; background:#fff9df; border-radius:18px; }
.download-box label { display:block; font-weight:800; margin-bottom:8px; }
.download-box select { width:100%; padding:12px; border:1px solid #e3b8c5; border-radius:10px; background:white; }
.download-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.download-actions .button { margin:0; }
.button.unavailable { background:#b5a46c; color:#fffdf2; cursor:not-allowed; opacity:.9; }
.download-help { margin:14px 0 0; color:#705c22; font-size:.9rem; }
.site-footer { background:var(--yellow); color:var(--ink); padding:38px 0; margin-top:30px; text-align:center; }
.footer-video-link { color:#6b2500; font-weight:900; text-decoration:underline; text-underline-offset:4px; }
.image-lightbox { position:fixed; inset:0; z-index:9999; display:none; place-items:center; padding:24px; background:#000c; }
.image-lightbox.open { display:grid; }
.image-lightbox img { max-width:min(92vw,950px); max-height:88vh; border-radius:12px; background:#fff; }
.image-lightbox button { position:absolute; top:18px; right:22px; border:0; background:#fff; color:#332800; width:42px; height:42px; border-radius:50%; font-size:26px; cursor:pointer; }
.print-ad { display:flex; align-items:center; justify-content:center; gap:14px; width:100%; padding:14px 18px; border:2px solid #8d171c; border-radius:16px; background:linear-gradient(135deg,#d9353a,#a81920); color:#fff; text-align:left; box-shadow:0 6px 0 #7b1217,0 12px 24px rgba(91,57,0,.2); animation:dc-print-ad-pulse 2.8s ease-in-out infinite; }
.print-ad:hover { animation-play-state:paused; transform:translateY(2px); box-shadow:0 4px 0 #7b1217,0 8px 18px rgba(91,57,0,.2); }
.print-ad__marker { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; border-radius:10px; background:#ffdc00; color:#612000; font-size:1.45rem; font-weight:900; animation:dc-marker-wiggle 1.8s ease-in-out infinite; }
.print-ad__content { display:grid; gap:3px; min-width:0; }
.print-ad__content strong { font-size:clamp(.82rem,2vw,1rem); line-height:1.18; }
.print-ad__content small { font-size:.78rem; font-weight:700; }
.print-ad__arrow { margin-left:auto; font-size:1.55rem; font-weight:900; }
.print-ad--top { margin:4px 0 0; }
.print-ad--home { margin-top:4px; }
.print-ad--between-covers { grid-column:1 / -1; margin:8px 0; }
.print-ad--between-themes { grid-column:1 / -1; margin:8px 0; }
.catalog-hero .print-help-link { display:none; }
.button:not(.unavailable), .home-actions__button, .inspiration-cta { animation:dc-button-breathe 3.2s ease-in-out infinite; }
@keyframes dc-print-ad-pulse { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); box-shadow:0 8px 0 #7b1217,0 16px 28px rgba(91,57,0,.27); } }
@keyframes dc-marker-wiggle { 0%,100% { transform:rotate(0deg) scale(1); } 50% { transform:rotate(-8deg) scale(1.1); } }
@keyframes dc-button-breathe { 0%,100% { filter:brightness(1); } 50% { filter:brightness(1.08); } }
@media (prefers-reduced-motion:reduce) { .print-ad, .print-ad__marker, .button:not(.unavailable), .home-actions__button, .inspiration-cta { animation:none; } }
@media(max-width:760px) { .main-nav { gap:12px; font-size:.8rem; } .hero-grid,.topper-layout { grid-template-columns:1fr; } .theme-grid,.topper-grid { grid-template-columns:repeat(2,1fr); } .hero { padding:48px 0; } .catalog-browser { grid-template-columns:1fr; } .site-print-bar { padding-bottom:10px; } .print-ad { gap:10px; padding:12px; } .print-ad__marker { flex-basis:32px; width:32px; height:32px; font-size:1.2rem; } .print-ad__content small { font-size:.7rem; } .print-ad__arrow { display:none; } }

/* Chamada para requisitos e acessos ao WhatsApp. */
.brand { display:flex; align-items:center; }
.brand img { display:block; width:250px; max-width:48vw; height:auto; }
.site-print-bar { padding:12px 0 18px; }
.print-optin { display:grid; justify-items:center; gap:9px; text-align:center; }
.print-optin__box { display:block; width:86px; height:86px; border:5px solid var(--red); border-radius:14px; background:#fff; box-shadow:0 5px 0 #c90810; animation:dc-double-hop 3.2s ease-in-out infinite; }
.print-optin__box:hover { background:#fff7a8; }
.print-optin__instruction { max-width:720px; color:var(--red); font-size:clamp(.78rem,2vw,1rem); font-weight:900; letter-spacing:.025em; line-height:1.25; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.print-ad { border-color:var(--red); background:var(--red); box-shadow:0 5px 0 #c90810,0 10px 20px rgba(240,24,32,.22); animation:none; }
.print-ad:hover { box-shadow:0 3px 0 #c90810,0 7px 15px rgba(240,24,32,.22); }
.print-ad__marker { flex-basis:38px; width:38px; height:38px; border:3px solid #fff; border-radius:9px; background:transparent; color:transparent; animation:dc-double-hop 3.2s ease-in-out infinite; }
.print-ad__content small { display:block; animation:dc-double-hop 3.2s ease-in-out infinite; }
.print-ad__arrow { color:var(--yellow); }
.print-ad--top { display:none; }
.whatsapp-float { position:fixed; right:20px; bottom:20px; z-index:9000; display:grid; place-items:center; width:58px; height:58px; border:3px solid #fff; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 5px 18px rgba(0,0,0,.28); transition:transform .2s ease; }
.whatsapp-float:hover { transform:scale(1.08); }
.whatsapp-float svg { width:35px; height:35px; }
.whatsapp-float span { position:absolute; right:68px; width:max-content; padding:7px 10px; border-radius:8px; background:#fff; color:#25332b; font-size:.8rem; font-weight:800; box-shadow:0 3px 12px rgba(0,0,0,.16); opacity:0; pointer-events:none; transform:translateX(5px); transition:opacity .2s ease,transform .2s ease; }
.whatsapp-float:hover span,.whatsapp-float:focus-visible span { opacity:1; transform:translateX(0); }
@keyframes dc-double-hop { 0%,13%,45%,100% { transform:translateY(0); } 22% { transform:translateY(-12px); } 32% { transform:translateY(0); } 39% { transform:translateY(-7px); } }
@media (prefers-reduced-motion:reduce) { .print-optin__box, .print-ad__marker, .print-ad__content small { animation:none; } }
@media(max-width:760px) { .nav-wrap { min-height:64px; gap:10px; } .brand img { width:190px; max-width:52vw; } .print-optin__box { width:76px; height:76px; } .print-optin__instruction { max-width:340px; font-size:.76rem; } .whatsapp-float { right:14px; bottom:14px; width:54px; height:54px; } }
