/*
Theme Name: Messon DJ - Sua Festa, Outro Nível
Theme URI: https://wordpress.org/
Author: Messon DJ
Description: Tema responsivo para eventos e contratação de DJ, com galeria, formulário de orçamento e personalização das fotos, textos e contatos no WordPress.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: messon-dj
Tags: custom-logo, custom-colors, featured-images, one-column, responsive-layout
*/

:root{--bg:#06070b;--panel:#101119;--text:#fff;--muted:#c5c4cf;--accent:#a33cff;--accent2:#7b21ff;--line:rgba(255,255,255,.19);--width:1200px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto;display:block}svg{max-width:100%}::selection{background:var(--accent);color:#fff}:focus-visible{outline:3px solid #c18dff;outline-offset:4px}.container{width:min(100% - 48px,var(--width));margin-inline:auto}.skip-link{position:absolute;top:-80px;left:20px;z-index:100;background:#fff;color:#111;padding:9px 14px}.skip-link:focus{top:12px}.eyebrow{font-size:.77rem;letter-spacing:.42em;font-weight:750;text-transform:uppercase}.accent-bar{height:3px;width:54px;background:var(--accent);margin:22px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:56px;border-radius:5px;font-weight:750;padding:13px 28px;text-align:center;border:1px solid transparent;transition:transform .2s ease,background .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(112deg,#6d13ff,#a12cf4);box-shadow:0 10px 30px rgba(115,18,255,.18)}.btn-primary:hover{background:linear-gradient(112deg,#8a34ff,#b951ff)}.btn-outline{background:rgba(9,10,17,.48);border-color:#b15cff;color:#fff}.btn-outline:hover{border-color:#fff;background:rgba(143,42,255,.15)}.btn svg{width:20px;height:20px;flex:none}
.site-header{position:absolute;inset:0 0 auto;z-index:20;min-height:98px}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:26px}.brand{font-size:1.4rem;letter-spacing:.34em;line-height:1.2;font-weight:450;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:36px}.nav-links>a:not(.btn){font-size:.95rem;color:#f9f7ff;transition:color .18s}.nav-links>a:not(.btn):hover{color:#ce9eff}.nav-links .btn{min-height:46px;font-size:.84rem;padding:8px 22px}.menu-toggle{display:none;background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:6px;padding:8px;color:#fff}.menu-toggle svg{display:block;width:26px;height:26px}
.hero{position:relative;overflow:hidden;isolation:isolate;min-height:710px;display:flex;align-items:center;padding:145px 0 90px;background:radial-gradient(circle at 78% 43%,rgba(89,43,164,.4),transparent 43%),radial-gradient(circle at 66% 17%,rgba(10,48,119,.45),transparent 40%),#06070b}.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 86% 62%,rgba(150,38,240,.18),transparent 45%)}.hero-photo{position:absolute;inset:50px 0 0 auto;width:min(64%,820px);z-index:-1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to right,transparent 0%,#000 26%,#000 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 26%,#000 100%)}.hero-photo img{position:absolute;right:0;top:0;width:100%;height:100%;object-fit:cover;object-position:62% 23%;filter:saturate(1.07) contrast(1.06)}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06070b 0%,rgba(6,7,11,.04) 34%,transparent 80%),linear-gradient(90deg,rgba(6,7,11,.35),transparent 55%)}.hero-inner{position:relative;z-index:1}.hero-copy{max-width:660px}.hero .eyebrow{margin:0;text-shadow:0 2px 12px #000}.hero h1{font-size:clamp(3.5rem,7.1vw,6.6rem);line-height:.99;letter-spacing:-.065em;font-weight:930;text-transform:uppercase;margin:21px 0 14px;max-width:760px;text-shadow:0 4px 30px rgba(0,0,0,.35)}.hero h1 span{display:block}.hero-sub{font-size:clamp(1.2rem,2.3vw,1.65rem);line-height:1.4;max-width:425px;margin:0 0 32px;text-shadow:0 3px 20px #000}.hero .btn{min-width:275px}
.section{padding-block:88px}.section-heading{font-size:clamp(2.2rem,5.3vw,4rem);text-transform:uppercase;letter-spacing:-.045em;font-weight:900;line-height:1.08;margin:0}.section-heading em{font-style:normal;color:#ca72f9}.gallery-section{position:relative;padding-top:20px;padding-bottom:95px;background:linear-gradient(180deg,#06070b,#090a10)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:24px}.gallery-card{position:relative;display:block;width:100%;aspect-ratio:.95;overflow:hidden;padding:0;border:1px solid #373a4c;border-radius:9px;background:#161923;color:#fff;text-align:left}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .4s}.gallery-card:hover img{transform:scale(1.06);filter:brightness(.87)}.gallery-label{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:40px 18px 17px;background:linear-gradient(0deg,rgba(0,0,0,.87),transparent);font-size:1rem;font-weight:700;text-shadow:0 1px 2px #000}.gallery-label svg{width:18px;height:18px}.gallery-notice{font-size:.84rem;color:var(--muted);margin-top:18px}
.events-section{position:relative;padding:70px 0 83px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(ellipse at 0% 95%,rgba(86,21,158,.16),transparent 34%),radial-gradient(ellipse at 100% 15%,rgba(65,41,142,.12),transparent 30%),#080910;text-align:center}.events-section h2{font-size:clamp(2rem,4.8vw,3.3rem);letter-spacing:-.04em;line-height:1.17;margin:0 0 40px;font-weight:850}.events-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.event{padding:4px 22px;border-right:1px solid rgba(255,255,255,.3)}.event:last-child{border-right:none}.event svg{width:51px;height:51px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;margin:0 auto 10px}.event h3{font-size:1.1rem;font-weight:650;margin:0}.event::after{content:"";display:block;width:43px;height:2px;margin:15px auto 0;background:var(--accent)}
.contact-section{position:relative;overflow:hidden;padding:102px 0 96px;background:radial-gradient(ellipse at 5% 85%,rgba(52,80,192,.3),transparent 50%),radial-gradient(ellipse at 90% 20%,rgba(119,20,223,.23),transparent 44%),#090914}.contact-top{text-align:center}.contact-top h2{font-size:clamp(2rem,4.2vw,3.15rem);line-height:1.13;letter-spacing:-.04em;margin:0 auto 15px;max-width:780px}.contact-top p{color:var(--muted);margin:0 auto;max-width:580px}.contact-panel{width:min(100%,850px);margin:43px auto 0;padding:32px 38px 36px;border:1px solid rgba(184,112,255,.28);border-radius:14px;background:rgba(8,9,18,.78);box-shadow:0 20px 80px rgba(0,0,0,.25)}.contact-panel h3{font-size:1.25rem;margin:0 0 18px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field.full{grid-column:1 / -1}.field label{display:block;font-size:.9rem;font-weight:650;margin-bottom:7px}.field input,.field select,.field textarea{display:block;width:100%;min-height:48px;padding:11px 14px;color:#fff;border:1px solid #393748;border-radius:5px;background:#13131d;outline-offset:3px;color-scheme:dark}.field textarea{min-height:115px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#a7a4b4}.field input:focus,.field textarea:focus,.field select:focus{border-color:#a25eff;outline:2px solid rgba(162,94,255,.22)}.field select option{color:#fff;background:#13131d}.consent{font-size:.85rem;color:var(--muted);display:flex;align-items:flex-start;gap:10px;margin:18px 0}.consent input{accent-color:var(--accent);margin-top:5px}.form-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.form-actions p{font-size:.82rem;color:var(--muted);margin:0}.form-actions .btn{min-width:220px}.feedback{padding:12px 16px;border-radius:5px;margin-bottom:20px;background:#172b22;border:1px solid #4ca778}.feedback.error{background:#301a21;border-color:#d1718a}.contact-direct{margin-top:23px;text-align:center;font-size:.95rem;color:var(--muted)}.contact-direct a{color:#e1bbff;text-decoration:underline;text-underline-offset:3px}
.site-footer{border-top:1px solid var(--line);background:#06070b;padding:31px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#a9a8b5;font-size:.86rem}.footer-brand{color:#fff;letter-spacing:.26em;font-size:1rem;font-weight:650}.footer-links{display:flex;gap:20px;align-items:center}.footer-links a:hover{color:#fff}.content-page{padding:150px 0 100px;min-height:70vh}.content-page h1{font-size:clamp(2rem,5vw,4rem);line-height:1.15}.content-page article{max-width:840px}.content-page a:not(.btn){color:#d1a1ff;text-decoration:underline}
dialog.lightbox{background:#11111c;border:1px solid #626079;border-radius:12px;max-width:min(94vw,1020px);max-height:92vh;padding:12px 12px 8px;color:#fff;box-shadow:0 20px 110px #000;overflow:auto}dialog.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox img{display:block;max-width:100%;max-height:75vh;width:auto;height:auto;margin-inline:auto;border-radius:6px}.lightbox .dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 2px 0}.lightbox .dialog-close{border:1px solid #595466;border-radius:4px;padding:5px 13px;color:#fff;background:#242231}
/* Honeypot is meant to stay unseen, including to most bots */.hp-wrap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:1050px){.hero{min-height:660px}.hero h1{font-size:clamp(3.4rem,7.5vw,5.5rem)}.hero-photo{width:65%}.nav-links{gap:22px}}
@media(max-width:760px){.container{width:min(100% - 36px,var(--width))}.site-header{min-height:76px}.header-inner{padding-block:18px}.brand{font-size:1.13rem;letter-spacing:.27em}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:18px;right:18px;background:#13131e;border:1px solid #494055;border-radius:10px;padding:18px;box-shadow:0 15px 45px rgba(0,0,0,.4);flex-direction:column;align-items:stretch;gap:12px}.nav-links.open{display:flex}.nav-links a:not(.btn){display:block;padding:10px 6px}.nav-links .btn{width:100%}.hero{min-height:760px;display:block;padding:395px 0 84px}.hero-photo{top:49px;right:0;width:100%;height:490px;mask-image:linear-gradient(to bottom,#000 20%,#000 60%,transparent 99%);-webkit-mask-image:linear-gradient(to bottom,#000 20%,#000 60%,transparent 99%)}.hero-photo img{object-position:58% 12%}.hero-photo::after{background:linear-gradient(0deg,#06070b 0%,transparent 46%),linear-gradient(90deg,rgba(6,7,11,.27),transparent 76%)}.hero h1{font-size:clamp(3.25rem,11.5vw,5rem);max-width:660px}.hero .eyebrow{font-size:.68rem;letter-spacing:.31em}.hero-sub{font-size:1.17rem;max-width:340px}.gallery-section{padding-top:13px;padding-bottom:66px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-card{aspect-ratio:.8}.gallery-card:last-child{grid-column:1 / -1;aspect-ratio:1.8}.gallery-card:last-child img{object-position:center 38%}.gallery-label{font-size:.9rem;padding:35px 13px 12px}.events-section{padding-block:66px}.events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 0}.event:nth-child(2){border-right:0}.event h3{font-size:.99rem}.contact-section{padding:75px 0 70px}.contact-panel{padding:25px 20px}.fields{gap:13px}.footer-inner{flex-direction:column;text-align:center}}
@media(max-width:500px){.hero{padding-top:345px;min-height:710px}.hero-photo{height:430px}.hero h1{font-size:clamp(3.0rem,11.8vw,3.9rem)}.hero .btn{width:100%;min-width:0}.hero-sub{font-size:1.08rem}.section-heading{font-size:clamp(2.3rem,10vw,3rem)}.gallery-grid{grid-template-columns:1fr}.gallery-card,.gallery-card:last-child{aspect-ratio:1.1;grid-column:auto}.contact-panel{padding:24px 16px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions{justify-content:stretch}.form-actions .btn{width:100%}.footer-links{gap:12px;flex-wrap:wrap;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Atalho flutuante do WhatsApp: aparece quando o telefone é configurado. */
.messon-whatsapp-float{position:fixed;right:28px;bottom:28px;z-index:9999;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border:2px solid rgba(255,255,255,.22);border-radius:50%;background:#25d366;color:#fff;box-shadow:0 7px 24px rgba(0,0,0,.38),0 0 0 5px rgba(37,211,102,.12);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.messon-whatsapp-float svg{width:35px;height:35px;display:block;flex-shrink:0}
.messon-whatsapp-float:hover{transform:translateY(-4px);background:#1eba59;box-shadow:0 12px 32px rgba(0,0,0,.46),0 0 0 6px rgba(37,211,102,.17)}
.messon-whatsapp-float:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:760px){.messon-whatsapp-float{right:18px;bottom:calc(18px + env(safe-area-inset-bottom, 0px));width:58px;height:58px}.messon-whatsapp-float svg{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.messon-whatsapp-float{transition:none}}
