/* =====================================================
   Madilê Personalizados · main.css
   Visual premium — gradientes, glass, animações suaves
   ===================================================== */

:root{
	--madile-primary: #6b5bd2;
	--madile-primary-2: #8b6ff0;
	--madile-secondary: #a99bf0;
	--madile-accent: #ffb6d1;
	--madile-dark: #2a1f5d;
	--madile-text: #2b2540;
	--madile-muted: #6e6a85;
	--madile-bg: #ffffff;
	--madile-bg-alt: #f6f3ff;
	--madile-bg-cream: #faf7ff;
	--madile-border: #ece8f7;
	--madile-radius: 18px;
	--madile-radius-lg: 28px;
	--madile-shadow-sm: 0 4px 14px rgba(42, 31, 93, .06);
	--madile-shadow: 0 18px 48px rgba(107, 91, 210, .14);
	--madile-shadow-lg: 0 30px 80px rgba(42, 31, 93, .20);
	--madile-gradient: linear-gradient(135deg, #6b5bd2 0%, #8b6ff0 50%, #a99bf0 100%);
	--madile-gradient-soft: linear-gradient(135deg, #f6f3ff 0%, #fff5fb 100%);
	--madile-container: 1240px;
	--font-body: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--font-heading: 'Fraunces', Georgia, serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	font-family:var(--font-body);
	color:var(--madile-text);
	background:var(--madile-bg);
	line-height:1.65;
	font-size:16px;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--madile-primary);text-decoration:none;transition:color .25s ease;}
a:hover{color:var(--madile-dark);}

.madile-icon{
	display:inline-block;vertical-align:middle;
	flex-shrink:0;
}
.icon-flip{transform:scaleX(-1);}
.star-filled{color:var(--madile-primary);fill:currentColor;stroke-width:0;}
.star-empty{color:var(--madile-border);fill:currentColor;stroke-width:0;}
svg.madile-icon-star,
svg.madile-icon-whatsapp{stroke-width:0;}
.stars{display:inline-flex;gap:2px;color:var(--madile-primary);}
.stat-star{display:inline-flex;align-items:center;gap:4px;}
.stat-star svg{color:var(--madile-primary);fill:currentColor;stroke-width:0;}

h1,h2,h3,h4{
	font-family:var(--font-heading);
	color:var(--madile-dark);
	line-height:1.15;
	margin:0 0 .5em;
	letter-spacing:-.01em;
	font-weight:700;
}
h1{font-size:clamp(2.4rem,5vw,4rem);}
h2{font-size:clamp(1.9rem,3.5vw,3rem);}
h3{font-size:1.35rem;}

.container{
	max-width:var(--madile-container);
	margin:0 auto;
	padding:0 28px;
}

.screen-reader-text{
	clip:rect(1px,1px,1px,1px);
	position:absolute!important;
	height:1px;width:1px;overflow:hidden;
}
.skip-link{
	position:absolute;left:-9999px;top:auto;
	background:var(--madile-dark);color:#fff;padding:10px 16px;z-index:9999;
}
.skip-link:focus{left:10px;top:10px;border-radius:8px;}

/* ===== Topbar de benefícios ===== */
.topbar{
	background:var(--madile-gradient);
	color:#fff;font-size:.82rem;font-weight:500;
	padding:8px 0;letter-spacing:.01em;
}
.topbar-inner{
	display:flex;justify-content:center;gap:32px;flex-wrap:wrap;
	padding:0 28px;
}
.topbar span{display:inline-flex;align-items:center;gap:4px;}
.topbar strong{font-weight:700;}
@media (max-width:768px){
	.topbar{font-size:.78rem;padding:10px 0;}
	.topbar-inner{gap:14px;}
	.topbar span:nth-child(n+3){display:none;}
}

/* ===== Animações ===== */
@keyframes float {
	0%,100%{transform:translateY(0) rotate(0deg);}
	50%{transform:translateY(-14px) rotate(2deg);}
}
@keyframes floatSlow {
	0%,100%{transform:translateY(0) rotate(-3deg);}
	50%{transform:translateY(-20px) rotate(3deg);}
}
@keyframes pulseGlow {
	0%,100%{box-shadow:0 0 0 0 rgba(107,91,210,.4);}
	50%{box-shadow:0 0 0 18px rgba(107,91,210,0);}
}
@keyframes fadeUp {
	from{opacity:0;transform:translateY(20px);}
	to{opacity:1;transform:translateY(0);}
}

/* ===== Botões ===== */
.btn{
	position:relative;
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:14px 26px;border-radius:999px;font-weight:600;font-size:.95rem;
	border:2px solid transparent;cursor:pointer;
	text-decoration:none;line-height:1;
	transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
	font-family:inherit;
}
.btn-lg{padding:18px 32px;font-size:1.05rem;}
.btn-primary{
	background:var(--madile-gradient);
	color:#fff;
	box-shadow:0 12px 30px rgba(107,91,210,.35);
}
.btn-primary:hover{
	transform:translateY(-2px);color:#fff;
	box-shadow:0 18px 40px rgba(107,91,210,.5);
}
.btn-outline{
	background:#fff;color:var(--madile-dark);
	border-color:var(--madile-primary);
}
.btn-outline:hover{
	background:var(--madile-primary);color:#fff;
	transform:translateY(-2px);
}

/* ===== Header ===== */
.site-header{
	background:rgba(255,255,255,.85);
	backdrop-filter:saturate(180%) blur(14px);
	-webkit-backdrop-filter:saturate(180%) blur(14px);
	position:sticky;top:0;z-index:100;
	border-bottom:1px solid rgba(236,232,247,.6);
}
.header-inner{
	display:flex;align-items:center;justify-content:space-between;gap:24px;
	padding:18px 28px;
}
.site-branding{display:flex;flex-direction:column;}
.site-branding .custom-logo-link img,
.site-branding .custom-logo{
	max-height:38px!important;width:auto!important;height:auto;display:block;
}
.site-branding .site-title{
	font-family:var(--font-heading);font-size:1.5rem;font-weight:700;
	background:var(--madile-gradient);
	-webkit-background-clip:text;background-clip:text;color:transparent;
	text-decoration:none;
}
.site-description{font-size:.78rem;color:var(--madile-muted);margin:0;}

.main-navigation ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;}
.main-navigation a{
	color:var(--madile-dark);font-weight:500;font-size:.95rem;
	position:relative;padding:6px 0;
}
.main-navigation a::after{
	content:'';position:absolute;left:50%;bottom:0;height:2px;width:0;
	background:var(--madile-gradient);transition:width .25s ease, left .25s ease;
}
.main-navigation a:hover{color:var(--madile-primary);}
.main-navigation a:hover::after{width:100%;left:0;}

.menu-toggle{
	display:none;background:transparent;border:0;cursor:pointer;
	flex-direction:column;gap:5px;padding:8px;
}
.menu-toggle .bar{width:24px;height:2px;background:var(--madile-dark);display:block;transition:all .25s;}
.menu-toggle[aria-expanded="true"] .bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] .bar:nth-child(2){opacity:0;}
.menu-toggle[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.header-actions{display:flex;align-items:center;gap:18px;}
.header-cart{
	position:relative;color:var(--madile-dark);
	display:inline-flex;align-items:center;justify-content:center;
	width:42px;height:42px;border-radius:50%;
	background:var(--madile-bg-alt);
	transition:background .25s ease, transform .25s ease, color .25s ease;
}
.header-cart:hover{background:var(--madile-secondary);color:#fff;transform:translateY(-2px);}
.cart-count{
	position:absolute;top:-4px;right:-4px;
	background:var(--madile-primary);color:#fff;
	font-size:.7rem;padding:2px 7px;border-radius:999px;font-weight:700;
	min-width:20px;text-align:center;line-height:1.3;
	box-shadow:0 4px 10px rgba(107,91,210,.4);
}

/* ===== Hero ===== */
.hero{
	position:relative;
	background:var(--madile-gradient-soft);
	padding:100px 0 120px;
	overflow:hidden;
}
.hero::before,
.hero::after{
	content:'';position:absolute;border-radius:50%;filter:blur(60px);opacity:.6;z-index:0;
	pointer-events:none;
}
.hero::before{
	width:420px;height:420px;background:radial-gradient(circle, #a99bf0 0%, transparent 70%);
	top:-120px;right:-120px;animation:floatSlow 12s ease-in-out infinite;
}
.hero::after{
	width:360px;height:360px;background:radial-gradient(circle, #ffb6d1 0%, transparent 70%);
	bottom:-140px;left:-100px;animation:float 14s ease-in-out infinite;
}
.hero-inner{
	position:relative;z-index:1;
	display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;
}
.hero-text > *{animation:fadeUp .8s ease both;}
.hero-text > *:nth-child(2){animation-delay:.1s;}
.hero-text > *:nth-child(3){animation-delay:.2s;}
.hero-text > *:nth-child(4){animation-delay:.3s;}
.hero-text > *:nth-child(5){animation-delay:.4s;}

.eyebrow{
	display:inline-flex;align-items:center;gap:8px;
	background:#fff;color:var(--madile-primary);
	padding:8px 16px;border-radius:999px;font-size:.78rem;font-weight:600;
	text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px;
	box-shadow:var(--madile-shadow-sm);
}
.eyebrow::before{
	content:'';display:inline-block;width:14px;height:14px;
	background:var(--madile-gradient);border-radius:50%;
	-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M12 3l1.7 5.3L19 10l-5.3 1.7L12 17l-1.7-5.3L5 10l5.3-1.7z'/></svg>") center/14px no-repeat;
	mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M12 3l1.7 5.3L19 10l-5.3 1.7L12 17l-1.7-5.3L5 10l5.3-1.7z'/></svg>") center/14px no-repeat;
}
.hero-title{margin-bottom:20px;}
.hero-title em, .hero-title .accent{
	font-style:normal;
	background:var(--madile-gradient);
	-webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-subtitle{font-size:1.2rem;color:var(--madile-muted);margin-bottom:32px;max-width:520px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:32px;}
.hero-bullets{
	list-style:none;padding:0;margin:0;
	display:flex;flex-direction:column;gap:10px;
	color:var(--madile-text);font-weight:500;
}
.hero-bullets li{display:flex;align-items:center;gap:10px;}
.hero-bullets li::before{
	content:'';display:inline-block;width:22px;height:22px;flex-shrink:0;
	background:var(--madile-gradient);border-radius:50%;
	-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.5-1.5z'/></svg>") center/14px no-repeat;
	mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.5-1.5z'/></svg>") center/14px no-repeat;
}

.hero-media{position:relative;animation:fadeUp 1s .2s ease both;}
.hero-media img{
	border-radius:var(--madile-radius-lg);
	box-shadow:var(--madile-shadow-lg);
	animation:float 8s ease-in-out infinite;
}
.hero-placeholder{
	position:relative;
	background:#fff;border-radius:var(--madile-radius-lg);
	box-shadow:var(--madile-shadow-lg);
	aspect-ratio:1/1;display:grid;grid-template-columns:1fr 1fr;place-items:center;
	font-size:4.5rem;padding:24px;gap:12px;
	animation:float 8s ease-in-out infinite;
}
.hero-placeholder > span{
	display:grid;place-items:center;width:100%;height:100%;
	background:var(--madile-bg-alt);border-radius:18px;
	transition:transform .3s ease;
}
.hero-placeholder > span:hover{transform:scale(1.06) rotate(-3deg);}

/* === Hero visual (banner ilustrado) === */
.hero-visual{
	position:relative;aspect-ratio:1/1;
	max-width:520px;margin:0 auto;
}
.hero-blob{
	position:absolute;inset:8%;border-radius:50%;
	background:var(--madile-gradient);
	box-shadow:0 30px 80px rgba(107,91,210,.35);
}
.hero-blob::before{
	content:'';position:absolute;inset:14%;border-radius:50%;
	background:rgba(255,255,255,.15);
	border:1px dashed rgba(255,255,255,.4);
}
.hero-card{
	position:absolute;
	background:#fff;border-radius:20px;
	padding:18px;display:flex;flex-direction:column;align-items:center;gap:6px;
	box-shadow:var(--madile-shadow);
	color:var(--madile-primary);
	min-width:108px;
	transition:transform .3s ease;
}
.hero-card span{
	font-size:.8rem;font-weight:600;color:var(--madile-dark);
	font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;
}
.hero-card svg{stroke-width:1.4;}
.hero-card:hover{transform:translateY(-4px) scale(1.04);}

.hero-card-1{top:6%;left:0;animation:float 7s ease-in-out infinite;}
.hero-card-2{top:14%;right:0;animation:float 9s ease-in-out infinite .5s;}
.hero-card-3{bottom:18%;left:-4%;animation:float 8s ease-in-out infinite 1s;}
.hero-card-4{bottom:6%;right:4%;animation:float 10s ease-in-out infinite 1.5s;}

.hero-badge{
	position:absolute;
	background:#fff;color:var(--madile-primary);
	font-size:.78rem;font-weight:700;
	padding:6px 12px;border-radius:999px;
	display:inline-flex;align-items:center;gap:6px;
	box-shadow:var(--madile-shadow);
	z-index:2;
}
.hero-badge svg{stroke-width:0;fill:currentColor;}
.hero-badge-tl{top:42%;left:-6%;animation:floatSlow 6s ease-in-out infinite;}
.hero-badge-br{bottom:42%;right:-8%;animation:floatSlow 7s ease-in-out infinite .5s;}
.hero-badge-br svg{stroke:currentColor;fill:none;stroke-width:1.6;}
.hero-media::before{
	content:'';position:absolute;inset:-30px;z-index:-1;
	background:var(--madile-gradient);opacity:.18;border-radius:50%;filter:blur(40px);
}
.hero-media::after{
	content:'';position:absolute;top:-12px;right:-12px;
	background:#fff;width:54px;height:54px;border-radius:50%;
	display:grid;place-items:center;box-shadow:var(--madile-shadow);
	animation:floatSlow 6s ease-in-out infinite;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b5bd2'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>");
	background-repeat:no-repeat;background-position:center;background-size:24px;
}

/* ===== Sections ===== */
.section{padding:100px 0;position:relative;}
.section-header{text-align:center;max-width:760px;margin:0 auto 56px;}
.section-header .eyebrow{margin-bottom:14px;}
.section-sub{color:var(--madile-muted);font-size:1.05rem;margin-top:10px;}
.section-cta{text-align:center;margin-top:48px;}

/* ===== Grids ===== */
.grid{display:grid;gap:28px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

/* ===== Categorias ===== */
.section-categorias{background:var(--madile-bg-alt);position:relative;overflow:hidden;}
.section-categorias::before{
	content:'';position:absolute;top:-100px;right:-100px;
	width:400px;height:400px;border-radius:50%;
	background:radial-gradient(circle, rgba(169,155,240,.3) 0%, transparent 70%);
	filter:blur(40px);
}
.cat-card{
	position:relative;
	background:#fff;border-radius:var(--madile-radius);padding:36px 28px;
	display:flex;flex-direction:column;align-items:flex-start;gap:10px;
	box-shadow:var(--madile-shadow-sm);
	transition:transform .35s ease, box-shadow .35s ease, color .35s ease;
	color:var(--madile-text);
	overflow:hidden;z-index:1;
}
.cat-card::before{
	content:'';position:absolute;inset:0;
	background:var(--madile-gradient);
	opacity:0;transition:opacity .35s ease;z-index:-1;
}
.cat-card:hover{transform:translateY(-8px);box-shadow:var(--madile-shadow);color:#fff;}
.cat-card:hover::before{opacity:1;}
.cat-card:hover .cat-title,
.cat-card:hover .cat-desc,
.cat-card:hover .cat-link{color:#fff;}
.cat-card:hover .cat-icon{transform:scale(1.15) rotate(-6deg);background:rgba(255,255,255,.2);color:#fff;}
.cat-icon{
	font-size:2.6rem;
	width:72px;height:72px;display:grid;place-items:center;
	background:var(--madile-bg-alt);border-radius:18px;
	color:var(--madile-primary);
	transition:transform .35s ease, background .35s ease, color .35s ease;
}
.cat-title{margin:0;transition:color .35s ease;}
.cat-desc{color:var(--madile-muted);font-size:.95rem;margin:0;transition:color .35s ease;}
.cat-link{color:var(--madile-primary);font-weight:600;margin-top:auto;transition:color .35s ease;display:inline-flex;align-items:center;gap:6px;}
.cat-card:hover .cat-link{color:#fff;}
.cat-link svg{transition:transform .25s ease;}
.cat-card:hover .cat-link svg{transform:translateX(4px);}

/* ===== Como funciona ===== */
.section-como-funciona{background:var(--madile-bg-cream);}
.section-como-funciona ol{list-style:none;padding:0;margin:0;}
.passos li{
	background:#fff;border:1px solid var(--madile-border);
	border-radius:var(--madile-radius);padding:32px 24px;text-align:center;
	transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.passos li:hover{
	transform:translateY(-6px);
	box-shadow:var(--madile-shadow);
	border-color:transparent;
}
.passo-num{
	display:inline-grid;place-items:center;
	width:56px;height:56px;border-radius:50%;
	background:var(--madile-gradient);color:#fff;
	font-family:var(--font-heading);
	font-weight:700;font-size:1.4rem;
	margin-bottom:16px;
	box-shadow:0 10px 24px rgba(107,91,210,.35);
}

/* ===== Portfolio ===== */
.portfolio-item{
	position:relative;margin:0;border-radius:var(--madile-radius);
	overflow:hidden;background:var(--madile-bg-alt);
	box-shadow:var(--madile-shadow-sm);
	transition:transform .35s ease, box-shadow .35s ease;
}
.portfolio-item:hover{transform:translateY(-6px);box-shadow:var(--madile-shadow);}
.portfolio-item img{
	width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;
	transition:transform .6s ease;
}
.portfolio-item:hover img{transform:scale(1.08);}
.portfolio-item figcaption{
	position:absolute;bottom:0;left:0;right:0;
	background:linear-gradient(0deg, rgba(42,31,93,.92), transparent);
	color:#fff;padding:24px 20px 18px;
	display:flex;justify-content:space-between;align-items:center;gap:10px;
	transform:translateY(20%);opacity:.92;
	transition:transform .35s ease, opacity .35s ease;
}
.portfolio-item:hover figcaption{transform:translateY(0);opacity:1;}
.badge{
	background:var(--madile-accent);color:var(--madile-dark);
	padding:4px 12px;border-radius:999px;font-size:.72rem;font-weight:700;
	letter-spacing:.02em;
}
.placeholder-img{
	aspect-ratio:1/1;display:grid;place-items:center;font-size:3rem;
	background:var(--madile-bg-alt);
}

/* ===== Sobre ===== */
.section-sobre{padding:100px 0;background:#fff;position:relative;overflow:hidden;}
.section-sobre::before{
	content:'';position:absolute;top:20%;right:-150px;
	width:380px;height:380px;border-radius:50%;
	background:radial-gradient(circle, rgba(107,91,210,.12) 0%, transparent 70%);
	filter:blur(60px);
}
.sobre-inner{
	display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;
	position:relative;z-index:1;
}
.sobre-media img{
	border-radius:var(--madile-radius-lg);
	box-shadow:var(--madile-shadow-lg);
	aspect-ratio:1/1;object-fit:cover;width:100%;
}
.sobre-placeholder{
	background:var(--madile-gradient);
	border-radius:var(--madile-radius-lg);
	padding:40px;aspect-ratio:1/1;
	display:grid;grid-template-columns:1fr 1fr;gap:20px;
	color:#fff;box-shadow:var(--madile-shadow-lg);
	position:relative;overflow:hidden;
}
.sobre-placeholder::before{
	content:'';position:absolute;width:200px;height:200px;border-radius:50%;
	background:rgba(255,255,255,.18);top:-60px;right:-60px;
}
.sobre-stat{
	background:rgba(255,255,255,.15);
	backdrop-filter:blur(8px);
	border-radius:16px;padding:20px;
	display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;
	border:1px solid rgba(255,255,255,.18);
	position:relative;z-index:1;
}
.sobre-stat strong{
	font-family:var(--font-heading);font-size:1.8rem;color:#fff;line-height:1;
}
.sobre-stat span{font-size:.85rem;color:rgba(255,255,255,.85);}

.sobre-text h2{margin-bottom:18px;}
.sobre-text p{font-size:1.08rem;color:var(--madile-muted);margin-bottom:24px;}
.sobre-bullets{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px;}
.sobre-bullets li{
	padding-left:30px;position:relative;color:var(--madile-text);
}
.sobre-bullets li::before{
	content:'';position:absolute;left:0;top:8px;
	width:18px;height:18px;border-radius:50%;
	background:var(--madile-gradient);
	-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.5-1.5z'/></svg>") center/12px no-repeat;
	mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.5-1.5z'/></svg>") center/12px no-repeat;
}
.sobre-bullets li strong{color:var(--madile-dark);}

/* ===== Depoimentos ===== */
.section-depoimentos{
	background:var(--madile-bg-alt);
	position:relative;overflow:hidden;
}
.section-depoimentos::after{
	content:'';position:absolute;bottom:-150px;left:-100px;
	width:380px;height:380px;border-radius:50%;
	background:radial-gradient(circle, rgba(255,182,209,.4) 0%, transparent 70%);
	filter:blur(40px);
}
.depoimentos-carousel{
	position:relative;overflow:hidden;
	padding:20px 0;
}
.depoimentos-track{
	display:flex;
	transition:transform .55s cubic-bezier(.22,.61,.36,1);
	will-change:transform;
}
.depoimentos-track > .depoimento{
	flex:0 0 auto;
	padding:0 14px;
	box-sizing:border-box;
	background:transparent;box-shadow:none;
}
.depoimentos-track > .depoimento > *{
	background:#fff;
	border-radius:var(--madile-radius);
	box-shadow:var(--madile-shadow-sm);
}
.depoimentos-track .depoimento{
	display:block;
}
.carousel-nav{
	position:absolute;top:50%;transform:translateY(-50%);
	width:48px;height:48px;border-radius:50%;
	background:#fff;color:var(--madile-primary);
	border:0;font-size:1.8rem;cursor:pointer;font-weight:700;
	box-shadow:var(--madile-shadow);
	z-index:2;transition:transform .25s ease, color .25s ease, background .25s ease;
	display:grid;place-items:center;line-height:1;
}
.carousel-nav:hover{background:var(--madile-primary);color:#fff;transform:translateY(-50%) scale(1.08);}
.carousel-nav.prev{left:-8px;}
.carousel-nav.next{right:-8px;}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:24px;}
.carousel-dots .dot{
	width:10px;height:10px;border-radius:50%;
	border:0;background:rgba(107,91,210,.25);cursor:pointer;
	transition:all .25s ease;padding:0;
}
.carousel-dots .dot.active{background:var(--madile-primary);width:28px;border-radius:999px;}

.depoimento{
	position:relative;
	background:#fff;padding:32px;border-radius:var(--madile-radius);
	box-shadow:var(--madile-shadow-sm);
	margin:0;display:flex;flex-direction:column;gap:16px;
	transition:transform .3s ease, box-shadow .3s ease;
}
.depoimento:hover{transform:translateY(-4px);box-shadow:var(--madile-shadow);}
.depoimento::before{
	content:'';position:absolute;top:16px;right:24px;
	width:48px;height:48px;
	background-color:var(--madile-secondary);opacity:.35;
	-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 7h4v4H8c0 2 1 3 3 3v2c-3 0-5-2-5-5V7zm9 0h4v4h-3c0 2 1 3 3 3v2c-3 0-5-2-5-5V7z'/></svg>") center/contain no-repeat;
	mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 7h4v4H8c0 2 1 3 3 3v2c-3 0-5-2-5-5V7zm9 0h4v4h-3c0 2 1 3 3 3v2c-3 0-5-2-5-5V7z'/></svg>") center/contain no-repeat;
}
.stars{color:#f5b831;font-size:1.15rem;letter-spacing:3px;}
.depoimento-texto{color:var(--madile-text);font-style:italic;margin:0;font-size:1.02rem;}
.depoimento-autor{display:flex;gap:14px;align-items:center;margin-top:auto;}
.depoimento-autor .avatar{
	width:52px;height:52px;border-radius:50%;object-fit:cover;
	border:3px solid var(--madile-secondary);
}
.depoimento-autor strong{display:block;color:var(--madile-dark);}
.depoimento-autor span{color:var(--madile-muted);font-size:.85rem;}

/* ===== CTA final ===== */
.section-cta-final{padding:80px 0 100px;}
.cta-box{
	position:relative;
	background:var(--madile-gradient);
	color:#fff;
	border-radius:var(--madile-radius-lg);
	padding:72px 40px;text-align:center;
	overflow:hidden;
	box-shadow:var(--madile-shadow-lg);
}
.cta-box::before,
.cta-box::after{
	content:'';position:absolute;border-radius:50%;
	background:rgba(255,255,255,.15);
}
.cta-box::before{width:200px;height:200px;top:-80px;right:-60px;}
.cta-box::after{width:160px;height:160px;bottom:-60px;left:-40px;}
.cta-box > *{position:relative;z-index:1;}
.cta-box h2{color:#fff;margin-bottom:14px;}
.cta-box p{color:rgba(255,255,255,.95);margin-bottom:28px;font-size:1.1rem;}
.cta-box .btn-primary{
	background:#fff;color:var(--madile-primary);
	box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.cta-box .btn-primary:hover{background:var(--madile-dark);color:#fff;}

/* ===== Footer ===== */
.site-footer{
	background:var(--madile-dark);
	color:#dcd6f1;padding-top:80px;margin-top:0;
	position:relative;overflow:hidden;
}
.site-footer::before{
	content:'';position:absolute;top:-100px;right:-100px;
	width:400px;height:400px;border-radius:50%;
	background:radial-gradient(circle, rgba(107,91,210,.4) 0%, transparent 70%);
	filter:blur(60px);
}
.footer-widgets{
	position:relative;display:grid;grid-template-columns:repeat(3,1fr);
	gap:48px;padding-bottom:48px;
}
.site-footer .widget-title{
	color:#fff;font-family:var(--font-heading);font-size:1.2rem;margin-bottom:16px;
}
.site-footer a{color:#fff;transition:color .25s ease;}
.site-footer a:hover{color:var(--madile-accent);}
.social-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.social-list a{display:inline-flex;align-items:center;gap:8px;}
.widget-title-sm{font-size:.85rem!important;text-transform:uppercase;letter-spacing:.08em;margin-top:22px!important;opacity:.85;}
.marketplaces-footer{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:8px;}
.marketplaces-footer a{
	display:inline-block;padding:5px 11px;border-radius:99px;
	background:rgba(255,255,255,.08);color:#fff;
	font-size:.78rem;font-weight:600;
	transition:background .25s ease, transform .25s ease;
}
.marketplaces-footer a:hover{background:var(--madile-primary);color:#fff;transform:translateY(-2px);}
.footer-bottom{
	border-top:1px solid rgba(255,255,255,.1);
	padding:24px 0;font-size:.88rem;position:relative;
}
.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{margin:0;}
.footer-cnpj{display:inline-block;margin-left:10px;padding:2px 10px;background:rgba(255,255,255,.08);border-radius:99px;font-size:.8rem;color:rgba(255,255,255,.85);}
.footer-menu{list-style:none;padding:0;margin:0;display:flex;gap:20px;}

/* ===== Página personalizar ===== */
.page-personalizar{padding:80px 28px;}
.page-personalizar .entry-header{text-align:center;margin-bottom:40px;}
.page-personalizar .lead{font-size:1.15rem;color:var(--madile-muted);max-width:640px;margin:0 auto;}
.form-briefing{
	background:#fff;padding:48px;border-radius:var(--madile-radius-lg);
	box-shadow:var(--madile-shadow);margin-top:40px;
	max-width:920px;margin-left:auto;margin-right:auto;
	border:1px solid var(--madile-border);
}
.form-briefing label{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;font-weight:500;color:var(--madile-dark);}
.form-briefing label.full{display:block;}
.form-briefing input, .form-briefing select, .form-briefing textarea{
	padding:14px 16px;border:2px solid var(--madile-border);border-radius:12px;
	font-family:inherit;font-size:1rem;width:100%;background:#fff;
	transition:border-color .25s ease, box-shadow .25s ease;
}
.form-briefing input:focus, .form-briefing select:focus, .form-briefing textarea:focus{
	outline:none;border-color:var(--madile-primary);
	box-shadow:0 0 0 4px rgba(107,91,210,.15);
}
.form-help{margin-top:18px;color:var(--madile-muted);font-size:.95rem;display:inline-flex;align-items:center;gap:6px;}
.form-help a{display:inline-flex;align-items:center;gap:4px;color:var(--madile-primary);font-weight:600;}
.alert{padding:18px 22px;border-radius:14px;margin:24px auto;max-width:920px;}
.alert-sucesso{background:#e7f9ed;color:#1e7c3a;border:1px solid #bbeac9;}
.alert-erro{background:#fde9ea;color:#a52a2f;border:1px solid #f4c0c4;}
.alert ul{margin:0;padding-left:18px;}

/* ===== Fluxo tabs (criar arte / arte pronta) ===== */
.fluxo-tabs{
	display:grid;grid-template-columns:1fr 1fr;gap:14px;
	max-width:920px;margin:40px auto 0;
}
.fluxo-tab{
	background:#fff;border:2px solid var(--madile-border);
	border-radius:var(--madile-radius);padding:20px 22px;
	display:flex;align-items:center;gap:14px;
	cursor:pointer;font-family:inherit;text-align:left;
	color:var(--madile-dark);
	transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease, background .25s ease;
}
.fluxo-tab:hover{border-color:var(--madile-secondary);transform:translateY(-2px);}
.fluxo-tab.is-active{
	border-color:var(--madile-primary);
	background:var(--madile-bg-alt);
	box-shadow:0 12px 30px rgba(107,91,210,.18);
}
.fluxo-tab svg{
	flex-shrink:0;color:var(--madile-primary);
	width:40px;height:40px;padding:8px;border-radius:12px;
	background:rgba(107,91,210,.1);
}
.fluxo-tab.is-active svg{background:var(--madile-primary);color:#fff;}
.fluxo-tab span{display:flex;flex-direction:column;gap:2px;line-height:1.3;}
.fluxo-tab strong{font-family:var(--font-heading);font-weight:600;font-size:1rem;color:var(--madile-dark);}
.fluxo-tab small{font-size:.82rem;color:var(--madile-muted);}

.form-section{
	border:0;padding:0;margin:0 0 32px;
}
.form-section + .form-section{padding-top:32px;border-top:1px solid var(--madile-border);}
.form-section legend{
	font-family:var(--font-heading);font-weight:600;font-size:1.15rem;
	color:var(--madile-dark);padding:0;margin-bottom:6px;
	display:inline-flex;align-items:center;gap:8px;
}
.form-section legend svg{color:var(--madile-primary);}
.form-section-sub{color:var(--madile-muted);font-size:.92rem;margin:0 0 20px;}

.upload-card{
	background:var(--madile-bg-alt);
	border:2px dashed var(--madile-secondary)!important;
	border-radius:14px;padding:18px;
	transition:border-color .25s ease, background .25s ease;
}
.upload-card:hover{border-color:var(--madile-primary)!important;background:#fff;}
.upload-card input[type="file"]{border:0!important;padding:6px 0!important;background:transparent!important;}
.upload-card small{color:var(--madile-muted);font-size:.82rem;font-weight:400;}

.form-actions{margin-top:32px;text-align:center;}
.form-actions .btn{min-width:240px;}
[hidden]{display:none!important;}

@media (max-width:600px){
	.fluxo-tabs{grid-template-columns:1fr;}
	.fluxo-tab{padding:16px 18px;}
}

/* ===== WhatsApp flutuante ===== */
.whatsapp-float{
	position:fixed;bottom:28px;right:28px;z-index:999;
	background:linear-gradient(135deg,#25d366,#1ebe5d);
	color:#fff;
	width:64px;height:64px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	box-shadow:0 14px 36px rgba(37,211,102,.45);
	transition:transform .25s ease, box-shadow .25s ease;
}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.05);color:#fff;box-shadow:0 20px 44px rgba(37,211,102,.6);}
.whatsapp-float .wa-icon{display:inline-flex;position:relative;z-index:2;}
.whatsapp-float .wa-pulse{
	position:absolute;inset:0;border-radius:50%;
	background:#25d366;opacity:.6;
	animation:waPulse 2s ease-out infinite;
	z-index:1;
}
.whatsapp-float .wa-tooltip{
	position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%);
	background:#fff;color:var(--madile-dark);
	padding:10px 16px;border-radius:14px;
	font-size:.85rem;font-weight:600;white-space:nowrap;
	box-shadow:var(--madile-shadow);
	opacity:1;pointer-events:none;
}
.whatsapp-float .wa-tooltip::after{
	content:'';position:absolute;left:100%;top:50%;transform:translateY(-50%);
	border:7px solid transparent;border-left-color:#fff;
}
.whatsapp-float:hover .wa-tooltip{opacity:1;transform:translateY(-50%);}

@keyframes waPulse{
	0%{transform:scale(1);opacity:.6;}
	70%{transform:scale(1.6);opacity:0;}
	100%{transform:scale(1.6);opacity:0;}
}

@media (max-width:600px){
	.whatsapp-float{bottom:20px;right:20px;width:56px;height:56px;}
	.whatsapp-float .wa-icon svg{width:26px;height:26px;}
	.whatsapp-float .wa-tooltip{
		font-size:.75rem;padding:8px 12px;
		right:calc(100% + 10px);
	}
}

/* ===== Cards/post grid ===== */
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:40px 0;}
.card{
	background:#fff;border-radius:var(--madile-radius);overflow:hidden;
	box-shadow:var(--madile-shadow-sm);
	transition:transform .3s ease, box-shadow .3s ease;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--madile-shadow);}
.card-media img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .5s ease;}
.card:hover .card-media img{transform:scale(1.04);}
.card-body{padding:24px;}
.card-meta{color:var(--madile-muted);font-size:.85rem;margin-bottom:8px;}
.card-title a{color:var(--madile-dark);}
.card-title a:hover{color:var(--madile-primary);}

/* ===== Página padrão ===== */
.page-content,.single-post{max-width:840px;margin:64px auto;padding:0 28px;}
.entry-meta{color:var(--madile-muted);font-size:.9rem;}
.entry-content p{margin:1em 0;}
.entry-thumbnail{margin:24px 0;border-radius:var(--madile-radius);overflow:hidden;}

/* ===== 404 ===== */
.error-404{text-align:center;padding:100px 28px;}
.error-404 h1{
	font-size:8rem;
	background:var(--madile-gradient);
	-webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ===== Search form ===== */
.search-form{display:flex;gap:10px;max-width:520px;margin:24px auto;}
.search-form .search-field{
	flex:1;padding:14px 18px;border:2px solid var(--madile-border);
	border-radius:999px;background:#fff;font-family:inherit;
}
.search-form .search-field:focus{outline:none;border-color:var(--madile-primary);}

/* ===== WooCommerce ===== */
.woocommerce-main{padding-top:48px;padding-bottom:80px;}
.woocommerce ul.products li.product{transition:transform .3s ease;}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);}
.woocommerce ul.products li.product .button{
	background:var(--madile-gradient)!important;
	color:#fff!important;border-radius:999px!important;
	padding:10px 22px!important;font-weight:600!important;
	box-shadow:0 8px 20px rgba(107,91,210,.3);
}
.woocommerce ul.products li.product .price{color:var(--madile-primary)!important;font-weight:700!important;}
.woocommerce-breadcrumb{margin:20px auto;color:var(--madile-muted);font-size:.9rem;}
.woocommerce span.onsale{
	background:var(--madile-accent)!important;color:var(--madile-dark)!important;
	border-radius:999px!important;font-weight:700!important;
}

/* ===== Single product (Madilê) ===== */
.single-product-main{padding:32px 0 80px;}
.single-product-main .woocommerce-breadcrumb{padding:0;margin:0 0 32px;}
.madile-single-product{margin:0;}
.madile-product-grid{
	display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:flex-start;
	background:#fff;border-radius:var(--madile-radius-lg);
	box-shadow:var(--madile-shadow);
	padding:40px;
}

/* Galeria */
.madile-product-gallery{position:relative;}
.madile-product-gallery .woocommerce-product-gallery{
	width:100%!important;float:none!important;
}
.madile-product-gallery .woocommerce-product-gallery__image img{
	border-radius:var(--madile-radius);box-shadow:0 12px 30px rgba(42,31,93,.08);
}
.madile-product-gallery .flex-control-thumbs{
	margin-top:14px!important;display:flex!important;flex-wrap:wrap;gap:10px!important;
	list-style:none;padding:0;
}
.madile-product-gallery .flex-control-thumbs li{
	width:calc(20% - 8px)!important;margin:0!important;
}
.madile-product-gallery .flex-control-thumbs img{
	border-radius:12px;border:2px solid transparent;cursor:pointer;
	transition:border-color .25s ease, transform .25s ease;
}
.madile-product-gallery .flex-control-thumbs img.flex-active,
.madile-product-gallery .flex-control-thumbs img:hover{
	border-color:var(--madile-primary);transform:translateY(-2px);
}
.madile-product-gallery .woocommerce-product-gallery__trigger{
	background:#fff;border-radius:50%;padding:10px;
	box-shadow:var(--madile-shadow);
	width:42px;height:42px;display:flex;align-items:center;justify-content:center;
	text-indent:-9999px;overflow:hidden;
	right:14px;top:14px;
}
.madile-product-gallery .woocommerce-product-gallery__trigger::before{
	content:'';position:absolute;width:16px;height:16px;border:2px solid var(--madile-primary);border-radius:50%;
	text-indent:0;left:10px;top:10px;
}
.madile-product-gallery .woocommerce-product-gallery__trigger::after{
	content:'';position:absolute;width:8px;height:2px;background:var(--madile-primary);
	right:11px;bottom:13px;transform:rotate(45deg);
}

/* Sumário */
.madile-product-summary{padding:0;}
.madile-product-summary .product_title{
	font-family:var(--font-heading);font-size:clamp(1.6rem,3vw,2.2rem);
	color:var(--madile-dark);margin:0 0 14px;line-height:1.2;
}
.madile-product-summary .woocommerce-product-rating{margin-bottom:18px;}
.madile-product-summary .star-rating{color:var(--madile-primary);}
.madile-product-summary .price{
	font-family:var(--font-heading);font-size:2rem!important;font-weight:700!important;
	color:var(--madile-primary)!important;margin:0 0 20px!important;
	display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.madile-product-summary .price del{color:var(--madile-muted)!important;font-size:1.2rem;opacity:.7;}
.madile-product-summary .price ins{text-decoration:none;background:transparent;}
.madile-product-summary .woocommerce-product-details__short-description{
	font-size:1rem;color:var(--madile-muted);margin-bottom:24px;
	padding-bottom:24px;border-bottom:1px solid var(--madile-border);
}

/* Variações */
.madile-product-summary .variations{margin:0 0 18px;}
.madile-product-summary .variations th{
	font-family:var(--font-heading);font-weight:600;color:var(--madile-dark);
	padding:8px 14px 8px 0;
}
.madile-product-summary .variations select{
	padding:10px 14px;border:1px solid var(--madile-border);border-radius:12px;
	background:#fff;font-family:inherit;color:var(--madile-dark);min-width:180px;
}

/* Quantidade + add to cart */
.madile-product-summary form.cart{
	display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px;
}
.madile-product-summary .quantity{
	display:inline-flex;align-items:center;
	border:1px solid var(--madile-border);border-radius:999px;overflow:hidden;
	background:#fff;
}
.madile-product-summary .quantity .qty{
	border:0;width:60px;padding:14px 6px;text-align:center;
	font-weight:600;color:var(--madile-dark);background:transparent;
	-moz-appearance:textfield;
}
.madile-product-summary .quantity .qty::-webkit-outer-spin-button,
.madile-product-summary .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.madile-product-summary button.single_add_to_cart_button{
	background:var(--madile-gradient)!important;
	color:#fff!important;border-radius:999px!important;border:0!important;
	padding:16px 32px!important;font-weight:700!important;font-size:1rem!important;
	box-shadow:0 12px 30px rgba(107,91,210,.35)!important;
	transition:transform .25s ease, box-shadow .25s ease!important;
	flex:1;min-width:220px;
}
.madile-product-summary button.single_add_to_cart_button:hover{
	transform:translateY(-2px);box-shadow:0 18px 40px rgba(107,91,210,.5)!important;
}

/* Meta */
.madile-product-summary .product_meta{
	margin-top:18px;padding-top:18px;border-top:1px solid var(--madile-border);
	font-size:.85rem;color:var(--madile-muted);
}
.madile-product-summary .product_meta > span{display:block;margin-bottom:4px;}
.madile-product-summary .product_meta a{color:var(--madile-primary);}

/* Selos de confiança */
.madile-product-trust{
	display:grid;grid-template-columns:1fr 1fr;gap:14px;
	margin:24px 0;padding:20px;border-radius:var(--madile-radius);
	background:var(--madile-bg-alt);
}
.trust-item{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;}
.trust-item svg{color:var(--madile-primary);flex-shrink:0;margin-top:2px;}
.trust-item strong{display:block;color:var(--madile-dark);font-size:.88rem;margin-bottom:2px;}
.trust-item span{color:var(--madile-muted);}

/* CTA WhatsApp do produto */
.btn-whatsapp-product{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	background:#25d366;color:#fff!important;
	border:2px solid #25d366;
	padding:14px 24px;border-radius:14px;font-weight:600;font-size:14px;
	text-decoration:none;line-height:1.1;
	box-shadow:0 8px 20px rgba(37,211,102,.25);
	transition:background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.btn-whatsapp-product:hover{background:#1ebe5d;color:#fff!important;transform:translateY(-2px);box-shadow:0 12px 28px rgba(37,211,102,.35);}
.btn-whatsapp-product svg{flex-shrink:0;color:#fff;fill:#fff;}

/* Tabs (descrição, info adicional, avaliações) */
.woocommerce-tabs{
	background:#fff;border-radius:var(--madile-radius-lg);
	box-shadow:var(--madile-shadow);
	padding:32px 40px;margin-top:40px;
}
.woocommerce-tabs ul.tabs{
	list-style:none;padding:0!important;margin:0 0 24px!important;
	display:flex;gap:8px;border-bottom:1px solid var(--madile-border);
}
.woocommerce-tabs ul.tabs li{
	background:transparent!important;border:0!important;padding:0!important;margin:0!important;
}
.woocommerce-tabs ul.tabs li a{
	display:block;padding:14px 22px;font-weight:600;color:var(--madile-muted);
	border-bottom:2px solid transparent;transition:color .25s ease, border-color .25s ease;
}
.woocommerce-tabs ul.tabs li.active a{color:var(--madile-primary);border-bottom-color:var(--madile-primary);}
.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after{display:none!important;}
.woocommerce-tabs .panel h2{font-family:var(--font-heading);color:var(--madile-dark);}

/* Produtos relacionados / upsells */
.related.products,.upsells.products{
	background:var(--madile-bg-alt);
	padding:60px 40px;border-radius:var(--madile-radius-lg);
	margin-top:40px;
}
.related.products > h2,.upsells.products > h2{
	font-family:var(--font-heading);color:var(--madile-dark);
	font-size:1.6rem;margin:0 0 24px;text-align:center;
}

@media (max-width:900px){
	.madile-product-grid{grid-template-columns:1fr;gap:32px;padding:24px;}
	.woocommerce-tabs{padding:24px;}
	.related.products,.upsells.products{padding:32px 20px;}
}
@media (max-width:600px){
	.madile-product-trust{grid-template-columns:1fr;}
	.madile-product-summary .price{font-size:1.6rem!important;}
	.madile-product-summary form.cart{flex-direction:column;align-items:stretch;}
	.madile-product-summary .quantity{align-self:center;}
	.woocommerce-tabs ul.tabs{overflow-x:auto;flex-wrap:nowrap;}
	.woocommerce-tabs ul.tabs li a{white-space:nowrap;padding:12px 16px;font-size:.9rem;}
}

/* ===== Banner promocional ===== */
.banner-promo{padding:80px 0;background:#fff;}
.banner-promo-inner{
	position:relative;overflow:hidden;
	display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;
	background:var(--madile-gradient);
	border-radius:var(--madile-radius-lg);
	padding:64px 56px;color:#fff;
	box-shadow:var(--madile-shadow-lg);
}
.banner-promo-inner::before{
	content:'';position:absolute;width:380px;height:380px;border-radius:50%;
	background:rgba(255,255,255,.10);top:-180px;right:-100px;
}
.banner-promo-inner::after{
	content:'';position:absolute;width:280px;height:280px;border-radius:50%;
	background:rgba(255,255,255,.08);bottom:-140px;left:-80px;
}
.banner-promo-text{position:relative;z-index:1;}
.banner-promo-text .eyebrow{background:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(8px);box-shadow:none;}
.banner-promo-text .eyebrow::before{background:#fff;}
.banner-promo-text h2{color:#fff;margin-bottom:14px;font-size:clamp(1.7rem,3vw,2.4rem);}
.banner-promo-text p{color:rgba(255,255,255,.92);font-size:1.05rem;margin-bottom:22px;}
.banner-promo-list{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:8px;}
.banner-promo-list li{
	display:flex;align-items:center;gap:10px;
	color:rgba(255,255,255,.95);font-weight:500;
}
.banner-promo-list svg{color:#fff;}
.banner-promo-text .btn-primary{
	background:#fff;color:var(--madile-primary);
	box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.banner-promo-text .btn-primary:hover{background:var(--madile-dark);color:#fff;}

.banner-promo-art{
	position:relative;aspect-ratio:1/1;
	max-width:380px;margin:0 auto;justify-self:center;
}
.art-circle{
	position:absolute;
	background:#fff;color:var(--madile-primary);
	border-radius:50%;display:grid;place-items:center;
	box-shadow:0 16px 40px rgba(0,0,0,.18);
	animation:float 7s ease-in-out infinite;
}
.art-c1{width:120px;height:120px;top:0;left:20%;animation-delay:0s;}
.art-c2{width:90px;height:90px;top:20%;right:0;animation-delay:.6s;}
.art-c3{width:140px;height:140px;bottom:0;left:0;animation-delay:1.2s;}
.art-c4{width:110px;height:110px;bottom:10%;right:10%;animation-delay:1.8s;}

@media (max-width:768px){
	.banner-promo{padding:48px 0;}
	.banner-promo-inner{grid-template-columns:1fr;padding:36px 24px;gap:28px;border-radius:24px;text-align:center;}
	.banner-promo-inner::before{width:240px;height:240px;top:-120px;right:-80px;}
	.banner-promo-inner::after{width:200px;height:200px;bottom:-100px;left:-60px;}
	.banner-promo-text h2{font-size:1.5rem;line-height:1.25;}
	.banner-promo-text p{font-size:.95rem;}
	.banner-promo-list{align-items:flex-start;text-align:left;max-width:280px;margin-left:auto;margin-right:auto;}
	.banner-promo-art{max-width:240px;}
	.art-c1{width:84px;height:84px;}
	.art-c2{width:64px;height:64px;}
	.art-c3{width:96px;height:96px;}
	.art-c4{width:74px;height:74px;}
	.art-circle svg{width:32px!important;height:32px!important;}
}

/* ===== Marketplaces ===== */
.section-marketplaces{padding:80px 0;background:var(--madile-bg-alt);position:relative;}
.marketplaces-head{text-align:center;max-width:640px;margin:0 auto 40px;}
.marketplaces-grid{
	display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.marketplace{
	position:relative;
	background:#fff;border-radius:var(--madile-radius);
	padding:28px 22px;
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
	min-height:140px;
	box-shadow:var(--madile-shadow);
	transition:transform .3s ease, box-shadow .3s ease;
	text-decoration:none;color:var(--madile-dark);
	overflow:hidden;
}
.marketplace::before{
	content:'';position:absolute;left:0;top:0;right:0;height:4px;
	background:var(--mp-color, var(--madile-primary));
	opacity:.85;
}
.marketplace .marketplace-logo{--mp-color:var(--madile-primary);}
a.marketplace:hover{transform:translateY(-4px);box-shadow:var(--madile-shadow-lg);color:var(--madile-dark);}
.marketplace-logo{
	color:var(--mp-color);
	display:flex;align-items:center;justify-content:center;
	width:100%;height:64px;
}
.marketplace-logo img{
	max-width:140px;max-height:60px;width:auto;height:auto;
	object-fit:contain;
	transition:transform .3s ease;
}
a.marketplace:hover .marketplace-logo img{transform:scale(1.05);}
.marketplace-text{
	font-family:var(--font-heading);font-weight:700;font-size:1.35rem;
	color:var(--mp-color);text-align:center;
}
.marketplace-logo svg{
	max-width:100%;max-height:100%;width:auto;height:auto;
	color:var(--mp-color);
}
.marketplace-cta{
	display:inline-flex;align-items:center;gap:6px;
	font-size:.82rem;font-weight:600;color:var(--madile-primary);
	transition:gap .25s ease;
}
a.marketplace:hover .marketplace-cta{gap:10px;}
.marketplace-soon{opacity:.65;cursor:default;}
.marketplace-soon .marketplace-cta{color:var(--madile-muted);}

@media (max-width:768px){
	.section-marketplaces{padding:56px 0;}
	.marketplaces-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
	.marketplace{min-height:120px;padding:22px 16px;}
	.marketplace-logo{font-size:1.15rem;}
}

/* ===== Ocasiões / Para presentear ===== */
.section-ocasioes{padding:100px 0;background:#fff;position:relative;overflow:hidden;}
.section-ocasioes::before{
	content:'';position:absolute;bottom:-200px;right:-200px;
	width:500px;height:500px;border-radius:50%;
	background:radial-gradient(circle, rgba(255,182,209,.25) 0%, transparent 70%);
	filter:blur(60px);
}
.ocasioes-grid{position:relative;z-index:1;}
.ocasiao-card{
	position:relative;
	display:flex;align-items:center;gap:20px;
	padding:28px;border-radius:var(--madile-radius);
	background:#fff;border:1px solid var(--madile-border);
	overflow:hidden;text-decoration:none;color:var(--madile-text);
	transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
	min-height:130px;
}
.ocasiao-card:hover{
	transform:translateY(-6px);
	box-shadow:var(--madile-shadow);
	border-color:transparent;
	color:var(--madile-text);
}
.ocasiao-bg{
	position:absolute;inset:0;
	background:var(--card-gradient);
	opacity:0;transition:opacity .35s ease;
}
.ocasiao-card:hover .ocasiao-bg{opacity:.08;}
.ocasiao-icon{
	font-size:2.4rem;
	width:72px;height:72px;flex-shrink:0;
	display:grid;place-items:center;
	background:var(--card-gradient);
	border-radius:18px;color:#fff;
	box-shadow:0 8px 20px rgba(42,31,93,.18);
	position:relative;z-index:1;
	transition:transform .35s ease;
}
.ocasiao-card:hover .ocasiao-icon{transform:scale(1.08) rotate(-4deg);}
.ocasiao-body{position:relative;z-index:1;}
.ocasiao-body h3{margin:0 0 4px;font-size:1.15rem;}
.ocasiao-body p{margin:0 0 6px;color:var(--madile-muted);font-size:.92rem;}
.ocasiao-link{color:var(--madile-primary);font-weight:600;font-size:.88rem;display:inline-flex;align-items:center;gap:6px;}
.ocasiao-link svg{transition:transform .25s ease;}
.ocasiao-card:hover .ocasiao-link svg{transform:translateX(4px);}

/* ===== Navegue por preço ===== */
.section-precos{padding:60px 0;background:var(--madile-bg-cream);}
.section-header-sm{margin-bottom:32px;}
.section-header-sm h2{font-size:clamp(1.4rem,2.4vw,2rem);margin:0;}
.precos-grid{
	display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.preco-card{
	display:flex;align-items:center;gap:14px;
	padding:20px 24px;border-radius:14px;
	background:#fff;color:var(--madile-dark);
	border:2px solid var(--madile-border);
	text-decoration:none;font-weight:600;
	transition:all .25s ease;
}
.preco-card:hover{
	border-color:var(--madile-primary);
	background:var(--madile-gradient);color:#fff;
	transform:translateY(-3px);
	box-shadow:0 10px 24px rgba(107,91,210,.25);
}
.preco-icon{font-size:1.4rem;}
.preco-label{flex:1;}
.preco-arrow{font-weight:700;transition:transform .25s ease;}
.preco-card:hover .preco-arrow{transform:translateX(4px);}
@media (max-width:768px){
	.precos-grid{grid-template-columns:1fr 1fr;}
}

/* ===== Institucional ===== */
.section-institucional{
	background:var(--madile-bg-alt);
	padding:80px 0;
}
.institucional-inner{max-width:920px;margin:0 auto;text-align:center;}
.institucional-inner h2{margin-bottom:24px;}
.institucional-inner p{
	color:var(--madile-muted);font-size:1.02rem;line-height:1.8;
	margin-bottom:18px;max-width:760px;margin-left:auto;margin-right:auto;
}
.institucional-stats{
	display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
	margin-top:48px;padding-top:40px;
	border-top:1px solid var(--madile-border);
}
.institucional-stats > div{display:flex;flex-direction:column;gap:4px;align-items:center;}
.institucional-stats strong{
	font-family:var(--font-heading);font-size:2rem;
	background:var(--madile-gradient);
	-webkit-background-clip:text;background-clip:text;color:transparent;
	line-height:1;
}
.institucional-stats span{font-size:.85rem;color:var(--madile-muted);text-transform:uppercase;letter-spacing:.04em;}
@media (max-width:768px){
	.institucional-stats{grid-template-columns:repeat(2,1fr);gap:32px;}
}

/* ===== Responsivo ===== */
@media (max-width:1024px){
	.grid-4{grid-template-columns:repeat(2,1fr);}
	.posts-grid{grid-template-columns:repeat(2,1fr);}
	.hero{padding:72px 0 90px;}
	.grid-3.ocasioes-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
	.menu-toggle{display:flex;}
	.main-navigation ul{
		display:none;position:absolute;top:100%;left:0;right:0;
		background:#fff;flex-direction:column;padding:20px 28px;gap:14px;
		box-shadow:0 12px 30px rgba(42,31,93,.12);
		border-bottom-left-radius:20px;border-bottom-right-radius:20px;
	}
	.main-navigation.toggled ul{display:flex;}
	.main-navigation{position:relative;}
	.hero{padding:56px 0 72px;}
	.hero-inner{grid-template-columns:1fr;gap:40px;}
	.hero-media{order:-1;max-width:340px;margin:0 auto;}
	.hero-visual{max-width:300px;}
	.hero-card{min-width:88px;padding:12px;}
	.hero-card span{font-size:.7rem;}
	.hero-card svg{width:38px!important;height:38px!important;}
	.hero-card-1{top:0;left:-2%;}
	.hero-card-2{top:8%;right:-2%;}
	.hero-card-3{bottom:14%;left:0;}
	.hero-card-4{bottom:0;right:2%;}
	.hero-badge{font-size:.7rem;padding:5px 10px;}
	.hero-badge-tl{top:46%;left:-2%;}
	.hero-badge-br{bottom:46%;right:-2%;}
	.section{padding:64px 0;}
	.sobre-inner{grid-template-columns:1fr;gap:40px;}
	.sobre-media{max-width:380px;margin:0 auto;}
	.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
	.ocasioes-grid{grid-template-columns:1fr;}
	.posts-grid{grid-template-columns:1fr;}
	.footer-widgets{grid-template-columns:1fr;text-align:center;}
	.social-list{align-items:center;}
	.header-cta{display:none;}
	.cta-box{padding:48px 24px;}
	.form-briefing{padding:28px;}
}

@media (max-width:480px){
	.container{padding:0 18px;}
	.topbar{font-size:.72rem;padding:8px 0;}
	.topbar-inner{gap:10px;padding:0 14px;}
	.header-inner{padding:14px 18px;gap:12px;}
	.site-branding .custom-logo-link img,
	.site-branding .custom-logo{max-height:32px!important;}
	.header-cart{width:38px;height:38px;}

	.hero{padding:40px 0 56px;}
	.hero-inner{gap:28px;}
	.hero-title{font-size:2rem;line-height:1.15;}
	.hero-subtitle{font-size:1rem;margin-bottom:24px;}
	.hero-ctas{gap:10px;}
	.btn-lg{padding:14px 22px;font-size:.95rem;}

	.hero-visual{max-width:260px;}
	.hero-card{min-width:78px;padding:10px;border-radius:16px;gap:4px;}
	.hero-card span{font-size:.62rem;letter-spacing:.03em;}
	.hero-card svg{width:30px!important;height:30px!important;}
	.hero-badge{font-size:.62rem;padding:4px 8px;}

	.section{padding:48px 0;}
	.section-title{font-size:1.6rem;}
	.eyebrow{font-size:.72rem;}

	/* Banner promo bem compacto */
	.banner-promo{padding:32px 0;}
	.banner-promo-inner{padding:32px 20px;gap:24px;border-radius:20px;}
	.banner-promo-text h2{font-size:1.3rem;}
	.banner-promo-text p{font-size:.9rem;margin-bottom:18px;}
	.banner-promo-list{font-size:.88rem;}
	.banner-promo-art{max-width:200px;}
	.art-c1{width:70px;height:70px;}
	.art-c2{width:54px;height:54px;}
	.art-c3{width:80px;height:80px;}
	.art-c4{width:62px;height:62px;}
	.art-circle svg{width:26px!important;height:26px!important;}

	/* Cards menores */
	.cat-card,.ocasiao-card,.preco-card,.passo{padding:24px 20px;}
	.cat-icon{width:60px;height:60px;}
	.ocasiao-icon{width:60px;height:60px;}

	.footer-bottom .container{flex-direction:column;text-align:center;gap:10px;}
	.footer-cnpj{margin-left:0;display:block;margin-top:6px;}
}

/* ===== Personalização no produto (single-product) ===== */
.madile-personalizar{
margin:24px 0 28px;padding:24px;
background:var(--madile-bg-cream);
border:1px solid var(--madile-border);
border-radius:var(--madile-radius);
}
.madile-personalizar .mp-header h3{
margin:0 0 6px;font-family:var(--font-heading);
font-size:22px;color:var(--madile-dark);
}
.madile-personalizar .mp-header p{
margin:0 0 18px;color:var(--madile-muted);font-size:14px;
}
.mp-tabs{
display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;
}
.mp-tab{
display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;
padding:14px 16px;border-radius:14px;
background:#fff;border:2px solid var(--madile-border);
color:var(--madile-text);transition:all .2s ease;
font:inherit;
}
.mp-tab:hover{border-color:var(--madile-primary);transform:translateY(-1px);}
.mp-tab.is-active{
border-color:var(--madile-primary);
background:#fff;
box-shadow:0 6px 18px rgba(107,91,210,.15);
}
.mp-tab svg{color:var(--madile-primary);flex-shrink:0;}
.mp-tab span{display:flex;flex-direction:column;gap:2px;line-height:1.3;}
.mp-tab strong{font-size:14px;color:var(--madile-dark);}
.mp-tab small{font-size:12px;color:var(--madile-muted);}
.mp-painel{animation:mpFade .2s ease;}
@keyframes mpFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.mp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.mp-grid .mp-full{grid-column:1 / -1;}
.mp-grid label{
display:flex;flex-direction:column;gap:6px;
font-size:13px;color:var(--madile-dark);font-weight:500;
}
.mp-grid label em{color:var(--madile-muted);font-style:normal;font-weight:400;}
.mp-grid input[type=text],
.mp-grid input[type=email],
.mp-grid input[type=tel],
.mp-grid textarea,
.mp-grid select{
width:100%;padding:10px 12px;border-radius:10px;
border:1px solid var(--madile-border);background:#fff;
font:inherit;color:var(--madile-text);
transition:border-color .15s ease, box-shadow .15s ease;
}
.mp-grid input:focus,
.mp-grid textarea:focus,
.mp-grid select:focus{
outline:none;border-color:var(--madile-primary);
box-shadow:0 0 0 3px rgba(107,91,210,.15);
}
.mp-grid textarea{resize:vertical;min-height:72px;}
.mp-upload{
padding:14px;border:1.5px dashed var(--madile-border);
border-radius:12px;background:#fff;
}
.mp-upload-primary{border-color:var(--madile-primary);background:#fcfaff;}
.mp-upload input[type=file]{
display:block;width:100%;font-size:13px;color:var(--madile-text);
padding:6px 0;
}
.mp-upload input[type=file]::file-selector-button{
padding:8px 14px;margin-right:12px;border:none;cursor:pointer;
background:var(--madile-primary);color:#fff;border-radius:8px;
font:inherit;font-size:12px;font-weight:600;
}
.mp-upload input[type=file]::file-selector-button:hover{background:var(--madile-dark);}
.mp-upload small{color:var(--madile-muted);font-size:12px;display:block;margin-top:4px;}
.mp-foot{
display:flex;align-items:center;gap:8px;
margin-top:18px;padding-top:16px;
border-top:1px solid var(--madile-border);
color:var(--madile-muted);font-size:13px;
}
.mp-foot svg{color:var(--madile-primary);flex-shrink:0;}
@media (max-width:600px){
.mp-tabs,.mp-grid{grid-template-columns:1fr;}
.madile-personalizar{padding:18px;}
}

.personalizar-aviso{
display:flex;align-items:center;gap:16px;flex-wrap:wrap;
margin:18px 0 28px;padding:18px 22px;
background:linear-gradient(135deg,#f6f3ff 0%,#fff5fb 100%);
border:1px solid var(--madile-border);border-radius:var(--madile-radius);
}
.personalizar-aviso svg{color:var(--madile-primary);flex-shrink:0;}
.personalizar-aviso strong{display:block;font-size:15px;color:var(--madile-dark);}
.personalizar-aviso span{display:block;font-size:13px;color:var(--madile-muted);}
.personalizar-aviso > div{flex:1;min-width:200px;}
.personalizar-aviso .btn{margin-left:auto;}

/* ===== Layout do single-product Madile ===== */
.single-product-main{padding:24px 0 64px;}
.single-product-main .woocommerce-breadcrumb{
margin:0 0 22px;font-size:13px;color:var(--madile-muted);
}
.single-product-main .woocommerce-breadcrumb a{color:var(--madile-primary);text-decoration:none;}
.single-product-main .woocommerce-breadcrumb a:hover{text-decoration:underline;}

.madile-single-product{display:block;}
.madile-product-grid{
display:grid;
grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr);
gap:48px;align-items:start;
container-type:inline-size;
}
.madile-product-gallery{min-width:0;}
.madile-product-gallery .woocommerce-product-gallery{
width:100% !important;float:none !important;margin:0 !important;
}
.madile-product-gallery .woocommerce-product-gallery__image img{
border-radius:var(--madile-radius);
box-shadow:var(--madile-shadow-sm);
}
.madile-product-summary{
min-width:0;
display:flex;flex-direction:column;gap:18px;
float:none !important;width:auto !important;margin:0 !important;
}
.madile-product-summary .product_title{
font-family:var(--font-heading);
font-size:32px;line-height:1.2;
color:var(--madile-dark);margin:0;
}
.madile-product-summary .price{
font-size:28px;font-weight:700;color:var(--madile-primary);
margin:0;
}
.madile-product-summary .price del{color:var(--madile-muted);font-weight:400;font-size:18px;margin-right:8px;}
.madile-product-summary .price ins{text-decoration:none;}
.madile-product-summary .woocommerce-product-details__short-description{
color:var(--madile-muted);line-height:1.6;
}
.madile-product-summary form.cart{
margin:0;display:flex;flex-direction:column;gap:14px;
}
.madile-product-summary form.cart .quantity{margin-right:10px;}
.madile-product-summary form.cart .quantity .qty{
width:72px;padding:12px;border-radius:10px;
border:1px solid var(--madile-border);background:#fff;font:inherit;
text-align:center;
}
.madile-product-summary .single_add_to_cart_button,
.madile-product-summary form.cart button[type=submit]{
background:var(--madile-gradient) !important;
color:#fff !important;border:none !important;
padding:14px 28px !important;border-radius:12px !important;
font-weight:600 !important;font-size:15px !important;letter-spacing:.02em;
box-shadow:var(--madile-shadow) !important;
transition:transform .15s ease, box-shadow .15s ease !important;
cursor:pointer;
}
.madile-product-summary .single_add_to_cart_button:hover{
transform:translateY(-2px);
box-shadow:var(--madile-shadow-lg) !important;
}
.madile-product-summary .product_meta{
font-size:13px;color:var(--madile-muted);
padding-top:14px;border-top:1px solid var(--madile-border);
}
.madile-product-summary .product_meta > span{display:block;margin:2px 0;}
.madile-product-summary .product_meta a{color:var(--madile-primary);text-decoration:none;}

.madile-product-trust{
display:grid;grid-template-columns:1fr 1fr;gap:12px;
padding:16px;background:var(--madile-bg-cream);
border:1px solid var(--madile-border);border-radius:var(--madile-radius);
}
.madile-product-trust .trust-item{
display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.35;
}
.madile-product-trust .trust-item svg{color:var(--madile-primary);flex-shrink:0;margin-top:2px;}
.madile-product-trust .trust-item strong{display:block;color:var(--madile-dark);font-size:13px;}
.madile-product-trust .trust-item span{color:var(--madile-muted);}

/* Tabs do Woo (descrição / informações) */
.woocommerce-tabs{margin-top:48px;}
.woocommerce-tabs .wc-tabs{
display:flex;flex-wrap:wrap;gap:6px;
list-style:none;margin:0 0 0;padding:0;border-bottom:2px solid var(--madile-border);
}
.woocommerce-tabs .wc-tabs li{margin:0;}
.woocommerce-tabs .wc-tabs li a{
display:block;padding:12px 22px;border-radius:12px 12px 0 0;
color:var(--madile-muted);text-decoration:none;font-weight:600;
}
.woocommerce-tabs .wc-tabs li.active a{
background:var(--madile-bg-cream);color:var(--madile-dark);
border-bottom:2px solid var(--madile-primary);margin-bottom:-2px;
}
.woocommerce-tabs .panel{
padding:24px 4px;color:var(--madile-text);line-height:1.7;
}
.woocommerce-tabs .panel h2{
font-family:var(--font-heading);color:var(--madile-dark);
font-size:22px;margin:0 0 14px;
}

/* Container queries pro painel de personalização caber bonito */
@container (max-width: 720px){
.madile-personalizar .mp-tabs{grid-template-columns:1fr;}
.madile-personalizar .mp-grid{grid-template-columns:1fr;}
.madile-product-trust{grid-template-columns:1fr;}
}

@media (max-width:900px){
.madile-product-grid{grid-template-columns:1fr;gap:32px;}
.madile-product-summary .product_title{font-size:26px;}
}

/* =====================================================
   Polish mobile — ajustes finos
   ===================================================== */
@media (max-width:900px){
.madile-product-grid{grid-template-columns:1fr;gap:28px;}
.madile-product-trust{grid-template-columns:1fr 1fr;}
}

@media (max-width:768px){
body{font-size:15px;}
h1,.entry-title{font-size:1.85rem;line-height:1.2;}
h2{font-size:1.45rem;line-height:1.25;}
h3{font-size:1.18rem;}
p,li{font-size:.95rem;}
.section{padding:56px 0;}
.container{padding:0 18px;}

/* Header */
.header-inner{padding:12px 18px;gap:10px;}
.menu-toggle{
width:44px;height:44px;border-radius:12px;
background:var(--madile-bg-alt);
align-items:center;justify-content:center;gap:5px;
}
.menu-toggle .bar{width:20px;}
.header-actions{gap:10px;}
.header-cart{width:40px;height:40px;}
.site-branding .custom-logo-link img,
.site-branding .custom-logo{max-height:34px!important;}

/* Single product */
.single-product-main{padding:14px 0 48px;}
.madile-product-grid{gap:24px;}
.madile-product-summary{gap:14px;}
.madile-product-summary .product_title{font-size:1.4rem;}
.madile-product-summary .price{font-size:1.4rem;}
.madile-product-summary .price del{font-size:1rem;}
.madile-product-summary form.cart{flex-wrap:wrap;gap:10px;}
.madile-product-summary form.cart .quantity{margin:0;}
.madile-product-summary .single_add_to_cart_button{
width:100%;flex:1 1 100%;padding:14px 18px!important;
}
.btn-whatsapp-product{width:100%;padding:14px 18px;}
.madile-product-trust{padding:14px;gap:12px;}
.madile-product-trust .trust-item{font-size:11.5px;}
.madile-product-trust .trust-item strong{font-size:12.5px;}

/* Tabs do Woo - scroll horizontal sem barra feia */
.woocommerce-tabs{padding:24px 18px;margin-top:32px;border-radius:var(--madile-radius);}
.woocommerce-tabs ul.tabs,
.woocommerce-tabs .wc-tabs{
flex-wrap:nowrap;overflow-x:auto;
-webkit-overflow-scrolling:touch;
scrollbar-width:none;
}
.woocommerce-tabs ul.tabs::-webkit-scrollbar,
.woocommerce-tabs .wc-tabs::-webkit-scrollbar{display:none;}
.woocommerce-tabs ul.tabs li a,
.woocommerce-tabs .wc-tabs li a{padding:10px 16px;font-size:13px;white-space:nowrap;}
.woocommerce-tabs .panel{padding:18px 4px;font-size:.95rem;}

/* Personalização (painel no produto) */
.madile-personalizar{padding:18px;}
.madile-personalizar .mp-header h3{font-size:18px;}
.mp-tab{padding:12px 14px;gap:10px;}
.mp-tab strong{font-size:13px;}
.mp-tab small{font-size:11.5px;}

/* Página personalizar (B2B) */
.personalizar-aviso{padding:16px 18px;flex-direction:column;align-items:flex-start;gap:12px;}
.personalizar-aviso .btn{margin-left:0;width:100%;}
.form-briefing{padding:22px;border-radius:var(--madile-radius);}
.form-actions{flex-direction:column;align-items:stretch;gap:14px;}
.form-actions .btn{width:100%;min-width:0;}
.form-help{text-align:center;}

/* Carrinho/checkout - tabela com scroll */
.woocommerce-cart-form table.cart,
.woocommerce-cart table.shop_table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* WhatsApp float menor e mais respiro */
.whatsapp-float{bottom:16px;right:16px;width:54px;height:54px;}
.whatsapp-float svg{width:26px;height:26px;}

/* Footer */
.footer-bottom{padding:18px 0;}
.footer-bottom .container{flex-direction:column;text-align:center;gap:8px;}

/* Grids de selos/cards quebrando bonito */
.depoimentos-grid,.posts-grid,.ocasioes-grid{gap:18px;}
}

@media (max-width:480px){
h1,.entry-title{font-size:1.6rem;}
.madile-product-summary .product_title{font-size:1.3rem;}
.madile-product-summary .price{font-size:1.3rem;}
.madile-product-trust{grid-template-columns:1fr;}
.madile-personalizar{padding:16px;}
.madile-personalizar .mp-tabs{grid-template-columns:1fr;}
.mp-grid{grid-template-columns:1fr;}
.btn,.btn-lg{padding:13px 22px;font-size:.92rem;}
.btn-lg{padding:15px 24px;font-size:.98rem;}
}

/* ===== Card "Precisa de atendimento?" no single product ===== */
.madile-help-card{
display:flex;align-items:center;gap:16px;flex-wrap:wrap;
padding:18px 20px;border-radius:var(--madile-radius);
background:linear-gradient(135deg,#f0fbf5 0%,#e8faf0 100%);
border:1px solid #c9efd9;
}
.madile-help-card .help-card-icon{
width:48px;height:48px;border-radius:14px;
background:#fff;color:#1ebe5d;
display:flex;align-items:center;justify-content:center;
flex-shrink:0;box-shadow:0 6px 14px rgba(37,211,102,.18);
}
.madile-help-card .help-card-icon svg{color:#1ebe5d;}
.madile-help-card .help-card-text{flex:1;min-width:180px;line-height:1.35;}
.madile-help-card .help-card-text strong{
display:block;font-size:15px;color:var(--madile-dark);
font-family:var(--font-heading);
}
.madile-help-card .help-card-text span{
display:block;font-size:13px;color:var(--madile-muted);margin-top:2px;
}
.madile-help-card .btn-whatsapp-product{
display:inline-flex;align-items:center;justify-content:center;gap:8px;
background:#25d366;color:#fff !important;
padding:12px 22px;border-radius:12px;
font-weight:600;font-size:14px;line-height:1.1;
text-decoration:none;white-space:nowrap;
box-shadow:0 8px 18px rgba(37,211,102,.3);
transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
border:none;
}
.madile-help-card .btn-whatsapp-product:hover{
background:#1ebe5d;color:#fff !important;transform:translateY(-2px);
box-shadow:0 12px 24px rgba(37,211,102,.4);
}
.madile-help-card .btn-whatsapp-product svg{color:#fff;fill:#fff;flex-shrink:0;}
.madile-help-card .btn-whatsapp-product span{color:#fff;}

@media (max-width:600px){
.madile-help-card{padding:16px;gap:12px;}
.madile-help-card .btn-whatsapp-product{width:100%;}
.madile-help-card .help-card-text{min-width:0;flex:1 1 100%;}
}

/* =====================================================
   UX mobile — acessibilidade e respiro
   ===================================================== */

/* iOS: nunca zoom em focus de input */
@media (max-width:768px){
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=password],input[type=search],input[type=url],input[type=date],
textarea,select{font-size:16px !important;}

/* Touch targets mínimos 44x44 */
.btn,.btn-lg,
.menu-toggle,
.header-cart,
.fluxo-tab,
.mp-tab,
.single_add_to_cart_button,
.btn-whatsapp-product,
button[type=submit]{min-height:44px;}

/* Inputs com altura ergonômica e bom contraste */
.mp-grid input,.mp-grid select,.mp-grid textarea,
.form-briefing input,.form-briefing select,.form-briefing textarea{
min-height:44px;padding:12px 14px;
}
.mp-grid textarea,.form-briefing textarea{min-height:84px;}

/* Top bar — só mostra os 2 primeiros benefícios */
.topbar{font-size:.72rem;padding:8px 0;}
.topbar-inner{gap:14px;padding:0 14px;}
.topbar span:nth-child(n+3){display:none;}

/* Menu mobile mais respirado */
.main-navigation.toggled ul{
padding:18px 22px;gap:6px;
border-radius:0 0 18px 18px;
box-shadow:0 18px 36px rgba(42,31,93,.16);
}
.main-navigation ul li{border-bottom:1px solid var(--madile-border);}
.main-navigation ul li:last-child{border-bottom:0;}
.main-navigation ul a{
display:block;padding:12px 4px;font-weight:500;
min-height:44px;line-height:1.3;
}

/* Galeria do produto com altura razoável */
.madile-product-gallery .woocommerce-product-gallery__image img{
max-height:78vh;object-fit:contain;background:#fff;
}

/* Quantity + add to cart com layout limpo */
.madile-product-summary form.cart .quantity .qty{
width:88px;min-height:44px;font-size:16px;
}
.madile-product-summary form.cart{align-items:stretch;}

/* Personalizacao painel — abas vertical em telas estreitas */
.madile-personalizar .mp-tabs{grid-template-columns:1fr;}
.mp-tab{min-height:64px;}

/* Card de ajuda WhatsApp empilha bonito */
.madile-help-card{flex-direction:column;text-align:center;align-items:stretch;}
.madile-help-card .help-card-icon{margin:0 auto;}
.madile-help-card .btn-whatsapp-product{width:100%;min-height:48px;}

/* Carrinho do header sempre visível, escondia em ≤768 antes? não — só garantir */
.header-actions{flex-shrink:0;}

/* Imagens responsivas sempre */
img{max-width:100%;height:auto;}

/* Tabelas de checkout/cart largura total */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table{font-size:14px;}

/* Forçar selos de confiança em 2 cols entre 480 e 768 */
.madile-product-trust{grid-template-columns:1fr 1fr;}
}

/* Telas muito pequenas */
@media (max-width:380px){
.container{padding:0 14px;}
.hero-title{font-size:1.7rem !important;}
.madile-product-trust{grid-template-columns:1fr;}
.madile-product-summary .product_title{font-size:1.2rem;}
.madile-product-summary .price{font-size:1.2rem;}
.btn,.btn-lg{padding:12px 18px;font-size:.9rem;}
.btn-whatsapp-product{padding:12px 16px;font-size:13px;}
}

/* Reduzir motion para quem prefere */
@media (prefers-reduced-motion: reduce){
*,*::before,*::after{
animation-duration:.01ms !important;
animation-iteration-count:1 !important;
transition-duration:.01ms !important;
}
.whatsapp-float .wa-pulse{display:none;}
}

/* =====================================================
   Loja - sidebar de filtros (busca, categorias, preÃ§o)
   ===================================================== */
.madile-shop-header{
	margin:8px 0 22px;display:flex;flex-direction:column;gap:6px;
}
.madile-shop-header .page-title{
	font-family:var(--font-heading);
	font-size:clamp(1.8rem,3vw,2.6rem);
	color:var(--madile-dark);margin:0;
}
.madile-shop-header .term-description,
.madile-shop-header .woocommerce-products-header__title + .term-description{
	color:var(--madile-muted);
}

.madile-shop-filters-toggle{
	display:none;align-items:center;justify-content:center;gap:10px;
	width:100%;max-width:100%;
	padding:14px 18px;margin:0 0 18px;
	background:var(--madile-bg-cream);
	border:1.5px solid var(--madile-border);border-radius:14px;
	color:var(--madile-dark);font:inherit;font-weight:600;font-size:.95rem;
	cursor:pointer;transition:background .2s ease, border-color .2s ease;
}
.madile-shop-filters-toggle:hover{
	background:#fff;border-color:var(--madile-primary);
}
.madile-shop-filters-toggle svg{color:var(--madile-primary);}

.madile-shop-grid{
	display:grid;
	grid-template-columns:260px minmax(0, 1fr);
	gap:36px;align-items:start;
	margin-bottom:48px;
}

.madile-shop-sidebar{
	display:flex;flex-direction:column;gap:22px;
	position:sticky;top:104px;
}

.shop-widget{
	background:#fff;
	border:1px solid var(--madile-border);
	border-radius:var(--madile-radius);
	padding:18px 18px 20px;
}
.shop-widget-title{
	display:flex;align-items:center;gap:8px;
	margin:0 0 14px;padding:0 0 12px;
	border-bottom:1px solid var(--madile-border);
	font-family:var(--font-heading);font-size:1.05rem;color:var(--madile-dark);
}
.shop-widget-title svg{color:var(--madile-primary);}

.shop-search-input{
	position:relative;display:flex;align-items:center;
	background:var(--madile-bg-cream);
	border:1.5px solid var(--madile-border);border-radius:12px;
	transition:border-color .15s ease, box-shadow .15s ease;
}
.shop-search-input:focus-within{
	border-color:var(--madile-primary);
	box-shadow:0 0 0 3px rgba(107,91,210,.15);
	background:#fff;
}
.shop-search-input input{
	flex:1;min-width:0;
	padding:10px 0 10px 14px;
	border:0;background:transparent;outline:none;
	font:inherit;font-size:14px;color:var(--madile-text);
}
.shop-search-input input::placeholder{color:var(--madile-muted);}
.shop-search-submit{
	display:inline-flex;align-items:center;justify-content:center;
	width:42px;height:42px;flex-shrink:0;
	background:transparent;border:0;cursor:pointer;
	color:var(--madile-primary);border-radius:0 12px 12px 0;
	transition:background .15s ease, color .15s ease;
}
.shop-search-submit:hover{background:var(--madile-primary);color:#fff;}

.shop-cat-list{
	list-style:none;margin:0;padding:0;
	display:flex;flex-direction:column;gap:2px;
}
.shop-cat-list a{
	display:flex;align-items:center;justify-content:space-between;gap:10px;
	padding:9px 12px;border-radius:10px;
	color:var(--madile-text);text-decoration:none;font-size:14px;
	transition:background .15s ease, color .15s ease;
}
.shop-cat-list a:hover{background:var(--madile-bg-cream);color:var(--madile-primary);}
.shop-cat-list a.is-active{
	background:var(--madile-primary);color:#fff;font-weight:600;
}
.shop-cat-list a.is-active .shop-cat-count{
	background:rgba(255,255,255,.25);color:#fff;
}
.shop-cat-count{
	background:var(--madile-bg-alt);color:var(--madile-muted);
	font-size:11px;padding:2px 8px;border-radius:999px;font-style:normal;font-weight:600;
	min-width:22px;text-align:center;
}

.shop-price-form{display:flex;flex-direction:column;gap:12px;}
.shop-price-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.shop-price-row label{
	display:flex;flex-direction:column;gap:4px;
	font-size:12px;color:var(--madile-muted);font-weight:500;
}
.shop-price-row input{
	width:100%;padding:9px 12px;
	border:1.5px solid var(--madile-border);border-radius:10px;
	background:#fff;font:inherit;font-size:14px;color:var(--madile-text);
	transition:border-color .15s ease, box-shadow .15s ease;
}
.shop-price-row input:focus{
	outline:none;border-color:var(--madile-primary);
	box-shadow:0 0 0 3px rgba(107,91,210,.15);
}
.shop-price-apply{
	width:100%;padding:11px 16px;font-size:.85rem;
	border-radius:10px;
}

.shop-clear-filters{
	display:inline-flex;align-items:center;justify-content:center;gap:6px;
	padding:10px 14px;border-radius:10px;
	background:#fff;border:1.5px solid var(--madile-border);
	color:var(--madile-muted);font-size:13px;font-weight:500;
	text-decoration:none;transition:all .15s ease;
}
.shop-clear-filters:hover{
	border-color:#e07a8a;color:#c0455c;background:#fff5f7;
}
.shop-clear-filters svg{color:currentColor;}

.madile-shop-main{min-width:0;}

.madile-shop-resultinfo{
	margin:0 0 18px;padding:12px 16px;
	background:var(--madile-bg-cream);border:1px solid var(--madile-border);
	border-radius:12px;color:var(--madile-muted);font-size:14px;
}
.madile-shop-resultinfo strong{color:var(--madile-dark);}

/* Layout do main em grid: a toolbar fica em 1 linha (contagem + ordenação)
   e o ul.products ocupa toda largura. Sem float = sem buraco. */
.madile-shop-main{
	display:grid;
	grid-template-columns:1fr auto;
	column-gap:16px;row-gap:18px;
	align-items:center;
}
.madile-shop-main > *{grid-column:1 / -1;}
.madile-shop-main .woocommerce-result-count{
	grid-column:1;align-self:center;margin:0;
	color:var(--madile-muted);font-size:14px;float:none;
}
.madile-shop-main .woocommerce-ordering{
	grid-column:2;justify-self:end;margin:0;float:none;
}
.madile-shop-main .woocommerce-ordering select{
	padding:10px 14px;border:1.5px solid var(--madile-border);border-radius:10px;
	background:#fff;font:inherit;font-size:14px;color:var(--madile-text);
	cursor:pointer;min-width:200px;
}
.madile-shop-main .woocommerce-ordering select:focus{
	outline:none;border-color:var(--madile-primary);
	box-shadow:0 0 0 3px rgba(107,91,210,.15);
}
/* WooCommerce injeta <br class="clear"> que cria espaço fantasma */
.madile-shop-main br.clear{display:none;}

/* Quando produtos zero / nada encontrado */
.madile-shop-main .woocommerce-info,
.madile-shop-main .woocommerce-no-products-found{
	background:var(--madile-bg-cream);
	border:1px solid var(--madile-border);border-left:4px solid var(--madile-primary);
	border-radius:12px;padding:18px 22px;color:var(--madile-text);
}

/* Grid de 3 colunas no main quando há sidebar */
.madile-shop-main ul.products{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:24px;margin:0;padding:0;list-style:none;clear:none;
}
.madile-shop-main ul.products li.product{
	width:auto !important;margin:0 !important;float:none !important;clear:none !important;
}

/* Paginação centralizada quando aparecer */
.madile-shop-main .woocommerce-pagination{margin-top:32px;text-align:center;}

/* =====================================================
   Loja - responsivo
   ===================================================== */
@media (max-width:1024px){
	.madile-shop-grid{grid-template-columns:230px minmax(0, 1fr);gap:24px;}
	.madile-shop-main ul.products{grid-template-columns:repeat(2, minmax(0, 1fr));}
}

@media (max-width:900px){
	.madile-shop-grid{grid-template-columns:1fr;gap:0;}
	.madile-shop-filters-toggle{display:inline-flex;}

	.madile-shop-sidebar{
		position:fixed;top:0;left:0;
		width:88%;max-width:340px;height:100vh;
		background:#fff;z-index:200;
		padding:24px 18px 32px;gap:18px;
		overflow-y:auto;
		transform:translateX(-100%);transition:transform .25s ease;
		box-shadow:0 18px 48px rgba(42,31,93,.18);
	}
	.madile-shop-sidebar.is-open{transform:translateX(0);}
	body.madile-shop-drawer-open{overflow:hidden;}
	body.madile-shop-drawer-open::before{
		content:'';position:fixed;inset:0;z-index:199;
		background:rgba(42,31,93,.45);backdrop-filter:blur(2px);
	}
	.madile-shop-main ul.products{grid-template-columns:repeat(2, minmax(0, 1fr));gap:18px;}
}

@media (max-width:600px){
	.madile-shop-main{grid-template-columns:1fr;row-gap:12px;}
	.madile-shop-main .woocommerce-result-count{grid-column:1;}
	.madile-shop-main .woocommerce-ordering{grid-column:1;justify-self:stretch;}
	.madile-shop-main ul.products{grid-template-columns:1fr;gap:18px;}
	.madile-shop-header .page-title{font-size:1.5rem;}
	.madile-shop-main .woocommerce-ordering select{width:100%;min-width:0;}
}
