
/* ===== tailwind-utilities.css ===== */
/* Filó Rendeira — utilitários locais gerados para substituir o Tailwind Play CDN em produção. */
*,::before,::after{box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.-bottom-6{bottom:-1.5rem}
.-left-6{left:-1.5rem}
.absolute{position:absolute}
.accent-\[var\(--brand-pink-dark\)\]{accent-color:var(--brand-pink-dark)}
.aspect-\[3\/4\]{aspect-ratio:3/4}
.aspect-\[4\/5\]{aspect-ratio:4/5}
.bg-\[var\(--brand-offwhite\)\]{background-color:var(--brand-offwhite)}
.bg-\[var\(--brand-pink-dark\)\]{background-color:var(--brand-pink-dark)}
.bg-\[var\(--brand-pink-light\)\]{background-color:var(--brand-pink-light)}
.bg-black{background-color:rgb(0 0 0 / var(--tw-bg-opacity,1))}
.bg-opacity-20{--tw-bg-opacity:0.2}
.bg-opacity-25{--tw-bg-opacity:0.25}
.bg-opacity-30{--tw-bg-opacity:0.3}
.bg-opacity-60{--tw-bg-opacity:0.6}
.bg-opacity-70{--tw-bg-opacity:0.7}
.bg-white{background-color:rgb(255 255 255 / var(--tw-bg-opacity,1))}
.bg-white\/70{background-color:rgb(255 255 255 / 0.7)}
.bg-white\/85{background-color:rgb(255 255 255 / 0.85)}
.bg-yellow-50{background-color:#fefce8}
.block{display:block}
.border{border-width:1px;border-style:solid}
.border-2{border-width:2px;border-style:solid}
.border-\[var\(--brand-pink-dark\)\]{border-color:var(--brand-pink-dark)}
.border-\[var\(--brand-pink-light\)\]{border-color:var(--brand-pink-light)}
.border-t{border-top-width:1px;border-top-style:solid}
.border-yellow-200{border-color:#fef08a}
.cursor-pointer{cursor:pointer}
.duration-300{transition-duration:.3s}
.duration-500{transition-duration:.5s}
.fixed{position:fixed}
.flex{display:flex}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.focus\:absolute:focus{position:absolute}
.focus\:bg-white:focus{background-color:rgb(255 255 255 / var(--tw-bg-opacity,1))}
.focus\:font-bold:focus{font-weight:700}
.focus\:left-4:focus{left:1rem}
.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}
.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}
.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}
.focus\:rounded-full:focus{border-radius:9999px}
.focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.focus\:text-sm:focus{font-size:.875rem}
.focus\:top-4:focus{top:1rem}
.focus\:z-\[99999\]:focus{z-index:99999}
.font-bold{font-weight:700}
.font-semibold{font-weight:600}
.font-serif{font-family:"Playfair Display",serif}
.gap-0{gap:0}
.gap-1{gap:.25rem}
.gap-10{gap:2.5rem}
.gap-12{gap:3rem}
.gap-16{gap:4rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.h-12{height:3rem}
.h-16{height:4rem}
.h-8{height:2rem}
.h-auto{height:auto}
.h-px{height:1px}
.hidden{display:none}
.hover\:bg-\[var\(--brand-pink-dark\)\]:hover{background-color:var(--brand-pink-dark)}
.hover\:opacity-100:hover{opacity:1.0}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.hover\:text-\[var\(--brand-pink-dark\)\]:hover{color:var(--brand-pink-dark)}
.hover\:text-gray-600:hover{color:#4b5563}
.hover\:text-white:hover{color:#fff}
.hover\:underline:hover{text-decoration:underline}
.inline-flex{display:inline-flex}
.inset-0{inset:0}
.italic{font-style:italic}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.leading-none{line-height:1}
.leading-relaxed{line-height:1.625}
.leading-tight{line-height:1.25}
.left-0{left:0}
@media (min-width:1024px){.lg\:aspect-\[4\/5\]{aspect-ratio:4/5}}
@media (min-width:1024px){.lg\:gap-10{gap:2.5rem}}
@media (min-width:1024px){.lg\:gap-14{gap:3.5rem}}
@media (min-width:1024px){.lg\:gap-16{gap:4rem}}
@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.lg\:grid-cols-\[\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}}
@media (min-width:1024px){.lg\:grid-cols-\[0\.92fr_1\.08fr\]{grid-template-columns:0.92fr 1.08fr}}
@media (min-width:1024px){.lg\:grid-cols-\[0\.95fr_1\.05fr\]{grid-template-columns:0.95fr 1.05fr}}
@media (min-width:1024px){.lg\:grid-cols-\[1\.18fr_0\.82fr\]{grid-template-columns:1.18fr 0.82fr}}
@media (min-width:1024px){.lg\:grid-cols-\[1\.25fr_0\.75fr_0\.75fr\]{grid-template-columns:1.25fr 0.75fr 0.75fr}}
@media (min-width:1024px){.lg\:grid-cols-\[1\.2fr_\.8fr_\.8fr\]{grid-template-columns:1.2fr .8fr .8fr}}
@media (min-width:1024px){.lg\:grid-cols-\[1fr_\.85fr\]{grid-template-columns:1fr .85fr}}
@media (min-width:1024px){.lg\:order-1{order:1}}
@media (min-width:1024px){.lg\:order-2{order:2}}
@media (min-width:1024px){.lg\:text-7xl{font-size:4.5rem}}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-7xl{max-width:80rem}
.max-w-lg{max-width:32rem}
.max-w-md{max-width:28rem}
.max-w-xl{max-width:36rem}
.mb-1{margin-bottom:.25rem}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-16{margin-bottom:4rem}
.mb-2{margin-bottom:.5rem}
.mb-20{margin-bottom:5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-8{margin-bottom:2rem}
@media (min-width:768px){.md\:block{display:block}}
@media (min-width:768px){.md\:flex{display:flex}}
@media (min-width:768px){.md\:flex-row{flex-direction:row}}
@media (min-width:768px){.md\:gap-14{gap:3.5rem}}
@media (min-width:768px){.md\:gap-6{gap:1.5rem}}
@media (min-width:768px){.md\:gap-8{gap:2rem}}
@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:768px){.md\:mb-14{margin-bottom:3.5rem}}
@media (min-width:768px){.md\:p-10{padding:2.5rem}}
@media (min-width:768px){.md\:p-12{padding:3rem}}
@media (min-width:768px){.md\:p-6{padding:1.5rem}}
@media (min-width:768px){.md\:p-8{padding:2rem}}
@media (min-width:768px){.md\:p-9{padding:2.25rem}}
@media (min-width:768px){.md\:px-8{padding-left:2rem;padding-right:2rem}}
@media (min-width:768px){.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}}
@media (min-width:768px){.md\:text-2xl{font-size:1.5rem}}
@media (min-width:768px){.md\:text-3xl{font-size:1.875rem}}
@media (min-width:768px){.md\:text-5xl{font-size:3rem}}
@media (min-width:768px){.md\:text-6xl{font-size:3.75rem}}
@media (min-width:768px){.md\:text-base{font-size:1rem}}
@media (min-width:768px){.md\:text-lg{font-size:1.125rem}}
@media (min-width:768px){.md\:text-sm{font-size:.875rem}}
@media (min-width:768px){.md\:text-xl{font-size:1.25rem}}
@media (min-width:768px){.md\:w-24{width:6rem}}
.min-h-\[110px\]{min-height:110px}
.mt-1{margin-top:.25rem}
.mt-10{margin-top:2.5rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mx-auto{margin-left:auto;margin-right:auto}
.not-italic{font-style:normal}
.object-cover{object-fit:cover}
.opacity-40{opacity:0.4}
.opacity-50{opacity:0.5}
.opacity-55{opacity:0.55}
.opacity-60{opacity:0.6}
.opacity-65{opacity:0.65}
.opacity-70{opacity:0.7}
.opacity-75{opacity:0.75}
.opacity-80{opacity:0.8}
.opacity-90{opacity:0.9}
.order-1{order:1}
.order-2{order:2}
.overflow-hidden{overflow:hidden}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-7{padding:1.75rem}
.p-8{padding:2rem}
.pb-10{padding-bottom:2.5rem}
.pb-20{padding-bottom:5rem}
.pt-0{padding-top:0}
.pt-16{padding-top:4rem}
.pt-2{padding-top:.5rem}
.pt-20{padding-top:5rem}
.pt-3{padding-top:.75rem}
.pt-32{padding-top:8rem}
.pt-4{padding-top:1rem}
.pt-5{padding-top:1.25rem}
.pt-8{padding-top:2rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.relative{position:relative}
.right-0{right:0}
.right-5{right:1.25rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-\[1\.35rem\]{border-radius:1.35rem}
.rounded-\[2rem\]{border-radius:2rem}
.rounded-full{border-radius:9999px}
.rounded-xl{border-radius:.75rem}
.scroll-smooth{scroll-behavior:smooth}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
@media (min-width:640px){.sm\:flex-row{flex-direction:row}}
@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.text-2xl{font-size:1.5rem}
.text-3xl{font-size:1.875rem}
.text-4xl{font-size:2.25rem}
.text-5xl{font-size:3rem}
.text-6xl{font-size:3.75rem}
.text-\[var\(--brand-brown\)\]{color:var(--brand-brown)}
.text-\[var\(--brand-pink-dark\)\]{color:var(--brand-pink-dark)}
.text-\[var\(--brand-pink-light\)\]{color:var(--brand-pink-light)}
.text-base{font-size:1rem}
.text-center{text-align:center}
.text-gray-400{color:#9ca3af}
.text-left{text-align:left}
.text-lg{font-size:1.125rem}
.text-opacity-80{--tw-text-opacity:0.8}
.text-sm{font-size:.875rem}
.text-white{color:#fff}
.text-xl{font-size:1.25rem}
.text-xs{font-size:.75rem}
.text-yellow-900{color:#713f12}
.top-0{top:0}
.top-4{top:1rem}
.tracking-\[\.18em\]{letter-spacing:.18em}
.tracking-\[0\.18em\]{letter-spacing:0.18em}
.tracking-\[0\.22em\]{letter-spacing:0.22em}
.tracking-\[0\.25em\]{letter-spacing:0.25em}
.tracking-\[0\.28em\]{letter-spacing:0.28em}
.tracking-tight{letter-spacing:-.025em}
.tracking-widest{letter-spacing:.1em}
.transform{transform:translateZ(0)}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.underline{text-decoration:underline}
.uppercase{text-transform:uppercase}
.w-12{width:3rem}
.w-16{width:4rem}
.w-24{width:6rem}
.w-8{width:2rem}
.w-full{width:100%}
.z-10{z-index:10}
.z-50{z-index:50}
.z-\[9999\]{z-index:9999}


/* ===== style.css ===== */
/* Filó Rendeira — estilos extraídos do HTML para melhorar cache e manutenção. */
:root {
            --brand-offwhite: #FAF9F6;
            --brand-pink-light: #FADADD;
            --brand-pink-dark: #D8A7B1;
            --brand-brown: #4A3728;
        }
        
        body {
            font-family: 'Montserrat', sans-serif;
            background-color: var(--brand-offwhite);
            color: var(--brand-brown);
        }

        .font-serif { font-family: 'Playfair Display', serif; }

        .section-padding {
            padding: 4rem 1.5rem;
        }
        @media (min-width: 768px) {
            .section-padding { padding: 6rem 3rem; }
        }

        .button-primary {
            background-color: var(--brand-pink-dark);
            color: white;
            padding: 1rem 2rem;
            border-radius: 9999px;
            font-weight: 500;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            transition: all 0.3s ease;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
            text-decoration: none;
        }
        .button-primary:hover {
            opacity: 0.9;
            transform: translateY(-2px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
        }
        .button-outline {
            background-color: transparent;
            color: var(--brand-pink-dark);
            border: 2px solid var(--brand-pink-dark);
        }
        .button-outline:hover {
            background-color: var(--brand-pink-dark);
            color: white;
        }

        .faq-item {
            border: 1px solid var(--brand-pink-light);
            border-radius: 1rem;
            margin-bottom: 1rem;
            overflow: hidden;
        }
        .faq-content {
            max-height: 0;
            transition: max-height 0.3s ease-out;
            background-color: white;
        }
        .faq-item.active .faq-content {
            max-height: 600px;
        }
        .faq-item.active svg {
            transform: rotate(180deg);
        }

        .portfolio-card img {
            transition: transform 0.5s ease;
        }
        .portfolio-card:hover img {
            transform: scale(1.1);
        }

        .fade-in {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.7s ease, transform 0.7s ease;
        }
        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }

        #lightbox {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.92);
            z-index: 99999;
            align-items: center;
            justify-content: center;
            padding: 1rem;
        }
        #lightbox.open { display: flex; }
        #lightbox img {
            max-width: 90vw;
            max-height: 90vh;
            object-fit: contain;
            border-radius: 1rem;
            box-shadow: 0 25px 60px rgba(0,0,0,0.5);
        }
        #lightbox-close {
            position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            color: white;
            font-size: 2.5rem;
            cursor: pointer;
            opacity: 0.8;
            transition: opacity 0.2s;
        }
        #lightbox-close:hover { opacity: 1; }
        #lightbox-caption {
            position: absolute;
            bottom: 2rem;
            left: 50%;
            transform: translateX(-50%);
            color: white;
            font-family: 'Playfair Display', serif;
            font-size: 1.1rem;
            text-align: center;
            opacity: 0.9;
        }

        #popup {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.5);
            z-index: 9998;
            align-items: center;
            justify-content: center;
            padding: 1rem;
        }
        #popup.open { display: flex; }

        #back-to-top {
            position: fixed;
            bottom: 6.5rem;
            right: 2rem;
            z-index: 9997;
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: var(--brand-pink-dark);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            opacity: 0;
            transform: translateY(10px);
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(216,167,177,0.5);
        }
        #back-to-top.visible { opacity: 1; transform: translateY(0); }
        #back-to-top:hover { background: var(--brand-brown); transform: translateY(-2px); }

        #promo-bar {
            background: var(--brand-pink-dark);
            color: white;
            text-align: center;
            padding: 0.6rem 2rem;
            font-size: 0.8rem;
            font-weight: 500;
            letter-spacing: 0.05em;
            position: relative;
        }
        #promo-close {
            position: absolute;
            right: 1rem;
            top: 50%;
            transform: translateY(-50%);
            cursor: pointer;
            opacity: 0.8;
            font-size: 1.1rem;
        }

        .counter-num {
            font-family: 'Playfair Display', serif;
            font-size: 3rem;
            font-weight: 700;
            color: var(--brand-pink-dark);
            line-height: 1;
        }

        /* Animação Guia de Medidas */
        @keyframes pulse-pink {
            0% { box-shadow: 0 0 0 0 rgba(216, 167, 177, 0.7); }
            70% { box-shadow: 0 0 0 15px rgba(216, 167, 177, 0); }
            100% { box-shadow: 0 0 0 0 rgba(216, 167, 177, 0); }
        }
        .pulse {
            animation: pulse-pink 2s infinite;
        }
        @keyframes gentle-float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-6px); }
        }
        .measure-figure {
            animation: gentle-float 5s ease-in-out infinite;
            filter: drop-shadow(0 18px 30px rgba(216, 167, 177, 0.18));
        }
        .measure-line {
            stroke: var(--brand-pink-dark);
            stroke-width: 3;
            stroke-dasharray: 8 6;
            stroke-linecap: round;
            fill: none;
            opacity: 0.95;
        }

        /* Magazine grid portfólio */
        .portfolio-magazine {
            display: grid;
            grid-template-columns: 2fr 1fr;
            grid-template-rows: 1fr 1fr;
            gap: 1rem;
            height: 520px;
            margin-bottom: 1rem;
        }
        .portfolio-magazine .card-big {
            grid-row: span 2;
        }
        @media (max-width: 640px) {
            .portfolio-magazine {
                grid-template-columns: 1fr;
                grid-template-rows: auto;
                height: auto;
            }
            .portfolio-magazine .card-big { grid-row: span 1; }
        }
        .form-input { 
            width: 100%; padding: 0.8rem 1rem; border: 1px solid var(--brand-pink-light); border-radius: 12px; 
            background: white; outline: none; transition: border-color 0.3s ease;
        }
        .form-input:focus { border-color: var(--brand-pink-dark); }
        


        /* Hero premium com carrossel de imagens */
        .hero-premium {
            position: relative;
            overflow: hidden;
            background:
                radial-gradient(circle at 12% 18%, rgba(250, 218, 221, 0.85) 0, rgba(250, 218, 221, 0) 32%),
                radial-gradient(circle at 86% 12%, rgba(216, 167, 177, 0.28) 0, rgba(216, 167, 177, 0) 34%),
                linear-gradient(135deg, #FAF9F6 0%, #FFFDFC 42%, rgba(250, 218, 221, 0.42) 100%);
        }
        .hero-premium::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(216, 167, 177, 0.08) 1px, transparent 1px),
                linear-gradient(90deg, rgba(216, 167, 177, 0.08) 1px, transparent 1px);
            background-size: 72px 72px;
            mask-image: linear-gradient(to bottom, rgba(0,0,0,0.45), transparent 75%);
            pointer-events: none;
        }
        .hero-copy-card {
            position: relative;
            z-index: 2;
        }
        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.9rem;
            align-items: center;
        }
        .hero-secondary-link {
            color: var(--brand-brown);
            background: rgba(255,255,255,0.75);
            border: 1px solid rgba(216, 167, 177, 0.55);
            padding: 1rem 1.5rem;
            border-radius: 9999px;
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            font-size: 0.92rem;
            font-weight: 600;
            text-decoration: none;
            box-shadow: 0 10px 28px rgba(74,55,40,0.06);
            transition: all 0.25s ease;
        }
        .hero-secondary-link:hover {
            transform: translateY(-2px);
            border-color: var(--brand-pink-dark);
            background: white;
        }
        .hero-carousel-shell {
            position: relative;
            z-index: 2;
        }
        .hero-carousel {
            position: relative;
            aspect-ratio: 4 / 5;
            border-radius: 2rem;
            overflow: hidden;
            box-shadow: 0 28px 70px rgba(74, 55, 40, 0.22);
            border: 10px solid rgba(255,255,255,0.82);
            background: var(--brand-pink-light);
        }
        .hero-carousel::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(74,55,40,0.48), transparent 48%), linear-gradient(135deg, rgba(216,167,177,0.18), transparent 48%);
            pointer-events: none;
            z-index: 2;
        }
        .hero-slide {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0;
            transform: scale(1.035);
            transition: opacity 0.9s ease, transform 3.8s ease;
        }
        .hero-slide.active {
            opacity: 1;
            transform: scale(1);
        }
        .hero-floating-badge {
            position: absolute;
            z-index: 4;
            left: -1.1rem;
            top: 2.3rem;
            background: rgba(255,255,255,0.94);
            color: var(--brand-brown);
            border: 1px solid rgba(216,167,177,0.5);
            border-radius: 9999px;
            padding: 0.8rem 1.1rem;
            box-shadow: 0 14px 34px rgba(74,55,40,0.14);
            font-size: 0.8rem;
            font-weight: 700;
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
        }
        .hero-caption-card {
            position: absolute;
            left: 1.1rem;
            right: 1.1rem;
            bottom: 1.1rem;
            z-index: 4;
            background: rgba(255,255,255,0.9);
            border: 1px solid rgba(255,255,255,0.65);
            backdrop-filter: blur(14px);
            border-radius: 1.3rem;
            padding: 1rem 1.1rem;
            box-shadow: 0 14px 35px rgba(0,0,0,0.12);
        }
        .hero-caption-kicker {
            font-size: 0.68rem;
            text-transform: uppercase;
            letter-spacing: 0.16em;
            color: var(--brand-pink-dark);
            font-weight: 800;
            margin-bottom: 0.2rem;
        }
        .hero-caption-title {
            font-family: 'Playfair Display', serif;
            font-size: 1.25rem;
            line-height: 1.2;
            color: var(--brand-brown);
        }
        .hero-dots {
            position: absolute;
            z-index: 5;
            right: 1.15rem;
            top: 1.15rem;
            display: flex;
            gap: 0.45rem;
            padding: 0.45rem;
            border-radius: 9999px;
            background: rgba(255,255,255,0.72);
            backdrop-filter: blur(10px);
        }
        .hero-dot {
            width: 9px;
            height: 9px;
            border-radius: 50%;
            border: 0;
            background: rgba(74,55,40,0.25);
            cursor: pointer;
            transition: all 0.25s ease;
        }
        .hero-dot.active {
            width: 26px;
            border-radius: 9999px;
            background: var(--brand-pink-dark);
        }
        .hero-mini-gallery {
            position: absolute;
            right: -1rem;
            bottom: -1.15rem;
            z-index: 5;
            display: flex;
            gap: 0.55rem;
            padding: 0.55rem;
            border-radius: 1rem;
            background: rgba(255,255,255,0.86);
            border: 1px solid rgba(216,167,177,0.35);
            box-shadow: 0 14px 30px rgba(74,55,40,0.12);
        }
        .hero-mini-gallery img {
            width: 54px;
            height: 68px;
            object-fit: cover;
            border-radius: 0.75rem;
            border: 2px solid transparent;
            opacity: 0.74;
            cursor: pointer;
            transition: all 0.25s ease;
        }
        .hero-mini-gallery img.active {
            opacity: 1;
            border-color: var(--brand-pink-dark);
            transform: translateY(-3px);
        }
        .hero-stats {
            display: flex;
            flex-wrap: wrap;
            gap: 0.75rem;
            padding-top: 0.25rem;
        }
        .hero-stat-pill {
            background: rgba(255,255,255,0.72);
            border: 1px solid rgba(216,167,177,0.38);
            border-radius: 9999px;
            padding: 0.65rem 0.9rem;
            font-size: 0.78rem;
            font-weight: 700;
            box-shadow: 0 10px 24px rgba(74,55,40,0.06);
        }
        @media (max-width: 1023px) {
            .hero-carousel-shell { max-width: 560px; margin: 0 auto; }
            .hero-floating-badge { left: 1rem; }
            .hero-mini-gallery { right: 0.7rem; }
        }
        @media (max-width: 640px) {
            .hero-premium { padding-top: 8.5rem; }
            .hero-actions { flex-direction: column; align-items: stretch; }
            .hero-actions .button-primary, .hero-secondary-link { justify-content: center; width: 100%; }
            .hero-carousel { border-width: 7px; border-radius: 1.5rem; }
            .hero-mini-gallery { display: none; }
            .hero-floating-badge { top: 1rem; left: 1rem; font-size: 0.72rem; padding: 0.65rem 0.9rem; }
            .hero-caption-card { left: 0.8rem; right: 0.8rem; bottom: 0.8rem; }
            .hero-caption-title { font-size: 1.05rem; }
        }

        /* Upsell Checkbox */
        .upsell-box { transition: all 0.3s ease; }
        .upsell-box:hover { border-color: var(--brand-pink-dark); background-color: rgba(216, 167, 177, 0.1); }

        /* Validações do formulário */
        .form-input.input-error {
            border-color: #dc2626 !important;
            background-color: #fff7f7;
            box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.08);
        }
        .form-error {
            display: none;
            margin-top: 0.55rem;
            color: #991b1b;
            background: #fef2f2;
            border: 1px solid #fecaca;
            border-radius: 0.9rem;
            padding: 0.7rem 0.9rem;
            font-size: 0.78rem;
            line-height: 1.45;
        }
        .form-error.show { display: block; }
        .form-hint {
            font-size: 0.75rem;
            color: var(--brand-pink-dark);
            margin-top: 0.5rem;
            line-height: 1.4;
        }

        .location-type-option {
            border: 1px solid var(--brand-pink-light);
            border-radius: 1rem;
            padding: 0.85rem 1rem;
            background: white;
            font-size: 0.9rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.25s ease;
            text-align: center;
        }
        .location-type-option.active {
            border: 2px solid var(--brand-pink-dark);
            background: rgba(250, 218, 221, 0.45);
            box-shadow: 0 10px 24px rgba(216, 167, 177, 0.14);
        }
        .location-panel {
            display: none;
        }
        .location-panel.active {
            display: block;
        }

        /* Orçamento premium */
        .peca-option {
            border-color: var(--brand-pink-light);
            background: white;
            color: var(--brand-brown);
        }
        .peca-option.active {
            border: 2px solid var(--brand-pink-dark);
            background: rgba(250, 218, 221, 0.45);
            box-shadow: 0 12px 30px rgba(216, 167, 177, 0.18);
        }
        .prazo-alert {
            border-radius: 1rem;
            padding: 0.9rem 1rem;
            font-size: 0.88rem;
            line-height: 1.5;
            border: 1px solid transparent;
        }
        .prazo-ok { background: #EAF3DE; color: #3B6D11; border-color: #C0DD97; }
        .prazo-medio { background: #FEF3C7; color: #92400E; border-color: #FCD34D; }
        .prazo-urgente { background: #FCEBEB; color: #A32D2D; border-color: #F7C1C1; }
        .resumo-card-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.9rem;
        }
        @media (max-width: 640px) {
            .resumo-card-grid { grid-template-columns: 1fr; }
        }
        .resumo-label {
            font-size: 0.68rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            opacity: 0.58;
            margin-bottom: 0.15rem;
        }
        .resumo-value {
            font-weight: 600;
            color: var(--brand-brown);
        }


        /* Novas seções comerciais premium */
        .premium-card {
            background: white;
            border: 1px solid rgba(250, 218, 221, 0.8);
            border-radius: 1.5rem;
            box-shadow: 0 14px 40px rgba(74, 55, 40, 0.06);
            transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
        }
        .premium-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 22px 55px rgba(216, 167, 177, 0.20);
            border-color: var(--brand-pink-dark);
        }
        .mini-label-premium {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            background: rgba(250, 218, 221, 0.42);
            color: var(--brand-brown);
            border: 1px solid rgba(216, 167, 177, 0.38);
            border-radius: 9999px;
            padding: 0.45rem 0.9rem;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .portfolio-whatsapp-cta {
            position: absolute;
            left: 1rem;
            right: 1rem;
            bottom: 1rem;
            z-index: 20;
            background: #25D366;
            color: white;
            padding: 0.72rem 0.9rem;
            border-radius: 9999px;
            font-size: 0.78rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.45rem;
            text-decoration: none;
            box-shadow: 0 10px 30px rgba(37, 211, 102, 0.35);
            opacity: 0;
            transform: translateY(8px);
            transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
        }
        .portfolio-card:hover .portfolio-whatsapp-cta,
        .portfolio-card:focus-within .portfolio-whatsapp-cta {
            opacity: 1;
            transform: translateY(0);
        }
        .portfolio-whatsapp-cta:hover {
            box-shadow: 0 14px 38px rgba(37, 211, 102, 0.50);
            transform: translateY(-2px);
        }
        @media (max-width: 768px) {
            .portfolio-whatsapp-cta {
                opacity: 1;
                transform: translateY(0);
                font-size: 0.72rem;
                padding: 0.62rem 0.75rem;
            }
        }
        .floating-whatsapp-smart {
            position: fixed;
            right: 1.35rem;
            bottom: 1.35rem;
            z-index: 9999;
            background: #25D366;
            color: white;
            border-radius: 9999px;
            padding: 0.85rem 1.05rem;
            display: flex;
            align-items: center;
            gap: 0.7rem;
            box-shadow: 0 14px 35px rgba(37, 211, 102, 0.42);
            text-decoration: none;
            transition: transform 0.25s ease, box-shadow 0.25s ease;
        }
        .floating-whatsapp-smart:hover {
            transform: translateY(-3px) scale(1.02);
            box-shadow: 0 18px 45px rgba(37, 211, 102, 0.58);
        }
        .floating-whatsapp-smart .float-icon {
            width: 42px;
            height: 42px;
            border-radius: 9999px;
            background: rgba(255,255,255,0.18);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .floating-whatsapp-smart .float-title {
            display: block;
            font-size: 0.72rem;
            opacity: 0.86;
            line-height: 1.1;
        }
        .floating-whatsapp-smart .float-subtitle {
            display: block;
            font-size: 0.88rem;
            font-weight: 800;
            line-height: 1.15;
        }
        @media (max-width: 640px) {
            #back-to-top { right: 1rem; bottom: 6rem; }
            .floating-whatsapp-smart {
                left: 1rem;
                right: 1rem;
                bottom: 1rem;
                justify-content: center;
                padding: 0.78rem 1rem;
            }
        }

    

        /* =========================================================
           Versão Boutique Premium — refinamento visual geral
           ========================================================= */
        :root {
            --brand-rose-deep: #C98C9C;
            --brand-rose-soft: #F7E4E7;
            --brand-cream: #FFFDFC;
            --brand-gold-soft: #D7B98C;
            --brand-shadow: rgba(74, 55, 40, 0.10);
            --brand-shadow-strong: rgba(74, 55, 40, 0.18);
        }
        html { scroll-padding-top: 112px; }
        body {
            -webkit-font-smoothing: antialiased;
            text-rendering: geometricPrecision;
            line-height: 1.6;
            background:
                radial-gradient(circle at top left, rgba(250,218,221,0.44), transparent 32rem),
                radial-gradient(circle at 85% 20%, rgba(216,167,177,0.16), transparent 28rem),
                var(--brand-offwhite);
        }
        body::before {
            content: '';
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: -1;
            background-image:
                linear-gradient(rgba(216,167,177,0.035) 1px, transparent 1px),
                linear-gradient(90deg, rgba(216,167,177,0.035) 1px, transparent 1px);
            background-size: 58px 58px;
            mask-image: linear-gradient(to bottom, rgba(0,0,0,0.75), transparent 82%);
        }
        ::selection { background: var(--brand-pink-light); color: var(--brand-brown); }

        /* Menu refinado */
        #navbar { padding-top: 1.05rem !important; padding-bottom: 1.05rem !important; }
        #navbar > .max-w-7xl {
            border: 1px solid rgba(216,167,177,0.34);
            background: rgba(255, 253, 252, 0.72);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            border-radius: 9999px;
            padding: 0.78rem 0.95rem 0.78rem 1.2rem;
            box-shadow: 0 16px 44px rgba(74,55,40,0.08);
            transition: all 0.35s ease;
        }
        #navbar.bg-white > .max-w-7xl,
        #navbar.nav-scrolled > .max-w-7xl {
            background: rgba(255, 255, 255, 0.92);
            border-color: rgba(216,167,177,0.52);
            box-shadow: 0 20px 55px rgba(74,55,40,0.12);
        }
        #navbar a.text-2xl,
        #navbar a.text-3xl { letter-spacing: -0.03em; position: relative; padding-left: 0.15rem; }
        #navbar a.text-2xl::after,
        #navbar a.text-3xl::after {
            content: 'atelier'; display: inline-flex; align-items: center; margin-left: 0.45rem; transform: translateY(-0.18rem);
            font-family: 'Montserrat', sans-serif; font-style: normal; font-size: 0.55rem; letter-spacing: 0.16em; text-transform: uppercase;
            color: var(--brand-pink-dark); border: 1px solid rgba(216,167,177,0.4); border-radius: 999px; padding: 0.16rem 0.42rem; background: rgba(250,218,221,0.36);
        }
        #navbar .hidden.md\:flex a:not(:last-child) { position: relative; padding: 0.45rem 0; }
        #navbar .hidden.md\:flex a:not(:last-child)::after {
            content: ''; position: absolute; left: 0; right: 0; bottom: 0.18rem; height: 1px; background: var(--brand-pink-dark);
            transform: scaleX(0); transform-origin: center; transition: transform 0.25s ease; opacity: 0.85;
        }
        #navbar .hidden.md\:flex a:not(:last-child):hover::after { transform: scaleX(1); }
        #navbar .hidden.md\:flex a:last-child {
            background: linear-gradient(135deg, var(--brand-pink-dark), var(--brand-rose-deep));
            box-shadow: 0 12px 28px rgba(216,167,177,0.36); border: 1px solid rgba(255,255,255,0.42); transition: all 0.28s ease;
        }
        #navbar .hidden.md\:flex a:last-child:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(216,167,177,0.44); }
        #mobile-menu-toggle {
            width: 44px; height: 44px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
            background: rgba(250,218,221,0.42); border: 1px solid rgba(216,167,177,0.44);
        }
        #mobile-menu { background: radial-gradient(circle at 20% 15%, rgba(250,218,221,0.9), transparent 18rem), linear-gradient(145deg, #FFFDFC 0%, #FAF9F6 100%) !important; }
        #mobile-menu a:not(.button-primary) {
            width: min(100%, 320px); text-align: center; border: 1px solid rgba(216,167,177,0.32); border-radius: 999px; padding: 0.8rem 1rem;
            background: rgba(255,255,255,0.72); box-shadow: 0 10px 28px rgba(74,55,40,0.05);
        }

        /* Botões padronizados */
        .button-primary, button.button-primary, a.button-primary {
            background: linear-gradient(135deg, var(--brand-pink-dark) 0%, var(--brand-rose-deep) 100%) !important; color: white !important;
            border: 1px solid rgba(255,255,255,0.42); box-shadow: 0 16px 34px rgba(216,167,177,0.34), inset 0 1px 0 rgba(255,255,255,0.25);
            letter-spacing: 0.01em; position: relative; overflow: hidden;
        }
        .button-primary::before, .hero-secondary-link::before, .portfolio-whatsapp-cta::before {
            content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.28) 38%, transparent 72%);
            transform: translateX(-120%); transition: transform 0.7s ease;
        }
        .button-primary:hover::before, .hero-secondary-link:hover::before, .portfolio-whatsapp-cta:hover::before { transform: translateX(120%); }
        .button-primary:hover { opacity: 1 !important; transform: translateY(-3px); box-shadow: 0 22px 46px rgba(216,167,177,0.45), inset 0 1px 0 rgba(255,255,255,0.3); }
        .button-outline, .hero-secondary-link {
            background: rgba(255,255,255,0.82) !important; color: var(--brand-brown) !important; border: 1px solid rgba(216,167,177,0.5) !important;
            box-shadow: 0 14px 32px rgba(74,55,40,0.07); position: relative; overflow: hidden;
        }
        .button-outline:hover, .hero-secondary-link:hover { background: #fff !important; color: var(--brand-rose-deep) !important; border-color: var(--brand-pink-dark) !important; }

        /* Seções com identidade mais consistente */
        .section-padding { position: relative; }
        .section-padding h2 { letter-spacing: -0.035em; }
        .section-padding > .max-w-7xl, .section-padding > .max-w-5xl, .section-padding > .max-w-3xl { position: relative; z-index: 1; }
        .mini-label-premium, #orcamento .inline-flex.items-center.gap-2.bg-white { box-shadow: 0 12px 26px rgba(216,167,177,0.13); background: rgba(255,255,255,0.76) !important; backdrop-filter: blur(12px); }
        #incluso, #duvidas-encomenda { background: radial-gradient(circle at 8% 20%, rgba(250,218,221,0.36), transparent 22rem), #fff !important; }
        #depoimentos, #como-tirar-medidas, #orcamento { background: radial-gradient(circle at 80% 12%, rgba(216,167,177,0.22), transparent 26rem), radial-gradient(circle at 12% 92%, rgba(250,218,221,0.38), transparent 24rem), var(--brand-offwhite) !important; }

        /* Cards premium */
        .premium-card, #como-funciona .rounded-3xl.bg-\[var\(--brand-offwhite\)\], #como-tirar-medidas .premium-card {
            border: 1px solid rgba(216,167,177,0.32) !important; background: rgba(255,255,255,0.86) !important; backdrop-filter: blur(10px); box-shadow: 0 18px 46px rgba(74,55,40,0.075);
        }
        .premium-card { position: relative; overflow: hidden; }
        .premium-card::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(140deg, rgba(255,255,255,0.42), transparent 34%); opacity: 0; transition: opacity 0.3s ease; }
        .premium-card:hover::after { opacity: 1; }
        .premium-card:hover { transform: translateY(-6px); box-shadow: 0 26px 64px rgba(216,167,177,0.22); }

        /* Portfólio mais bonito */
        #portfolio { background: linear-gradient(180deg, var(--brand-offwhite), #fff 48%, var(--brand-offwhite)); }
        #portfolio-filters {
            position: sticky; top: 5.8rem; z-index: 20; padding: 0.65rem; margin-left: auto; margin-right: auto; width: fit-content; max-width: 100%;
            border-radius: 9999px; background: rgba(255,255,255,0.75); backdrop-filter: blur(14px); box-shadow: 0 16px 42px rgba(74,55,40,0.08); border: 1px solid rgba(216,167,177,0.24);
        }
        .filter-btn { background: rgba(255,255,255,0.72) !important; border: 1px solid rgba(216,167,177,0.48) !important; box-shadow: 0 8px 18px rgba(74,55,40,0.04); color: var(--brand-rose-deep) !important; transition: all 0.24s ease !important; }
        .filter-btn:hover, .filter-btn.active-filter { background: linear-gradient(135deg, var(--brand-pink-dark), var(--brand-rose-deep)) !important; color: white !important; transform: translateY(-1px); box-shadow: 0 12px 24px rgba(216,167,177,0.28); }
        .portfolio-card { border-radius: 1.55rem !important; border: 1px solid rgba(216,167,177,0.32); box-shadow: 0 18px 48px rgba(74,55,40,0.10) !important; background: #fff; isolation: isolate; transition: transform 0.34s ease, box-shadow 0.34s ease, border-color 0.34s ease; }
        .portfolio-card:hover { transform: translateY(-5px); border-color: rgba(216,167,177,0.78); box-shadow: 0 28px 70px rgba(74,55,40,0.16) !important; }
        .portfolio-card img { transition: transform 0.85s ease, filter 0.85s ease !important; }
        .portfolio-card:hover img { transform: scale(1.065) !important; filter: saturate(1.06) contrast(1.03); }
        .portfolio-card .absolute.inset-0.bg-gradient-to-t { background: linear-gradient(to top, rgba(74,55,40,0.66), rgba(74,55,40,0.08) 58%, transparent 100%) !important; }
        .portfolio-card .absolute.bottom-0 { z-index: 12; text-shadow: 0 2px 12px rgba(0,0,0,0.24); }
        .portfolio-whatsapp-cta { background: linear-gradient(135deg, #25D366, #159B4F) !important; border: 1px solid rgba(255,255,255,0.38); }
        .portfolio-magazine { gap: 1.25rem; }

        /* Orçamento com visual premium */
        #orcamento > .max-w-5xl > .bg-white { border-radius: 2.2rem !important; border: 1px solid rgba(216,167,177,0.42) !important; box-shadow: 0 30px 90px rgba(74,55,40,0.14) !important; overflow: hidden; background: rgba(255,255,255,0.94) !important; }
        #orcamento > .max-w-5xl > .bg-white > div:first-child { background: radial-gradient(circle at 16% 20%, rgba(255,255,255,0.26), transparent 12rem), linear-gradient(135deg, var(--brand-pink-dark), var(--brand-rose-deep)) !important; }
        #form-orcamento { background: radial-gradient(circle at 100% 0%, rgba(250,218,221,0.28), transparent 18rem), linear-gradient(180deg, #fff, #fffdfc); }
        .form-input { min-height: 50px; border-radius: 1rem !important; border-color: rgba(216,167,177,0.55) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 10px 24px rgba(74,55,40,0.035); }
        .form-input:focus { border-color: var(--brand-rose-deep) !important; box-shadow: 0 0 0 4px rgba(216,167,177,0.16), 0 12px 28px rgba(74,55,40,0.055); }
        .peca-option, .location-type-option, .upsell-box { border-radius: 1.2rem !important; border: 1px solid rgba(216,167,177,0.46) !important; box-shadow: 0 12px 26px rgba(74,55,40,0.045); }
        .peca-option:hover, .location-type-option:hover, .upsell-box:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(216,167,177,0.15); }
        .peca-option.active, .location-type-option.active { background: linear-gradient(135deg, rgba(250,218,221,0.72), rgba(255,255,255,0.92)) !important; border-color: var(--brand-rose-deep) !important; }
        .prazo-alert, .form-error, .resumo-card-grid > div { box-shadow: 0 12px 28px rgba(74,55,40,0.045); }

        /* Depoimentos mais elegantes */
        #depoimentos .premium-card { min-height: 100%; padding-top: 2.25rem !important; }
        #depoimentos .premium-card::before { content: '“'; position: absolute; top: -0.45rem; right: 1.5rem; font-family: 'Playfair Display', serif; font-size: 6rem; line-height: 1; color: rgba(216,167,177,0.18); pointer-events: none; }
        #depoimentos .tracking-tight { letter-spacing: 0.08em; color: #C8912E !important; }


        /* Ícones de contato no topo e rodapé */
        .nav-contact-icons {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            padding: 0.25rem 0.4rem;
            border-radius: 999px;
            background: rgba(255,255,255,0.62);
            border: 1px solid rgba(216,167,177,0.28);
            box-shadow: 0 10px 26px rgba(74,55,40,0.055);
        }
        .nav-contact-icon {
            width: 34px;
            height: 34px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
            line-height: 1;
            background: #fff;
            border: 1px solid rgba(216,167,177,0.34);
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.75), 0 8px 18px rgba(74,55,40,0.055);
            transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease, background 0.24s ease;
            text-decoration: none;
        }
        .nav-contact-icon:hover {
            transform: translateY(-2px);
            box-shadow: 0 14px 28px rgba(216,167,177,0.24);
            border-color: rgba(216,167,177,0.78);
            background: rgba(250,218,221,0.5);
        }
        .nav-contact-icon.whatsapp { border-color: rgba(37,211,102,0.28); background: rgba(37,211,102,0.08); }
        .nav-contact-icon.instagram { background: rgba(216,167,177,0.12); }
        .nav-contact-icon.gmail { background: rgba(234,67,53,0.08); border-color: rgba(234,67,53,0.18); }

        .mobile-social-icons {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.85rem;
            width: 100%;
            margin-top: 0.25rem;
            padding-top: 1rem;
            border-top: 1px solid rgba(216,167,177,0.28);
        }
        .mobile-social-icons a {
            width: 48px;
            height: 48px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(250,218,221,0.32);
            border: 1px solid rgba(216,167,177,0.36);
            box-shadow: 0 12px 26px rgba(74,55,40,0.07);
            font-size: 1.25rem;
            text-decoration: none;
        }

        .contact-social-list { gap: 0.75rem !important; }
        .contact-social-card {
            display: flex;
            align-items: center;
            gap: 0.85rem;
            padding: 0.85rem 0.95rem;
            border-radius: 1.1rem;
            background: rgba(255,255,255,0.72);
            border: 1px solid rgba(216,167,177,0.28);
            color: rgba(74,55,40,0.82);
            box-shadow: 0 12px 28px rgba(74,55,40,0.045);
            transition: all 0.24s ease;
            text-decoration: none;
        }
        .contact-social-card:hover {
            transform: translateY(-2px);
            border-color: rgba(216,167,177,0.65);
            box-shadow: 0 18px 36px rgba(216,167,177,0.18);
            color: var(--brand-brown);
        }
        .contact-social-icon {
            width: 42px;
            height: 42px;
            flex: 0 0 42px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(250,218,221,0.38);
            border: 1px solid rgba(216,167,177,0.35);
            font-size: 1.25rem;
        }
        .contact-social-card strong { display: block; font-size: 0.9rem; }
        .contact-social-card small { display: block; margin-top: 0.1rem; opacity: 0.65; font-size: 0.78rem; line-height: 1.25; }
        .contact-social-icon.whatsapp { background: rgba(37,211,102,0.10); border-color: rgba(37,211,102,0.24); }
        .contact-social-icon.instagram { background: rgba(216,167,177,0.18); }
        .contact-social-icon.gmail { background: rgba(234,67,53,0.08); border-color: rgba(234,67,53,0.18); }

        .nav-contact-icon::after, .mobile-social-icons a::after { display: none !important; }
        #mobile-menu .mobile-social-icons a { width: 48px !important; max-width: 48px !important; height: 48px !important; padding: 0 !important; border-radius: 999px !important; }
        .social-svg { display: block; width: 19px; height: 19px; }
        .mobile-social-icons .social-svg { width: 24px; height: 24px; }
        .contact-social-icon .social-svg { width: 22px; height: 22px; }
        .nav-contact-icon.whatsapp svg, .mobile-social-icons .whatsapp svg, .contact-social-icon.whatsapp svg { color: #25D366; }
        .nav-contact-icon.instagram svg, .mobile-social-icons .instagram svg, .contact-social-icon.instagram svg { color: #E1306C; }
        .nav-contact-icon.gmail svg, .mobile-social-icons .gmail svg, .contact-social-icon.gmail svg { color: #EA4335; }
        .nav-contact-icon.whatsapp, .mobile-social-icons a.whatsapp, .contact-social-icon.whatsapp { background: rgba(37,211,102,0.10) !important; border-color: rgba(37,211,102,0.28) !important; }
        .nav-contact-icon.instagram, .mobile-social-icons a.instagram, .contact-social-icon.instagram { background: linear-gradient(135deg, rgba(250,218,221,0.55), rgba(255,255,255,0.72)) !important; border-color: rgba(225,48,108,0.22) !important; }
        .nav-contact-icon.gmail, .mobile-social-icons a.gmail, .contact-social-icon.gmail { background: rgba(234,67,53,0.08) !important; border-color: rgba(234,67,53,0.22) !important; }

        /* Rodapé novo */
        .footer-premium { position: relative; overflow: hidden; background: radial-gradient(circle at 18% 10%, rgba(250,218,221,0.46), transparent 26rem), linear-gradient(135deg, #FFFDFC 0%, #FAF9F6 52%, #F7E4E7 100%); border-top: 1px solid rgba(216,167,177,0.38); }
        .footer-premium::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(216,167,177,0.055) 1px, transparent 1px), linear-gradient(90deg, rgba(216,167,177,0.055) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to top, rgba(0,0,0,0.65), transparent 70%); pointer-events: none; }
        .footer-card { background: rgba(255,255,255,0.72); border: 1px solid rgba(216,167,177,0.34); border-radius: 1.6rem; box-shadow: 0 18px 46px rgba(74,55,40,0.08); backdrop-filter: blur(12px); }
        .footer-link { display: inline-flex; align-items: center; gap: 0.5rem; color: rgba(74,55,40,0.72); transition: all 0.24s ease; }
        .footer-link:hover { color: var(--brand-rose-deep); transform: translateX(3px); }

        /* Animações suaves e mobile */
        @keyframes softPop { from { opacity: 0; transform: translateY(14px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
        .hero-copy-card, .hero-carousel-shell { animation: softPop 0.8s ease both; }
        .hero-carousel-shell { animation-delay: 0.12s; }
        @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.001ms !important; } }
        @media (max-width: 768px) {
            html { scroll-padding-top: 92px; }
            #navbar { padding: 0.75rem 0.85rem !important; }
            #navbar > .max-w-7xl { border-radius: 1.25rem; padding: 0.75rem 0.85rem; }
            #navbar a.text-2xl::after, #navbar a.text-3xl::after { display: none; }
            .section-padding { padding: 4.25rem 1rem; }
            .section-padding h2 { line-height: 1.08; }
            .hero-premium { padding-top: 8.25rem !important; }
            .hero-stats { gap: 0.55rem; }
            .hero-stat-pill { width: 100%; text-align: center; }
            #portfolio-filters { position: relative; top: auto; border-radius: 1.25rem; justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; width: 100%; padding: 0.65rem; scroll-snap-type: x mandatory; }
            #portfolio-filters .filter-btn { flex: 0 0 auto; scroll-snap-align: start; }
            #portfolio-grid { gap: 1.25rem !important; }
            .portfolio-magazine { gap: 1.25rem; }
            #orcamento > .max-w-5xl > .bg-white { border-radius: 1.55rem !important; }
            #form-orcamento { padding: 1.25rem !important; }
            .button-primary, .button-outline, .hero-secondary-link { width: 100%; justify-content: center; }
            .footer-card { border-radius: 1.25rem; }
            .floating-whatsapp-smart { box-shadow: 0 14px 34px rgba(37,211,102,0.36); }
        }

    
        /* =========================================================
           Boutique Premium V2 — alinhamento visual do site inteiro
           ========================================================= */
        :root {
            --premium-ink: #3f2d22;
            --premium-muted: rgba(74, 55, 40, 0.68);
            --premium-glass: rgba(255, 255, 255, 0.78);
            --premium-border: rgba(216, 167, 177, 0.34);
            --premium-glow: rgba(216, 167, 177, 0.20);
        }

        .hero-slide { z-index: 0; }
        .hero-slide.active { z-index: 1; }
        .hero-carousel { isolation: isolate; }
        .hero-carousel-progress {
            position: absolute;
            left: 1.2rem;
            right: 1.2rem;
            top: 1.12rem;
            height: 3px;
            border-radius: 999px;
            background: rgba(255,255,255,0.56);
            z-index: 6;
            overflow: hidden;
            box-shadow: 0 8px 18px rgba(74,55,40,0.10);
        }
        .hero-carousel-progress span {
            display: block;
            height: 100%;
            width: 0%;
            border-radius: inherit;
            background: linear-gradient(90deg, #fff, var(--brand-pink-dark));
        }
        .hero-carousel-progress.running span { animation: heroProgress 4.6s linear forwards; }
        @keyframes heroProgress { from { width: 0%; } to { width: 100%; } }

        #hero + div {
            margin-top: -1px;
            background: rgba(255, 255, 255, 0.76) !important;
            backdrop-filter: blur(16px);
            border-top: 1px solid rgba(216,167,177,0.30) !important;
            border-bottom: 1px solid rgba(216,167,177,0.30) !important;
            box-shadow: 0 18px 48px rgba(74,55,40,0.06);
        }
        #hero + div .max-w-7xl > div {
            background: rgba(255,255,255,0.54);
            border: 1px solid rgba(216,167,177,0.25);
            border-radius: 999px;
            padding: 0.55rem 0.85rem;
            box-shadow: 0 10px 28px rgba(74,55,40,0.04);
        }

        section.section-padding:not(#hero) {
            overflow: hidden;
            isolation: isolate;
        }
        section.section-padding:not(#hero)::before {
            content: '';
            position: absolute;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            background:
                radial-gradient(circle at 8% 18%, rgba(250,218,221,0.42), transparent 23rem),
                radial-gradient(circle at 92% 20%, rgba(216,167,177,0.15), transparent 26rem),
                radial-gradient(circle at 50% 100%, rgba(255,255,255,0.80), transparent 24rem);
            opacity: 0.95;
        }
        section.section-padding:not(#hero) > * { position: relative; z-index: 1; }
        #como-funciona, #incluso, #duvidas-encomenda, #sobre, #faq, #guia-medidas {
            background: linear-gradient(180deg, #FFFDFC 0%, #FAF9F6 100%) !important;
        }
        #portfolio, #depoimentos, #como-tirar-medidas, #orcamento {
            background: linear-gradient(180deg, #FAF9F6 0%, #FFFDFC 48%, #F7E4E7 100%) !important;
        }

        section.section-padding:not(#hero) .text-center.mb-12,
        section.section-padding:not(#hero) .text-center.mb-16 {
            background: rgba(255,255,255,0.58);
            border: 1px solid rgba(216,167,177,0.22);
            border-radius: 2rem;
            padding: clamp(1.35rem, 3vw, 2.4rem);
            box-shadow: 0 18px 48px rgba(74,55,40,0.055);
            backdrop-filter: blur(14px);
        }
        section.section-padding:not(#hero) h2 {
            color: var(--premium-ink);
            text-wrap: balance;
        }
        section.section-padding:not(#hero) p {
            color: var(--premium-muted);
        }
        .mini-label-premium {
            color: var(--premium-ink) !important;
            background: linear-gradient(135deg, rgba(250,218,221,0.72), rgba(255,255,255,0.82)) !important;
            box-shadow: 0 12px 26px rgba(216,167,177,0.13) !important;
        }

        .premium-card,
        #como-funciona .grid > div,
        #sobre .rounded-2xl,
        .faq-item,
        #guia-medidas .relative.bg-\[var\(--brand-offwhite\)\] {
            border: 1px solid var(--premium-border) !important;
            background: rgba(255,255,255,0.82) !important;
            backdrop-filter: blur(14px);
            box-shadow: 0 20px 55px rgba(74,55,40,0.08) !important;
            border-radius: 1.75rem !important;
        }
        .premium-card,
        #como-funciona .grid > div,
        .faq-item {
            transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
        }
        .premium-card:hover,
        #como-funciona .grid > div:hover,
        .faq-item:hover {
            transform: translateY(-5px);
            border-color: rgba(216,167,177,0.72) !important;
            box-shadow: 0 28px 75px rgba(216,167,177,0.22) !important;
        }

        #como-funciona .bg-\[var\(--brand-pink-light\)\].bg-opacity-30,
        #como-tirar-medidas .bg-white.rounded-3xl,
        #sobre .absolute.-bottom-6,
        #resumo-pedido {
            background: linear-gradient(135deg, rgba(250,218,221,0.72), rgba(255,255,255,0.86)) !important;
            border: 1px solid rgba(216,167,177,0.36) !important;
            box-shadow: 0 18px 46px rgba(74,55,40,0.08) !important;
            backdrop-filter: blur(12px);
        }

        #portfolio .portfolio-card {
            overflow: hidden;
            border-radius: 1.85rem !important;
            background: #fff !important;
        }
        #portfolio .portfolio-card::before {
            content: '';
            position: absolute;
            inset: 0;
            z-index: 11;
            pointer-events: none;
            background: linear-gradient(to top, rgba(74,55,40,0.72), rgba(74,55,40,0.08) 48%, transparent 72%);
            opacity: 1;
        }
        #portfolio .portfolio-card .absolute.bottom-0 {
            opacity: 1 !important;
            transform: translateY(0) !important;
            z-index: 14;
        }
        #portfolio .portfolio-card .absolute.inset-0.bg-gradient-to-t {
            opacity: 0 !important;
        }
        #portfolio .portfolio-card h3 {
            text-shadow: 0 4px 20px rgba(0,0,0,0.24);
        }
        #portfolio .portfolio-whatsapp-cta {
            opacity: 0;
            z-index: 18;
            bottom: 1.05rem;
            left: 1.05rem;
            right: 1.05rem;
        }
        #portfolio .portfolio-card:hover .portfolio-whatsapp-cta,
        #portfolio .portfolio-card:focus-within .portfolio-whatsapp-cta {
            opacity: 1;
        }
        #portfolio-filters {
            border-radius: 1.4rem !important;
        }

        #depoimentos .premium-card {
            background:
                linear-gradient(145deg, rgba(255,255,255,0.88), rgba(255,253,252,0.72)),
                radial-gradient(circle at 100% 0%, rgba(250,218,221,0.55), transparent 12rem) !important;
        }
        #duvidas-encomenda .premium-card,
        .faq-item {
            box-shadow: 0 16px 42px rgba(74,55,40,0.06) !important;
        }
        #duvidas-encomenda .premium-card h3::before {
            content: '✦';
            display: inline-flex;
            margin-right: 0.45rem;
            color: var(--brand-pink-dark);
        }

        #orcamento > .max-w-5xl > .bg-white {
            background: rgba(255,255,255,0.86) !important;
            backdrop-filter: blur(18px);
        }
        #orcamento .step-indicator > div {
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.35), 0 8px 20px rgba(74,55,40,0.12);
        }
        .peca-option,
        .location-type-option,
        .upsell-box {
            background: rgba(255,255,255,0.76) !important;
        }
        .peca-option.active,
        .location-type-option.active {
            box-shadow: 0 18px 42px rgba(216,167,177,0.22) !important;
        }

        #sobre img {
            filter: saturate(0.92) contrast(1.02);
        }
        #faq .faq-content {
            background: rgba(255,255,255,0.52) !important;
        }
        .counter-num {
            text-shadow: 0 10px 28px rgba(216,167,177,0.28);
        }
        section:has(.counter-num) {
            background: linear-gradient(135deg, rgba(250,218,221,0.54), rgba(255,255,255,0.78)) !important;
        }
        section:has(.counter-num) .max-w-7xl {
            background: rgba(255,255,255,0.62);
            border: 1px solid rgba(216,167,177,0.28);
            border-radius: 2rem;
            padding: clamp(1.5rem, 4vw, 2.75rem);
            box-shadow: 0 20px 55px rgba(74,55,40,0.07);
            backdrop-filter: blur(14px);
        }

        @media (max-width: 768px) {
            #hero + div .max-w-7xl > div { border-radius: 1.1rem; width: 100%; justify-content: flex-start; }
            section.section-padding:not(#hero) .text-center.mb-12,
            section.section-padding:not(#hero) .text-center.mb-16 { border-radius: 1.35rem; padding: 1.15rem; }
            .premium-card, #como-funciona .grid > div, .faq-item { border-radius: 1.35rem !important; }
            #portfolio .portfolio-whatsapp-cta { opacity: 1; }
            #portfolio .portfolio-card .absolute.bottom-0 { padding-bottom: 4.55rem !important; }
            #portfolio-filters { border-radius: 1.1rem !important; }
            #orcamento .grid { gap: 1rem; }
        }

    

        /* =========================================================
           Otimização Mobile Pro — hero visível, seções mais limpas
           ========================================================= */
        img { max-width: 100%; }
        body { overflow-x: hidden; }

        @media (max-width: 900px) {
            .nav-social-icons { display: none !important; }
        }

        @media (max-width: 768px) {
            html { scroll-padding-top: 92px; }
            body { font-size: 15px; }

            #promo-bar {
                padding: 0.55rem 2.2rem 0.55rem 0.85rem !important;
                font-size: 0.68rem !important;
                line-height: 1.35;
                letter-spacing: 0.03em;
            }
            #promo-text { gap: 0.35rem !important; }
            #promo-close { right: 0.65rem !important; }

            #navbar {
                top: 0.45rem;
                padding: 0 0.75rem !important;
            }
            #navbar > .max-w-7xl {
                border-radius: 1.25rem !important;
                padding: 0.7rem 0.8rem !important;
            }
            #navbar a.text-2xl,
            #navbar a.text-3xl {
                font-size: 1.35rem !important;
                line-height: 1;
                max-width: 70vw;
                white-space: nowrap;
            }
            #mobile-menu {
                padding: 5.5rem 1.25rem 2rem !important;
                gap: 1.25rem !important;
            }
            #mobile-menu a:not(.button-primary):not(.whatsapp):not(.instagram):not(.gmail) {
                width: 100%;
                text-align: center;
                padding: 0.85rem 1rem;
                border-radius: 1rem;
                background: rgba(250, 218, 221, 0.22);
                border: 1px solid rgba(216, 167, 177, 0.22);
            }
            .mobile-social-icons {
                margin: 0.4rem 0 0.2rem;
                justify-content: center;
            }

            /* Hero: imagem aparece primeiro no celular */
            .hero-premium {
                min-height: auto !important;
                padding: 7.75rem 1rem 3.25rem !important;
                display: block !important;
            }
            .hero-premium > .max-w-7xl {
                display: flex !important;
                flex-direction: column !important;
                gap: 1.35rem !important;
            }
            .hero-carousel-shell {
                order: -1;
                width: 100%;
                max-width: 430px !important;
                margin: 0 auto 0.35rem !important;
            }
            .hero-carousel {
                width: 100% !important;
                height: clamp(355px, 112vw, 500px) !important;
                min-height: 355px !important;
                aspect-ratio: auto !important;
                border-width: 6px !important;
                border-radius: 1.45rem !important;
                background: var(--brand-pink-light) !important;
            }
            .hero-slide {
                display: block !important;
                visibility: visible !important;
                width: 100% !important;
                height: 100% !important;
                object-fit: cover !important;
                object-position: center center !important;
            }
            .hero-dots {
                top: 0.72rem !important;
                right: 0.72rem !important;
                padding: 0.38rem !important;
            }
            .hero-carousel-progress {
                left: 0.85rem !important;
                right: 5.4rem !important;
                top: 0.98rem !important;
            }
            .hero-floating-badge {
                top: auto !important;
                left: 0.8rem !important;
                bottom: 6.25rem !important;
                font-size: 0.66rem !important;
                padding: 0.52rem 0.75rem !important;
                max-width: calc(100% - 1.6rem);
            }
            .hero-caption-card {
                left: 0.75rem !important;
                right: 0.75rem !important;
                bottom: 0.75rem !important;
                border-radius: 1.05rem !important;
                padding: 0.75rem 0.85rem !important;
            }
            .hero-caption-kicker {
                font-size: 0.58rem !important;
                letter-spacing: 0.12em !important;
            }
            .hero-caption-title {
                font-size: 0.98rem !important;
            }
            .hero-mini-gallery { display: none !important; }

            .hero-copy-card {
                order: 2;
                text-align: center;
            }
            .hero-copy-card .inline-flex {
                justify-content: center;
                width: 100%;
                font-size: 0.76rem;
                padding: 0.62rem 0.75rem;
            }
            .hero-copy-card h1 {
                font-size: clamp(2.25rem, 11vw, 3.45rem) !important;
                line-height: 0.96 !important;
                letter-spacing: -0.04em;
                margin-top: 0.25rem;
            }
            .hero-copy-card p {
                font-size: 0.98rem !important;
                line-height: 1.65 !important;
                margin-left: auto;
                margin-right: auto;
            }
            .hero-stats {
                display: grid !important;
                grid-template-columns: 1fr !important;
                gap: 0.55rem !important;
            }
            .hero-stat-pill {
                width: 100%;
                text-align: center;
                padding: 0.62rem 0.75rem !important;
                font-size: 0.74rem !important;
            }
            .hero-actions {
                display: grid !important;
                grid-template-columns: 1fr !important;
                gap: 0.7rem !important;
            }
            .hero-actions .button-primary,
            .hero-secondary-link {
                width: 100% !important;
                justify-content: center !important;
                min-height: 50px;
                padding: 0.92rem 1rem !important;
            }

            /* Seções: mesmo estilo premium, mas mais respirável no celular */
            .section-padding {
                padding: 3.6rem 1rem !important;
            }
            section.section-padding:not(#hero) .text-center.mb-12,
            section.section-padding:not(#hero) .text-center.mb-16 {
                padding: 1rem !important;
                border-radius: 1.25rem !important;
                margin-bottom: 2rem !important;
            }
            section.section-padding:not(#hero) h2 {
                font-size: clamp(2rem, 9.5vw, 2.75rem) !important;
                line-height: 1.03 !important;
                letter-spacing: -0.03em;
            }
            section.section-padding:not(#hero) p {
                font-size: 0.94rem;
            }
            .premium-card,
            .portfolio-card,
            .faq-item,
            .footer-card {
                border-radius: 1.25rem !important;
            }
            .premium-card { padding: 1.15rem !important; }

            /* Portfólio mobile */
            #portfolio-filters {
                position: relative;
                top: auto;
                display: flex !important;
                flex-wrap: nowrap !important;
                justify-content: flex-start !important;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
                gap: 0.55rem !important;
                width: 100%;
                padding: 0.65rem !important;
                border-radius: 1.2rem !important;
                scroll-snap-type: x proximity;
            }
            #portfolio-filters::-webkit-scrollbar { display: none; }
            #portfolio-filters .filter-btn {
                flex: 0 0 auto;
                scroll-snap-align: start;
                white-space: nowrap;
                font-size: 0.75rem !important;
                padding: 0.58rem 0.9rem !important;
            }
            .portfolio-magazine {
                grid-template-columns: 1fr !important;
                height: auto !important;
                gap: 1rem !important;
            }
            .portfolio-magazine .portfolio-card,
            #portfolio-grid .portfolio-card {
                min-height: auto;
            }
            .portfolio-magazine .portfolio-card > div:first-child,
            #portfolio-grid .portfolio-card > div:first-child {
                aspect-ratio: 3 / 4 !important;
            }
            #portfolio-grid {
                grid-template-columns: 1fr !important;
                gap: 1.1rem !important;
                margin-bottom: 2.5rem !important;
            }
            .portfolio-whatsapp-cta {
                opacity: 1 !important;
                transform: translateY(0) !important;
                left: 0.75rem !important;
                right: 0.75rem !important;
                bottom: 0.75rem !important;
                font-size: 0.72rem !important;
                padding: 0.64rem 0.75rem !important;
            }

            /* Formulário e orçamento */
            #orcamento > .max-w-5xl,
            #orcamento > .max-w-4xl,
            #orcamento > .max-w-3xl {
                max-width: 100% !important;
            }
            #orcamento .bg-\[var\(--brand-pink-dark\)\],
            #orcamento .bg-white {
                border-radius: 1.35rem !important;
            }
            #form-orcamento {
                padding: 1.15rem !important;
            }
            .form-input,
            select.form-input,
            textarea.form-input {
                min-height: 48px;
                font-size: 16px !important; /* evita zoom automático no iPhone */
            }
            .resumo-card-grid {
                grid-template-columns: 1fr !important;
            }
            .peca-option,
            .location-type-option,
            .upsell-box {
                min-height: 54px;
            }

            /* Rodapé/contatos */
            .contact-social-row,
            .footer-card .grid,
            footer .grid {
                gap: 1rem !important;
            }
            .contact-social,
            .footer-link {
                padding: 0.75rem 0;
            }

            .floating-whatsapp-smart {
                left: 0.9rem !important;
                right: 0.9rem !important;
                bottom: 0.9rem !important;
                justify-content: center;
                padding: 0.72rem 0.9rem !important;
                border-radius: 1.15rem !important;
            }
            .floating-whatsapp-smart .float-icon {
                width: 36px !important;
                height: 36px !important;
            }
            .floating-whatsapp-smart .float-title { font-size: 0.66rem !important; }
            .floating-whatsapp-smart .float-subtitle { font-size: 0.8rem !important; }
            #back-to-top { display: none !important; }
        }

        @media (max-width: 380px) {
            .hero-carousel {
                height: 350px !important;
                min-height: 350px !important;
            }
            .hero-copy-card h1 {
                font-size: 2.08rem !important;
            }
            .hero-caption-card { padding: 0.68rem 0.75rem !important; }
            .hero-floating-badge { display: none !important; }
        }

    
        /* Guia de medidas — premium frontal/lateral */
        @keyframes measure-card-in {
            0% { opacity: 0; transform: translateY(14px) scale(0.985); }
            100% { opacity: 1; transform: translateY(0) scale(1); }
        }
        .measure-card-animate {
            animation: measure-card-in 0.4s ease;
        }
        .measure-guide-wrap {
            position: relative;
            background:
                radial-gradient(circle at top left, rgba(250, 218, 221, 0.9), rgba(250, 218, 221, 0) 34%),
                linear-gradient(160deg, rgba(255,255,255,0.95), rgba(250,249,246,0.94));
            border-radius: 2rem;
            padding: 1.5rem;
            border: 1px solid rgba(216,167,177,0.25);
            box-shadow: 0 22px 55px rgba(74,55,40,0.08);
            overflow: hidden;
        }
        .measure-guide-wrap::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(216, 167, 177, 0.05) 1px, transparent 1px),
                linear-gradient(90deg, rgba(216, 167, 177, 0.05) 1px, transparent 1px);
            background-size: 52px 52px;
            mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6), transparent 90%);
            pointer-events: none;
        }
        .measure-stage-meta {
            position: relative;
            z-index: 2;
            display: flex;
            gap: 0.65rem;
            flex-wrap: wrap;
            margin-bottom: 1rem;
        }
        .measure-mini-chip {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            padding: 0.6rem 0.9rem;
            border-radius: 9999px;
            background: rgba(255,255,255,0.85);
            border: 1px solid rgba(216,167,177,0.28);
            box-shadow: 0 10px 24px rgba(74,55,40,0.05);
            font-size: 0.82rem;
            font-weight: 600;
            color: var(--brand-brown);
        }
        .measure-segmented {
            position: relative;
            z-index: 2;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            flex-wrap: wrap;
            padding: 0.45rem;
            border-radius: 9999px;
            background: rgba(255,255,255,0.82);
            border: 1px solid rgba(216,167,177,0.28);
            box-shadow: 0 16px 30px rgba(74,55,40,0.06);
            margin-bottom: 1.2rem;
        }
        .measure-view-btn {
            border: 0;
            background: transparent;
            color: rgba(74,55,40,0.76);
            border-radius: 9999px;
            padding: 0.9rem 1.2rem;
            font-size: 0.92rem;
            font-weight: 700;
            letter-spacing: 0.02em;
            transition: all 0.28s ease;
            min-width: 145px;
        }
        .measure-view-btn:hover {
            color: var(--brand-brown);
            transform: translateY(-1px);
        }
        .measure-view-btn.active {
            background: linear-gradient(135deg, var(--brand-pink-dark), #c88e9d);
            color: #fff;
            box-shadow: 0 16px 28px rgba(216,167,177,0.32);
        }
        .measure-visual-shell {
            position: relative;
            z-index: 2;
            width: 100%;
            max-width: 470px;
            margin: 0 auto;
        }
        .measure-visual-stage {
            position: relative;
            background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(250,249,246,0.94));
            border-radius: 2rem;
            overflow: hidden;
            border: 1px solid rgba(216,167,177,0.26);
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.6), 0 26px 50px rgba(74,55,40,0.08);
            padding: 1rem;
        }
        .measure-stage-glow {
            position: absolute;
            inset: auto 10% 0;
            height: 56px;
            border-radius: 9999px;
            background: rgba(216,167,177,0.2);
            filter: blur(18px);
            pointer-events: none;
        }
        .measure-view-stack {
            position: relative;
            aspect-ratio: 4 / 5;
            min-height: 540px;
        }
        .measure-view {
            position: absolute;
            inset: 0;
            opacity: 0;
            transform: translateX(18px) scale(0.985);
            transition: opacity 0.55s ease, transform 0.55s ease;
            pointer-events: none;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0.2rem;
        }
        #measure-view-front.measure-view:not(.active) {
            transform: translateX(-18px) scale(0.985);
        }
        .measure-view.active {
            opacity: 1;
            transform: translateX(0) scale(1);
            pointer-events: auto;
        }
        .measure-photo {
            width: 100%;
            height: 100%;
            object-fit: contain;
            display: block;
            filter: drop-shadow(0 24px 34px rgba(216,167,177,0.18));
            border-radius: 1.5rem;
            user-select: none;
            -webkit-user-drag: none;
        }
        .measure-hint-badge {
            position: absolute;
            right: 1rem;
            top: 1rem;
            z-index: 3;
            font-size: 0.76rem;
            line-height: 1;
            padding: 0.62rem 0.85rem;
            border-radius: 9999px;
            background: rgba(255,255,255,0.9);
            border: 1px solid rgba(216,167,177,0.28);
            color: var(--brand-brown);
            box-shadow: 0 10px 22px rgba(74,55,40,0.08);
            font-weight: 700;
        }
        .measure-dot {
            position: absolute;
            width: 2.85rem;
            height: 2.85rem;
            border-radius: 9999px;
            background: linear-gradient(135deg, var(--brand-pink-dark), #be8796);
            color: #fff;
            font-weight: 800;
            font-size: 0.95rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 16px 30px rgba(216,167,177,0.34);
            border: 3px solid rgba(255,255,255,0.95);
            transform: translate(-50%, -50%);
            transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
            z-index: 3;
            backdrop-filter: blur(6px);
        }
        .measure-dot::before {
            content: '';
            position: absolute;
            inset: -7px;
            border-radius: inherit;
            border: 1px solid rgba(216,167,177,0.35);
            opacity: 0.9;
        }
        .measure-dot:hover,
        .measure-dot.active {
            transform: translate(-50%, -50%) scale(1.08);
            background: linear-gradient(135deg, var(--brand-brown), #6f5545);
            box-shadow: 0 20px 34px rgba(74,55,40,0.22);
        }
        .measure-callout {
            position: relative;
            z-index: 2;
            margin-top: 1rem;
            background: rgba(255,255,255,0.82);
            border: 1px solid rgba(216,167,177,0.24);
            border-radius: 1.2rem;
            padding: 1rem 1.1rem;
            color: var(--brand-brown);
            box-shadow: 0 14px 28px rgba(74,55,40,0.05);
        }
        .measure-callout strong {
            color: var(--brand-pink-dark);
        }
        #instruction-card {
            position: relative;
            overflow: hidden;
            background: linear-gradient(180deg, rgba(255,255,255,1), rgba(250,249,246,0.96));
            box-shadow: 0 26px 56px rgba(74,55,40,0.09);
        }
        #instruction-card::before {
            content: '';
            position: absolute;
            inset: 0 auto 0 0;
            width: 6px;
            background: linear-gradient(180deg, var(--brand-pink-dark), rgba(216,167,177,0.2));
        }
        .measure-card-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            flex-wrap: wrap;
            margin-bottom: 0.5rem;
        }
        .measure-card-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            padding: 0.55rem 0.8rem;
            border-radius: 9999px;
            background: rgba(250,218,221,0.3);
            color: var(--brand-pink-dark);
            font-weight: 700;
            font-size: 0.78rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .measure-summary-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.85rem;
            margin-top: 1.2rem;
        }
        .measure-summary-item {
            border-radius: 1.15rem;
            background: rgba(255,255,255,0.85);
            border: 1px solid rgba(216,167,177,0.24);
            padding: 1rem;
            text-align: left;
            box-shadow: 0 12px 24px rgba(74,55,40,0.04);
        }
        .measure-summary-item span {
            display: block;
            font-size: 0.74rem;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            opacity: 0.6;
            margin-bottom: 0.45rem;
        }
        .measure-summary-item strong {
            color: var(--brand-brown);
            font-size: 0.98rem;
            line-height: 1.4;
        }
        @media (max-width: 1024px) {
            .measure-view-stack {
                min-height: 500px;
            }
        }
        @media (max-width: 768px) {
            .measure-guide-wrap {
                padding: 1rem;
                border-radius: 1.6rem;
            }
            .measure-segmented {
                width: 100%;
                justify-content: center;
            }
            .measure-view-btn {
                min-width: 0;
                flex: 1 1 auto;
                padding: 0.78rem 1rem;
                font-size: 0.86rem;
            }
            .measure-visual-stage {
                padding: 0.75rem;
                border-radius: 1.5rem;
            }
            .measure-view-stack {
                min-height: 430px;
            }
            .measure-dot {
                width: 2.5rem;
                height: 2.5rem;
                font-size: 0.88rem;
            }
            .measure-hint-badge {
                right: 0.75rem;
                top: 0.75rem;
            }
            .measure-summary-grid {
                grid-template-columns: 1fr;
            }
        }

        

/* =========================================================
   FILÓ RENDEIRA — POLIMENTO FINAL V4
   Objetivo: modernizar sem quebrar o HTML/JS original.
   Pode ficar no final do CSS atual.
   ========================================================= */

:root {
    --brand-offwhite: #FAF9F6;
    --brand-pink-light: #FADADD;
    --brand-pink-dark: #D8A7B1;
    --brand-brown: #4A3728;
    --brand-rose-deep: #C98C9C;
    --brand-rose-soft: #F7E4E7;
    --brand-cream: #FFFDFC;
    --brand-gold-soft: #D7B98C;
    --brand-green-whatsapp: #25D366;
    --brand-line: rgba(216, 167, 177, 0.32);
    --brand-glass: rgba(255, 255, 255, 0.78);
    --brand-shadow-soft: 0 16px 45px rgba(74, 55, 40, 0.08);
    --brand-shadow-premium: 0 28px 80px rgba(74, 55, 40, 0.14);
    --brand-radius-lg: 1.35rem;
    --brand-radius-xl: 2rem;
}

html {
    scroll-padding-top: 116px;
}

body {
    min-width: 320px;
    color: var(--brand-brown);
    background:
        radial-gradient(circle at 12% 6%, rgba(250, 218, 221, 0.58), transparent 34rem),
        radial-gradient(circle at 88% 18%, rgba(216, 167, 177, 0.18), transparent 30rem),
        linear-gradient(180deg, #FFFDFC 0%, #FAF9F6 42%, #FFFDFC 100%);
}

a, button {
    -webkit-tap-highlight-color: transparent;
}

img {
    max-width: 100%;
    height: auto;
}

:focus-visible {
    outline: 3px solid rgba(201, 140, 156, 0.45);
    outline-offset: 4px;
    border-radius: 0.85rem;
}

/* Navbar mais estável em telas menores */
#navbar {
    transition: transform 0.25s ease, opacity 0.25s ease;
}

#navbar > .max-w-7xl {
    max-width: 1180px;
}

#mobile-menu {
    overscroll-behavior: contain;
}

/* Botões mais consistentes */
.button-primary,
.hero-secondary-link,
.button-outline,
button.button-primary,
a.button-primary {
    min-height: 50px;
    line-height: 1.1;
}

.button-primary {
    background: linear-gradient(135deg, var(--brand-pink-dark), var(--brand-rose-deep)) !important;
}

.button-primary,
.hero-secondary-link,
.portfolio-whatsapp-cta,
.floating-whatsapp-smart {
    will-change: transform;
}

/* Hero: melhora leitura, reduz cortes e deixa o carrossel mais confiável */
.hero-premium {
    min-height: clamp(720px, 100vh, 920px);
}

.hero-copy-card h1,
#hero h1 {
    text-wrap: balance;
}

.hero-copy-card p,
#hero p {
    text-wrap: pretty;
}

.hero-carousel {
    background:
        linear-gradient(135deg, rgba(250, 218, 221, 0.8), rgba(255, 255, 255, 0.72)),
        var(--brand-pink-light);
}

.hero-slide {
    background-color: var(--brand-pink-light);
}

.hero-carousel-progress {
    top: 1rem;
    left: 1rem;
    right: 1rem;
}

.hero-dots {
    top: 1.75rem;
}

/* Seções: título mais limpo e cartões com profundidade controlada */
.section-padding {
    isolation: isolate;
}

.section-padding h2 {
    text-wrap: balance;
}

.section-padding p {
    text-wrap: pretty;
}

.premium-card,
.faq-item,
#como-funciona .grid > div,
#duvidas-encomenda .premium-card,
#orcamento > .max-w-5xl > .bg-white {
    box-shadow: var(--brand-shadow-soft) !important;
}

.premium-card:hover,
.faq-item:hover,
#como-funciona .grid > div:hover {
    box-shadow: 0 24px 64px rgba(216, 167, 177, 0.20) !important;
}

/* Portfolio: filtros e cards melhores no mobile */
#portfolio-filters {
    scrollbar-width: thin;
    scrollbar-color: rgba(216, 167, 177, 0.65) transparent;
}

#portfolio-filters::-webkit-scrollbar {
    height: 6px;
}

#portfolio-filters::-webkit-scrollbar-thumb {
    background: rgba(216, 167, 177, 0.65);
    border-radius: 999px;
}

.portfolio-card {
    contain: layout paint;
}

.portfolio-card img {
    backface-visibility: hidden;
}

.portfolio-whatsapp-cta {
    min-height: 44px;
}

/* Formulário: mais claro, legível e menos apertado */
#form-orcamento label {
    line-height: 1.35;
}

.form-input,
select.form-input,
textarea.form-input {
    font-size: 16px;
}

.form-input::placeholder,
textarea.form-input::placeholder {
    color: rgba(74, 55, 40, 0.42);
}

.form-error.show {
    animation: filoErrorIn 0.22s ease both;
}

@keyframes filoErrorIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.peca-option,
.location-type-option,
.upsell-box {
    user-select: none;
}

.peca-option.active,
.location-type-option.active {
    outline: 3px solid rgba(216, 167, 177, 0.18);
}

/* Rodapé e contatos */
.footer-premium,
.footer-card {
    text-wrap: pretty;
}

.contact-social-card {
    min-height: 68px;
}

/* Lightbox e popup com backdrop mais suave */
#lightbox,
#popup,
#exit-popup {
    backdrop-filter: blur(8px);
}

/* Barra flutuante: evita sobrepor conteúdo em telas pequenas */
.floating-whatsapp-smart {
    border: 1px solid rgba(255, 255, 255, 0.36);
}

@media (max-width: 1024px) {
    #navbar .nav-contact-icons {
        display: none;
    }

    .hero-premium {
        min-height: auto;
    }
}

@media (max-width: 768px) {
    html {
        scroll-padding-top: 96px;
    }

    body {
        font-size: 15px;
    }

    #navbar {
        top: 0.55rem !important;
    }

    #navbar > .max-w-7xl {
        max-width: calc(100vw - 1.4rem);
    }

    .hero-premium {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .hero-copy-card {
        text-align: center;
    }

    .hero-copy-card .hero-actions,
    .hero-copy-card .hero-stats {
        justify-content: center;
    }

    .hero-carousel-shell {
        max-width: 430px !important;
    }

    .hero-carousel {
        min-height: 360px !important;
        height: clamp(360px, 112vw, 500px) !important;
    }

    .hero-caption-card {
        padding: 0.85rem 0.95rem;
    }

    .hero-floating-badge {
        max-width: calc(100% - 2rem);
        white-space: normal;
    }

    .section-padding {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .section-padding h2 {
        font-size: clamp(2.05rem, 10vw, 3.1rem) !important;
    }

    #portfolio-filters {
        display: flex;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 0.75rem !important;
    }

    .filter-btn {
        white-space: nowrap;
    }

    .portfolio-card {
        min-height: 380px;
    }

    .portfolio-whatsapp-cta {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }

    #form-orcamento {
        padding: 1.15rem !important;
    }

    .resumo-card-grid {
        grid-template-columns: 1fr !important;
    }

    .floating-whatsapp-smart {
        bottom: 0.85rem !important;
        left: 0.85rem !important;
        right: 0.85rem !important;
        width: auto;
        border-radius: 1.15rem !important;
    }

    #back-to-top {
        bottom: 5.85rem !important;
        right: 1rem !important;
    }
}

@media (max-width: 480px) {
    #promo-bar {
        font-size: 0.68rem !important;
    }

    #navbar a.text-2xl,
    #navbar a.text-3xl {
        max-width: 64vw;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .hero-caption-title {
        font-size: 0.98rem !important;
    }

    .hero-dots {
        top: 1.4rem;
        right: 0.85rem;
    }

    .hero-carousel-progress {
        right: 4.9rem;
    }

    .counter-num {
        font-size: 2.35rem !important;
    }

    .footer-card {
        padding: 1.15rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-slide,
    .fade-in,
    .measure-figure,
    .button-primary,
    .portfolio-card img,
    .floating-whatsapp-smart {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}


/* =========================================================
   Ajuste final do cabeçalho — menu sem quebra e sem aviso
   ========================================================= */
#promo-bar {
    display: none !important;
}

html {
    scroll-padding-top: 94px !important;
}

#navbar {
    top: 0.75rem !important;
    padding: 0 0.9rem !important;
}

#navbar > .max-w-7xl {
    max-width: 1180px !important;
    width: 100% !important;
    min-height: 74px;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    padding: 0.78rem 1rem 0.78rem 1.35rem !important;
    border-radius: 999px !important;
    background: rgba(255, 253, 252, 0.92) !important;
    border: 1px solid rgba(216, 167, 177, 0.46) !important;
    box-shadow: 0 18px 48px rgba(74, 55, 40, 0.10) !important;
}

#navbar a.text-2xl,
#navbar a.text-3xl {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0.25rem !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(1.55rem, 2.35vw, 2.05rem) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.055em !important;
    padding-left: 0 !important;
}

#navbar a.text-2xl::after,
#navbar a.text-3xl::after {
    content: 'ATELIER' !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    transform: none !important;
    padding: 0.28rem 0.58rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(216, 167, 177, 0.42) !important;
    background: rgba(250, 218, 221, 0.34) !important;
    color: var(--brand-rose-deep) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.54rem !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.12em !important;
}

#navbar .hidden.md\:flex {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: clamp(0.72rem, 1.22vw, 1.35rem) !important;
}

#navbar .hidden.md\:flex > a:not(.nav-contact-icon) {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    line-height: 1 !important;
    font-size: clamp(0.66rem, 0.76vw, 0.78rem) !important;
    letter-spacing: 0.13em !important;
}

#navbar .hidden.md\:flex > a:not(.nav-contact-icon):not(:last-child) {
    padding-top: 0.55rem !important;
    padding-bottom: 0.55rem !important;
}

#navbar .nav-contact-icons {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding: 0.24rem 0.4rem !important;
    gap: 0.42rem !important;
}

#navbar .nav-contact-icon {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
}

#navbar .hidden.md\:flex > a:last-child {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 152px !important;
    min-height: 46px !important;
    padding: 0.78rem 1.35rem !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    font-size: 0.76rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    background: linear-gradient(135deg, var(--brand-pink-dark), var(--brand-rose-deep)) !important;
    box-shadow: 0 12px 28px rgba(216, 167, 177, 0.35) !important;
}

#mobile-menu-toggle {
    display: none !important;
}

@media (max-width: 1180px) {
    #navbar .nav-contact-icons {
        display: none !important;
    }

    #navbar > .max-w-7xl {
        max-width: calc(100vw - 1.6rem) !important;
    }

    #navbar .hidden.md\:flex {
        gap: clamp(0.72rem, 1.55vw, 1.15rem) !important;
    }
}

@media (max-width: 920px) {
    #navbar .hidden.md\:flex > a:not(.nav-contact-icon) {
        font-size: 0.64rem !important;
        letter-spacing: 0.10em !important;
    }

    #navbar .hidden.md\:flex > a:last-child {
        min-width: 132px !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

@media (max-width: 767px) {
    html {
        scroll-padding-top: 86px !important;
    }

    #navbar {
        top: 0.55rem !important;
        padding: 0 0.75rem !important;
    }

    #navbar > .max-w-7xl {
        min-height: 66px !important;
        border-radius: 1.25rem !important;
        padding: 0.72rem 0.82rem !important;
    }

    #navbar .hidden.md\:flex {
        display: none !important;
    }

    #mobile-menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 46px !important;
        width: 46px !important;
        height: 46px !important;
        border-radius: 999px !important;
        background: rgba(250, 218, 221, 0.42) !important;
        border: 1px solid rgba(216, 167, 177, 0.44) !important;
    }

    #navbar a.text-2xl,
    #navbar a.text-3xl {
        font-size: clamp(1.42rem, 7vw, 1.78rem) !important;
    }

    #navbar a.text-2xl::after,
    #navbar a.text-3xl::after {
        font-size: 0.48rem !important;
        padding: 0.24rem 0.5rem !important;
    }

    .hero-premium {
        padding-top: 7rem !important;
    }
}


/* =========================================================
   Correção final — cabeçalho alinhado e sem sobreposição
   ========================================================= */
#promo-bar {
    display: none !important;
}

html {
    scroll-padding-top: 96px !important;
}

#navbar {
    top: 0.75rem !important;
    padding: 0 1rem !important;
}

#navbar > .max-w-7xl {
    width: min(1180px, calc(100vw - 2rem)) !important;
    min-height: 74px !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: clamp(1.35rem, 2vw, 2.25rem) !important;
    padding: 0.72rem 1rem 0.72rem 1.35rem !important;
    border-radius: 999px !important;
    background: rgba(255, 253, 252, 0.94) !important;
    border: 1px solid rgba(216, 167, 177, 0.46) !important;
    box-shadow: 0 18px 48px rgba(74, 55, 40, 0.10) !important;
}

#navbar a.text-2xl,
#navbar a.text-3xl {
    align-self: center !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0.25rem !important;
    width: max-content !important;
    min-width: 180px !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(1.55rem, 2.35vw, 2.05rem) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.055em !important;
    padding: 0 !important;
    margin: 0 !important;
}

#navbar a.text-2xl::after,
#navbar a.text-3xl::after {
    content: 'ATELIER' !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    transform: none !important;
    padding: 0.27rem 0.58rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(216, 167, 177, 0.42) !important;
    background: rgba(250, 218, 221, 0.34) !important;
    color: var(--brand-rose-deep) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.52rem !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.12em !important;
}

#navbar .hidden.md\:flex {
    justify-self: end !important;
    align-self: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: clamp(0.72rem, 1.15vw, 1.22rem) !important;
}

#navbar .hidden.md\:flex > a:not(.nav-contact-icon) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 0.02rem !important;
    margin: 0 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    line-height: 1 !important;
    font-size: clamp(0.65rem, 0.75vw, 0.76rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.13em !important;
    transform: none !important;
}

#navbar .hidden.md\:flex > a:not(.nav-contact-icon):not(:last-child)::after {
    bottom: 0.24rem !important;
}

#navbar .nav-contact-icons {
    flex: 0 0 auto !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.42rem !important;
    padding: 0.24rem 0.4rem !important;
    margin: 0 0.1rem !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
}

#navbar .nav-contact-icons .nav-contact-icon,
#navbar .nav-contact-icons .nav-contact-icon:last-child {
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.75), 0 8px 18px rgba(74,55,40,0.055) !important;
    transform: none !important;
}

#navbar .nav-contact-icons .nav-contact-icon::after,
#navbar .nav-contact-icons .nav-contact-icon::before {
    display: none !important;
}

#navbar .nav-contact-icons .nav-contact-icon.whatsapp,
#navbar .nav-contact-icons .nav-contact-icon.whatsapp:last-child {
    background: rgba(37,211,102,0.10) !important;
    border-color: rgba(37,211,102,0.28) !important;
}

#navbar .nav-contact-icons .nav-contact-icon.instagram,
#navbar .nav-contact-icons .nav-contact-icon.instagram:last-child {
    background: linear-gradient(135deg, rgba(250,218,221,0.55), rgba(255,255,255,0.72)) !important;
    border-color: rgba(225,48,108,0.22) !important;
}

#navbar .nav-contact-icons .nav-contact-icon.gmail,
#navbar .nav-contact-icons .nav-contact-icon.gmail:last-child {
    background: rgba(234,67,53,0.08) !important;
    border-color: rgba(234,67,53,0.22) !important;
}

#navbar .hidden.md\:flex > a:last-child {
    flex: 0 0 auto !important;
    height: 48px !important;
    min-height: 48px !important;
    min-width: 152px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 1.45rem !important;
    margin: 0 !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    font-size: 0.74rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--brand-pink-dark), var(--brand-rose-deep)) !important;
    box-shadow: 0 12px 28px rgba(216, 167, 177, 0.35) !important;
    transform: none !important;
}

#navbar .hidden.md\:flex > a:last-child:hover {
    transform: translateY(-2px) !important;
}

#mobile-menu-toggle {
    display: none !important;
}

@media (max-width: 1180px) {
    #navbar > .max-w-7xl {
        width: calc(100vw - 1.6rem) !important;
        column-gap: 1.05rem !important;
    }

    #navbar .nav-contact-icons {
        display: none !important;
    }

    #navbar .hidden.md\:flex {
        gap: clamp(0.62rem, 1.35vw, 1rem) !important;
    }

    #navbar a.text-2xl,
    #navbar a.text-3xl {
        min-width: 168px !important;
    }
}

@media (max-width: 960px) {
    #navbar a.text-2xl,
    #navbar a.text-3xl {
        min-width: 154px !important;
        font-size: 1.45rem !important;
    }

    #navbar .hidden.md\:flex > a:not(.nav-contact-icon) {
        font-size: 0.62rem !important;
        letter-spacing: 0.095em !important;
    }

    #navbar .hidden.md\:flex > a:last-child {
        min-width: 128px !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

@media (max-width: 767px) {
    html {
        scroll-padding-top: 86px !important;
    }

    #navbar {
        top: 0.55rem !important;
        padding: 0 0.75rem !important;
    }

    #navbar > .max-w-7xl {
        width: calc(100vw - 1.5rem) !important;
        min-height: 66px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-radius: 1.25rem !important;
        padding: 0.72rem 0.82rem !important;
    }

    #navbar .hidden.md\:flex {
        display: none !important;
    }

    #mobile-menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 46px !important;
        width: 46px !important;
        height: 46px !important;
        border-radius: 999px !important;
        background: rgba(250, 218, 221, 0.42) !important;
        border: 1px solid rgba(216, 167, 177, 0.44) !important;
    }

    #navbar a.text-2xl,
    #navbar a.text-3xl {
        min-width: 0 !important;
        font-size: clamp(1.42rem, 7vw, 1.78rem) !important;
    }

    #navbar a.text-2xl::after,
    #navbar a.text-3xl::after {
        font-size: 0.48rem !important;
        padding: 0.24rem 0.5rem !important;
    }

    .hero-premium {
        padding-top: 7rem !important;
    }
}


        /* =========================================================
           Correção mobile: cookies acima do botão do WhatsApp
           ========================================================= */
        #cookie-banner {
            z-index: 10050 !important;
        }

        @media (max-width: 768px) {
            body.cookie-banner-open .floating-whatsapp-smart {
                opacity: 0 !important;
                pointer-events: none !important;
                transform: translateY(18px) !important;
            }

            body.cookie-banner-open #back-to-top {
                display: none !important;
            }

            #cookie-banner {
                left: 0.75rem !important;
                right: 0.75rem !important;
                bottom: 0.75rem !important;
                width: auto !important;
                border-radius: 1.25rem !important;
                padding: 1rem !important;
                padding-bottom: calc(1rem + env(safe-area-inset-bottom)) !important;
                align-items: stretch !important;
                justify-content: center !important;
                gap: 0.85rem !important;
                box-shadow: 0 -8px 34px rgba(0,0,0,0.22) !important;
            }

            #cookie-banner p {
                max-width: none !important;
                width: 100% !important;
                font-size: 0.78rem !important;
                line-height: 1.45 !important;
                text-align: center !important;
            }

            #cookie-banner > div {
                width: 100% !important;
                display: grid !important;
                grid-template-columns: 1fr 1fr !important;
                gap: 0.7rem !important;
            }

            #cookie-banner button {
                width: 100% !important;
                min-height: 44px !important;
                padding: 0.72rem 0.9rem !important;
                font-size: 0.82rem !important;
            }
        }


        /* =========================================================
           Ajustes solicitados — Experiência + Guia de medidas mobile
           ========================================================= */
        @media (max-width: 768px) {
            #guia-medidas {
                scroll-margin-top: 96px;
            }
            #guia-medidas .text-center.mb-16 {
                margin-bottom: 1.15rem !important;
            }
            #guia-medidas .grid.grid-cols-1.lg\:grid-cols-2 {
                gap: 1rem !important;
            }
            #guia-medidas .measure-guide-wrap {
                padding: 0.85rem !important;
                border-radius: 1.35rem !important;
            }
            #guia-medidas .measure-stage-meta {
                gap: 0.45rem !important;
                margin-bottom: 0.75rem !important;
            }
            #guia-medidas .measure-mini-chip {
                font-size: 0.72rem !important;
                padding: 0.48rem 0.62rem !important;
            }
            #guia-medidas .text-center.mb-5 {
                margin-bottom: 0.75rem !important;
            }
            #guia-medidas .measure-segmented {
                border-radius: 1.1rem !important;
                padding: 0.35rem !important;
            }
            #guia-medidas .measure-view-btn {
                padding: 0.72rem 0.65rem !important;
                font-size: 0.82rem !important;
            }
            #guia-medidas .measure-visual-stage {
                padding: 0.55rem !important;
                border-radius: 1.2rem !important;
            }
            #guia-medidas .measure-view-stack {
                min-height: clamp(300px, 88vw, 370px) !important;
            }
            #guia-medidas .measure-hint-badge {
                right: 0.55rem !important;
                top: 0.55rem !important;
                padding: 0.52rem 0.7rem !important;
                font-size: 0.7rem !important;
            }
            #guia-medidas .measure-dot {
                width: 2.35rem !important;
                height: 2.35rem !important;
                font-size: 0.82rem !important;
            }
            #guia-medidas .measure-callout {
                margin-top: 0.7rem !important;
                padding: 0.78rem 0.85rem !important;
                border-radius: 1rem !important;
                font-size: 0.82rem !important;
                line-height: 1.45 !important;
            }
            #instruction-card {
                scroll-margin-top: 106px;
                padding: 1.15rem !important;
                border-radius: 1.35rem !important;
                margin-top: 0 !important;
            }
            #instruction-card .measure-card-top {
                gap: 0.6rem !important;
                margin-bottom: 0.25rem !important;
            }
            #instruction-card .measure-card-badge {
                font-size: 0.68rem !important;
                padding: 0.45rem 0.65rem !important;
            }
            #instrucao-placeholder .text-center {
                padding-top: 0.75rem !important;
                padding-bottom: 0.75rem !important;
            }
            #instrucao-placeholder .text-6xl {
                font-size: 3rem !important;
            }
            #instrucao-ativa {
                gap: 0.95rem !important;
            }
            #instrucao-ativa .flex.items-start.gap-5 {
                gap: 0.85rem !important;
            }
            #measure-num {
                font-size: 2.75rem !important;
            }
            #measure-title {
                font-size: 1.45rem !important;
                line-height: 1.15 !important;
            }
            #measure-text {
                font-size: 0.98rem !important;
                line-height: 1.58 !important;
            }
            #measure-tip {
                font-size: 0.86rem !important;
                line-height: 1.48 !important;
            }
        }
        @media (max-width: 380px) {
            #guia-medidas .measure-view-stack {
                min-height: 286px !important;
            }
            #guia-medidas .measure-dot {
                width: 2.15rem !important;
                height: 2.15rem !important;
            }
        }


/* =========================================================
   Filó Rendeira — ajustes finais de base visual/técnica
   Aplicados para uma experiência mais premium antes da divulgação.
   ========================================================= */
.static-counter {
    font-size: clamp(1.25rem, 2.4vw, 2.1rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
    text-transform: none !important;
}

#popup,
#exit-popup {
    pointer-events: none;
}

#popup.open,
#exit-popup.flex {
    pointer-events: auto;
}

.button-primary {
    letter-spacing: 0.01em;
}

.hero-secondary-link {
    white-space: nowrap;
}

.portfolio-card-cta {
    border: 1px solid rgba(255,255,255,0.45);
    backdrop-filter: blur(8px);
}

@media (max-width: 640px) {
    .hero-secondary-link {
        white-space: normal;
    }

    .static-counter {
        font-size: 1.15rem !important;
    }
}

/* =========================================================
   Correção do menu desktop/tablet — evita "Início" colado no logo
   ========================================================= */
#navbar > .max-w-7xl {
    gap: clamp(1rem, 2.4vw, 2.4rem) !important;
}

#navbar > .max-w-7xl > a:first-child {
    flex: 0 0 auto !important;
    margin-right: clamp(1.2rem, 2.4vw, 2.8rem) !important;
    white-space: nowrap !important;
    z-index: 2;
}

#navbar .hidden.md\:flex {
    flex: 1 1 auto !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
    gap: clamp(0.85rem, 1.25vw, 1.65rem) !important;
}

#navbar .hidden.md\:flex a:not(:last-child) {
    white-space: nowrap !important;
}

@media (max-width: 1280px) {
    #navbar .hidden.md\:flex {
        gap: 0.85rem !important;
        font-size: 0.66rem !important;
    }

    #navbar .hidden.md\:flex a:last-child {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .nav-contact-icons {
        display: none !important;
    }
}

@media (max-width: 1180px) {
    #navbar .hidden.md\:flex {
        display: none !important;
    }

    #mobile-menu-toggle {
        display: inline-flex !important;
    }

    #navbar > .max-w-7xl {
        justify-content: space-between !important;
    }

    #navbar > .max-w-7xl > a:first-child {
        margin-right: 0 !important;
    }
}

@media (min-width: 1181px) {
    #mobile-menu-toggle {
        display: none !important;
    }
}

/* =========================================================
   CORREÇÃO DEFINITIVA DO MENU — evita sobreposição do "Início"
   ========================================================= */
#navbar > .max-w-7xl {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}
#navbar .nav-brand {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    margin-right: 0 !important;
    z-index: 2 !important;
}
#navbar .desktop-nav {
    display: none !important;
    min-width: 0 !important;
}
#mobile-menu-toggle {
    display: inline-flex !important;
    flex: 0 0 auto !important;
}
@media (min-width: 1360px) {
    #navbar .desktop-nav {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin-left: auto !important;
        gap: clamp(0.85rem, 1.05vw, 1.45rem) !important;
        white-space: nowrap !important;
        font-size: 0.68rem !important;
    }
    #mobile-menu-toggle {
        display: none !important;
    }
    #navbar .desktop-nav a:not(:last-child) {
        position: relative !important;
        padding: 0.45rem 0 !important;
        white-space: nowrap !important;
    }
    #navbar .desktop-nav a:not(:last-child)::after {
        content: '' !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0.18rem !important;
        height: 1px !important;
        background: var(--brand-pink-dark) !important;
        transform: scaleX(0) !important;
        transform-origin: center !important;
        transition: transform 0.25s ease !important;
        opacity: 0.85 !important;
    }
    #navbar .desktop-nav a:not(:last-child):hover::after {
        transform: scaleX(1) !important;
    }
    #navbar .desktop-nav a:last-child {
        background: linear-gradient(135deg, var(--brand-pink-dark), var(--brand-rose-deep)) !important;
        color: #fff !important;
        box-shadow: 0 12px 28px rgba(216,167,177,0.36) !important;
        border: 1px solid rgba(255,255,255,0.42) !important;
        transition: all 0.28s ease !important;
        padding-left: 1.15rem !important;
        padding-right: 1.15rem !important;
        border-radius: 9999px !important;
    }
    #navbar .desktop-nav a:last-child:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 18px 40px rgba(216,167,177,0.44) !important;
    }
}
@media (min-width: 1360px) and (max-width: 1510px) {
    #navbar .nav-contact-icons {
        display: none !important;
    }
    #navbar .desktop-nav {
        gap: 0.78rem !important;
        font-size: 0.64rem !important;
        letter-spacing: 0.18em !important;
    }
    #navbar .desktop-nav a:last-child {
        padding-left: 0.95rem !important;
        padding-right: 0.95rem !important;
    }
    #navbar a.text-2xl::after,
    #navbar a.text-3xl::after {
        display: none !important;
    }
}
@media (max-width: 1359px) {
    #navbar .desktop-nav {
        display: none !important;
    }
    #mobile-menu-toggle {
        display: inline-flex !important;
    }
    #navbar > .max-w-7xl {
        justify-content: space-between !important;
    }
    #navbar .nav-brand {
        max-width: calc(100vw - 7rem) !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}
#mobile-menu:not(.hidden) {
    display: flex !important;
}

/* =========================================================
   AJUSTE FINAL DO MENU — desktop com espaçamento real e
   mobile em tela cheia, sem cortar ao rolar a página.
   ========================================================= */
#navbar {
    z-index: 99990 !important;
    overflow: visible !important;
}

#navbar > .max-w-7xl {
    overflow: visible !important;
}

#navbar .nav-brand {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

/* Por padrão, usa menu mobile/hambúrguer. O menu horizontal só entra
   quando houver largura suficiente para não esmagar os links. */
#navbar .desktop-nav {
    display: none !important;
}

#mobile-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 999px !important;
    background: rgba(250, 218, 221, 0.42) !important;
    border: 1px solid rgba(216, 167, 177, 0.44) !important;
    color: var(--brand-brown) !important;
}

/* Menu aberto: fica preso à janela, não ao ponto de rolagem da página. */
#mobile-menu {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 999999 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    padding: calc(4.5rem + env(safe-area-inset-top)) 1.35rem calc(2rem + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 1.05rem !important;
    background: radial-gradient(circle at 20% 12%, rgba(250,218,221,0.95), transparent 18rem), linear-gradient(145deg, #FFFDFC 0%, #FAF9F6 100%) !important;
}

#mobile-menu.hidden {
    display: none !important;
}

#mobile-menu:not(.hidden) {
    display: flex !important;
}

#mobile-menu > button[aria-label="Fechar menu"] {
    position: fixed !important;
    top: calc(1rem + env(safe-area-inset-top)) !important;
    right: 1rem !important;
    z-index: 1000000 !important;
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.82) !important;
    border: 1px solid rgba(216,167,177,0.35) !important;
    box-shadow: 0 12px 26px rgba(74,55,40,0.08) !important;
}

#mobile-menu a.font-serif {
    width: min(100%, 360px) !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 1.14rem !important;
    line-height: 1.2 !important;
    color: var(--brand-brown) !important;
}

#mobile-menu .mobile-social-icons {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.8rem !important;
    margin: 0.35rem 0 0.15rem !important;
    flex-wrap: nowrap !important;
}

#mobile-menu .button-primary {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    margin-top: 0.25rem !important;
}

/* Desktop grande: menu horizontal volta com espaçamento confortável. */
@media (min-width: 1500px) {
    #navbar > .max-w-7xl {
        width: min(1320px, calc(100vw - 2rem)) !important;
        max-width: 1320px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 2.1rem !important;
    }

    #navbar .desktop-nav {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin-left: auto !important;
        column-gap: clamp(1.15rem, 1.35vw, 1.9rem) !important;
        row-gap: 0 !important;
        white-space: nowrap !important;
    }

    #navbar .desktop-nav > a:not(.nav-contact-icon) {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        line-height: 1 !important;
        padding-left: 0.08rem !important;
        padding-right: 0.08rem !important;
        letter-spacing: 0.16em !important;
    }

    #navbar .nav-contact-icons {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.48rem !important;
        margin-left: 0.1rem !important;
        margin-right: 0.1rem !important;
    }

    #navbar .desktop-nav > a:last-child {
        min-width: 184px !important;
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    #mobile-menu-toggle {
        display: none !important;
    }
}

/* Em desktops não tão largos, esconde os ícones para o texto respirar. */
@media (min-width: 1500px) and (max-width: 1690px) {
    #navbar .nav-contact-icons {
        display: none !important;
    }

    #navbar .desktop-nav {
        column-gap: clamp(1rem, 1.18vw, 1.45rem) !important;
    }

    #navbar .desktop-nav > a:not(.nav-contact-icon) {
        font-size: 0.66rem !important;
        letter-spacing: 0.14em !important;
    }
}

@media (max-width: 1499px) {
    #navbar .desktop-nav {
        display: none !important;
    }

    #mobile-menu-toggle {
        display: inline-flex !important;
    }

    #navbar > .max-w-7xl {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 1rem !important;
    }
}

@media (max-width: 420px) {
    #navbar .nav-brand {
        font-size: clamp(1.25rem, 7vw, 1.62rem) !important;
        max-width: calc(100vw - 6.5rem) !important;
    }

    #mobile-menu {
        gap: 0.88rem !important;
        padding-top: calc(4.1rem + env(safe-area-inset-top)) !important;
    }

    #mobile-menu a.font-serif {
        min-height: 40px !important;
        font-size: 1.04rem !important;
    }
}


/* =========================================================
   FIX CRÍTICO V2 — menu mobile/desktop
   Motivo: evitar menu horizontal no celular e menu mobile cortado ao rolar.
   ========================================================= */
#navbar { z-index: 2147483000 !important; overflow: visible !important; pointer-events: auto !important; }
#navbar > .max-w-7xl { width: min(1280px, calc(100vw - 1.5rem)) !important; max-width: 1280px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 0.85rem !important; overflow: visible !important; }
#navbar .nav-brand, #navbar > .max-w-7xl > a:first-child { flex: 0 1 auto !important; min-width: 0 !important; max-width: calc(100vw - 7rem) !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; line-height: 1.05 !important; z-index: 2 !important; }
#navbar .desktop-nav, #navbar .hidden.md\:flex { display: none !important; visibility: hidden !important; pointer-events: none !important; }
#mobile-menu-toggle { display: inline-flex !important; flex: 0 0 54px !important; width: 54px !important; height: 54px !important; align-items: center !important; justify-content: center !important; border-radius: 999px !important; background: rgba(250, 218, 221, 0.58) !important; border: 1px solid rgba(216, 167, 177, 0.42) !important; color: var(--brand-brown) !important; box-shadow: 0 12px 30px rgba(74,55,40,0.08) !important; position: relative !important; z-index: 2147483001 !important; }
#mobile-menu { position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100vh !important; height: 100dvh !important; max-width: none !important; max-height: none !important; z-index: 2147483647 !important; padding: calc(5rem + env(safe-area-inset-top)) 1.25rem calc(2rem + env(safe-area-inset-bottom)) !important; overflow-y: auto !important; overscroll-behavior: contain !important; background: radial-gradient(circle at 20% 12%, rgba(250,218,221,0.98), transparent 18rem), linear-gradient(145deg, #FFFDFC 0%, #FAF9F6 100%) !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start !important; gap: 1rem !important; }
#mobile-menu.hidden { display: none !important; }
#mobile-menu:not(.hidden), #mobile-menu.open { display: flex !important; }
#mobile-menu > button[aria-label="Fechar menu"] { position: fixed !important; top: calc(1rem + env(safe-area-inset-top)) !important; right: 1rem !important; z-index: 2147483647 !important; width: 48px !important; height: 48px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 999px !important; background: rgba(255,255,255,0.92) !important; border: 1px solid rgba(216,167,177,0.40) !important; box-shadow: 0 12px 30px rgba(74,55,40,0.12) !important; }
#mobile-menu a.font-serif, #mobile-menu > a:not(.button-primary):not(.whatsapp):not(.instagram):not(.gmail) { width: min(100%, 380px) !important; min-height: 44px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; font-size: 1.08rem !important; line-height: 1.2 !important; color: var(--brand-brown) !important; }
#mobile-menu .mobile-social-icons { display: inline-flex !important; gap: 0.8rem !important; align-items: center !important; justify-content: center !important; }
#mobile-menu .button-primary { width: min(100%, 380px) !important; justify-content: center !important; }
@media (max-width: 520px) {
  #navbar { padding: 0.75rem 0.75rem !important; }
  #navbar > .max-w-7xl { width: calc(100vw - 1rem) !important; padding: 0.85rem 0.85rem !important; border-radius: 1.25rem !important; }
  #navbar .nav-brand, #navbar > .max-w-7xl > a:first-child { font-size: clamp(1.42rem, 7.2vw, 2rem) !important; max-width: calc(100vw - 7.4rem) !important; }
  #mobile-menu-toggle { width: 52px !important; height: 52px !important; flex-basis: 52px !important; }
}
@media (min-width: 1280px) {
  #navbar .desktop-nav { display: flex !important; visibility: visible !important; pointer-events: auto !important; align-items: center !important; justify-content: flex-end !important; flex: 1 1 auto !important; min-width: 0 !important; margin-left: auto !important; gap: clamp(0.85rem, 1vw, 1.35rem) !important; white-space: nowrap !important; font-size: 0.68rem !important; letter-spacing: 0.16em !important; }
  #navbar .desktop-nav > a, #navbar .desktop-nav > a:not(.nav-contact-icon) { display: inline-flex !important; align-items: center !important; justify-content: center !important; white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; flex: 0 0 auto !important; }
  #navbar .desktop-nav > a:last-child { min-width: 176px !important; padding-left: 1rem !important; padding-right: 1rem !important; border-radius: 999px !important; }
  #navbar .desktop-nav .nav-contact-icons { display: none !important; }
  #mobile-menu-toggle { display: none !important; }
}
@media (min-width: 1536px) {
  #navbar .desktop-nav .nav-contact-icons { display: inline-flex !important; }
  #navbar .desktop-nav { gap: clamp(1rem, 1.15vw, 1.6rem) !important; }
}

/* =========================================================
   MENU ESTÁVEL V3 — correção definitiva do botão hambúrguer
   ========================================================= */
@media (max-width: 1499px) {
  #navbar .desktop-nav, #desktop-nav, #navbar .hidden.md\:flex {
    display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important;
  }
  #mobile-menu-toggle {
    display: inline-flex !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important;
    flex: 0 0 52px !important; width: 52px !important; height: 52px !important;
    align-items: center !important; justify-content: center !important; border-radius: 999px !important;
    background: rgba(250,218,221,0.62) !important; border: 1px solid rgba(216,167,177,0.46) !important;
    color: var(--brand-brown) !important; box-shadow: 0 12px 30px rgba(74,55,40,0.08) !important;
    position: relative !important; z-index: 2147483001 !important;
  }
  #navbar { z-index: 2147483000 !important; overflow: visible !important; }
  #navbar > .max-w-7xl { overflow: visible !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: .75rem !important; }
  #navbar .nav-brand, #navbar > .max-w-7xl > a:first-child { max-width: calc(100vw - 7.5rem) !important; min-width: 0 !important; overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important; line-height: 1.05 !important; }
}
#mobile-menu {
  position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100vh !important; height: 100dvh !important;
  max-width: none !important; max-height: none !important; z-index: 2147483647 !important;
  background: radial-gradient(circle at 20% 12%, rgba(250,218,221,0.98), transparent 18rem), linear-gradient(145deg, #FFFDFC 0%, #FAF9F6 100%) !important;
  padding: calc(5rem + env(safe-area-inset-top)) 1.25rem calc(2rem + env(safe-area-inset-bottom)) !important;
  overflow-y: auto !important; overscroll-behavior: contain !important; flex-direction: column !important;
  align-items: center !important; justify-content: flex-start !important; gap: .95rem !important;
}
#mobile-menu.hidden { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
#mobile-menu.mobile-menu-open, #mobile-menu:not(.hidden) { display: flex !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; }
#mobile-menu.mobile-menu-open *, #mobile-menu:not(.hidden) * { visibility: visible !important; opacity: 1 !important; }
#mobile-menu > button[aria-label="Fechar menu"] {
  position: fixed !important; top: calc(1rem + env(safe-area-inset-top)) !important; right: 1rem !important;
  z-index: 2147483647 !important; width: 48px !important; height: 48px !important; display: inline-flex !important;
  align-items: center !important; justify-content: center !important; border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important; border: 1px solid rgba(216,167,177,.42) !important;
  box-shadow: 0 12px 30px rgba(74,55,40,.12) !important; color: var(--brand-brown) !important;
  font-size: 1.65rem !important; line-height: 1 !important;
}
#mobile-menu a.font-serif, #mobile-menu > a:not(.button-primary):not(.whatsapp):not(.instagram):not(.gmail) {
  width: min(100%, 380px) !important; min-height: 46px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; font-size: 1.18rem !important; line-height: 1.18 !important; color: var(--brand-brown) !important; text-decoration: none !important; border-radius: 999px !important;
}
#mobile-menu a.font-serif:active, #mobile-menu a.font-serif:hover { background: rgba(250,218,221,.55) !important; color: var(--brand-brown) !important; }
#mobile-menu .mobile-social-icons { display: inline-flex !important; gap: .85rem !important; align-items: center !important; justify-content: center !important; margin: .35rem 0 .2rem !important; flex-wrap: nowrap !important; }
#mobile-menu .mobile-social-icons a { width: 48px !important; height: 48px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 999px !important; }
#mobile-menu .button-primary { width: min(100%, 380px) !important; max-width: 380px !important; min-height: 50px !important; justify-content: center !important; margin-top: .15rem !important; }
@media (min-width: 1500px) {
  #mobile-menu-toggle { display: none !important; }
  #navbar .desktop-nav, #desktop-nav { display: flex !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; align-items: center !important; justify-content: flex-end !important; gap: clamp(1.1rem, 1.35vw, 1.8rem) !important; white-space: nowrap !important; }
}


/* MENU LIMPO V4 também no CSS externo; estilo principal está no index.html para vencer cache/conflitos. */


/* Links individuais do portfólio */
.portfolio-detail-link {
    position: absolute;
    inset: 0;
    z-index: 18;
    border-radius: inherit;
    text-decoration: none;
}
.portfolio-detail-link:focus-visible {
    outline: 3px solid rgba(216, 167, 177, 0.95);
    outline-offset: -6px;
}
.portfolio-detail-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.7rem;
    padding: 0.46rem 0.82rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--brand-brown);
    font-family: 'Montserrat', sans-serif;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-shadow: none;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}
@media (hover: none) {
    #portfolio .portfolio-card .absolute.inset-0.bg-gradient-to-t {
        opacity: 0.44 !important;
    }
    #portfolio .portfolio-card .absolute.bottom-0 {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
}


/* =========================================================
   FILÓ RENDEIRA — REESTRUTURAÇÃO DE JORNADA V1
   Home mais limpa + páginas de apoio + portfolio central.
   ========================================================= */
.journey-option-card,
.support-link-card {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    min-height: 190px;
    padding: 1.6rem;
    border-radius: 1.6rem;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(216,167,177,.36);
    box-shadow: 0 18px 45px rgba(74,55,40,.06);
    transition: transform .32s cubic-bezier(.16,1,.3,1), box-shadow .32s cubic-bezier(.16,1,.3,1), border-color .32s ease;
    position: relative;
    overflow: hidden;
}
.journey-option-card::after,
.support-link-card::after {
    content: "→";
    position: absolute;
    right: 1.25rem;
    top: 1.25rem;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(216,167,177,.16);
    color: var(--brand-pink-dark);
    transition: transform .32s cubic-bezier(.16,1,.3,1), background .32s ease;
}
.journey-option-card span,
.support-link-card span {
    font-size: 2rem;
    line-height: 1;
}
.journey-option-card strong,
.support-link-card strong {
    font-family: 'Playfair Display', serif;
    font-size: 1.55rem;
    color: var(--brand-brown);
}
.journey-option-card small,
.support-link-card small {
    color: rgba(74,55,40,.68);
    line-height: 1.65;
    max-width: 18rem;
}
.journey-option-card:hover,
.support-link-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 60px rgba(74,55,40,.10);
    border-color: rgba(216,167,177,.72);
}
.journey-option-card:hover::after,
.support-link-card:hover::after {
    transform: translateX(4px);
    background: rgba(216,167,177,.28);
}
.home-portfolio-grid .portfolio-card:nth-child(n+7) { display: none !important; }
.page-hero {
    padding-top: clamp(9rem, 16vw, 13rem);
    background:
      radial-gradient(circle at top right, rgba(250,218,221,.78), transparent 34rem),
      radial-gradient(circle at bottom left, rgba(216,167,177,.25), transparent 30rem),
      var(--brand-offwhite);
}
.page-hero-card {
    min-height: 340px;
    border-radius: 2rem;
    padding: clamp(2rem, 5vw, 3rem);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: linear-gradient(135deg, rgba(255,255,255,.82), rgba(250,218,221,.55));
    border: 1px solid rgba(216,167,177,.38);
    box-shadow: 0 30px 80px rgba(74,55,40,.10);
    position: relative;
    overflow: hidden;
}
.page-hero-card::before {
    content: "";
    position: absolute;
    inset: 1rem;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 1.5rem;
    pointer-events: none;
}
.page-hero-icon {
    width: 4rem;
    height: 4rem;
    border-radius: 1.4rem;
    background: var(--brand-pink-dark);
    color: white;
    display: grid;
    place-items: center;
    font-size: 2rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 18px 38px rgba(216,167,177,.35);
}
.page-hero-card p {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    line-height: 1.16;
    color: var(--brand-brown);
    max-width: 34rem;
    position: relative;
    z-index: 2;
}
#portfolio-destaque .portfolio-whatsapp-cta,
.home-portfolio-grid .portfolio-whatsapp-cta {
    font-size: .72rem;
}
@media (max-width: 768px) {
    .journey-option-card,
    .support-link-card { min-height: 155px; padding: 1.25rem; }
    .journey-option-card strong,
    .support-link-card strong { font-size: 1.35rem; }
    .page-hero { padding-top: 8.5rem; }
    .page-hero-card { min-height: 260px; }
}

/* =========================
   FILÓ RENDEIRA — MODELO VISUAL + COPY FINAL
   Baseado na prévia aprovada: home leve, cards premium, pedido de orçamento.
========================= */

body.filo-copy-final {
  background: #fbf7f2;
  color: #3b2a24;
}

.filo-copy-final .section-padding {
  padding: 5.5rem 1.25rem;
}

@media (min-width: 768px) {
  .filo-copy-final .section-padding {
    padding: 7rem 3rem;
  }
}

/* Botões do novo modelo */
.fr-btn-primary,
.fr-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 3rem;
  padding: .9rem 1.45rem;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  transition: transform .28s cubic-bezier(.16,1,.3,1), box-shadow .28s cubic-bezier(.16,1,.3,1), background .28s ease;
}

.fr-btn-primary {
  background: #c98f9b;
  color: white;
  box-shadow: 0 18px 40px rgba(201,143,155,.24);
}

.fr-btn-secondary {
  background: rgba(255,255,255,.72);
  color: #3b2a24;
  border: 1px solid #d7b7aa;
}

.fr-btn-primary:hover,
.fr-btn-secondary:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 55px rgba(74,42,36,.12);
}

/* Hero aprovado */
.fr-model-hero {
  position: relative;
  overflow: hidden;
  padding-top: 7.25rem;
  padding-bottom: 4.6rem;
  min-height: 82vh;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 92% 10%, rgba(239,208,213,.7), transparent 32rem),
    radial-gradient(circle at 0% 100%, rgba(234,215,200,.68), transparent 32rem),
    #fbf7f2;
}

@media (min-width: 1024px) {
  .fr-model-hero .max-w-7xl {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
    gap: clamp(2.8rem, 4.2vw, 4.5rem) !important;
  }
}

.fr-blur {
  position: absolute;
  width: 18rem;
  height: 18rem;
  border-radius: 999px;
  filter: blur(52px);
  pointer-events: none;
}

.fr-blur-right {
  right: -7rem;
  top: 3rem;
  background: rgba(239,208,213,.85);
}

.fr-blur-left {
  left: -7rem;
  bottom: 0;
  background: rgba(234,215,200,.85);
}

.fr-model-copy {
  position: relative;
  z-index: 2;
}

.fr-kicker-pill {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid #e3c6bd;
  background: rgba(255,255,255,.72);
  color: #8a6259;
  padding: .55rem 1rem;
  border-radius: 999px;
  font-size: .92rem;
  font-weight: 600;
  box-shadow: 0 12px 32px rgba(74,42,36,.06);
  margin-bottom: 1.35rem;
}

.fr-model-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.85rem, 4.55vw, 4.85rem);
  line-height: 1.03;
  letter-spacing: -.04em;
  color: #3b2a24;
  max-width: 720px;
}

.fr-model-subtitle {
  margin-top: 1.25rem;
  max-width: 36rem;
  font-size: clamp(1rem, 1vw, 1.12rem);
  line-height: 1.68;
  color: rgba(60,43,37,.78);
}

.fr-model-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 2rem;
}

.fr-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.35rem;
}

.fr-trust-row span {
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  padding: .55rem .85rem;
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(227,198,189,.65);
  color: #6c554c;
  font-size: .88rem;
}

.fr-hero-visual {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 560px;
  justify-self: center;
}

.fr-hero-frame {
  position: relative;
  overflow: hidden;
  border-radius: 2.1rem;
  padding: .75rem;
  background: rgba(255,255,255,.78);
  box-shadow: 0 38px 90px rgba(173,124,114,.22);
}

.fr-hero-carousel {
  height: min(62vh, 520px);
  min-height: 410px;
  border-radius: 1.55rem;
  overflow: hidden;
}

.fr-hero-carousel .hero-slide {
  border-radius: 1.55rem;
}

.fr-hero-badge {
  position: absolute;
  left: 2rem;
  bottom: 2rem;
  max-width: min(24rem, calc(100% - 4rem));
  border-radius: 1.55rem;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(18px);
  padding: 1.1rem 1.25rem;
  box-shadow: 0 20px 52px rgba(74,42,36,.16);
  z-index: 5;
}

.fr-hero-badge strong {
  display: block;
  margin-top: .25rem;
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  line-height: 1.08;
}

/* Seções do modelo */
.fr-model-section {
  padding: 5.4rem 1.25rem;
  background: #fbf7f2;
}

.fr-light-section {
  background: rgba(255,255,255,.72);
}

@media (min-width: 768px) {
  .fr-model-section {
    padding: 7rem 3rem;
  }
}

.fr-section-head {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.3rem;
  margin-bottom: 2.6rem;
}

@media (min-width: 900px) {
  .fr-section-head {
    flex-direction: row;
    align-items: flex-end;
  }
}

.fr-section-head h2,
.fr-faq-title {
  margin-top: .75rem;
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.1rem, 4.5vw, 4rem);
  line-height: 1.04;
  letter-spacing: -.025em;
  color: #3b2a24;
}

.fr-section-head p,
.fr-section-actions p,
.fr-faq-lead {
  max-width: 34rem;
  line-height: 1.75;
  color: rgba(60,43,37,.72);
}

.fr-section-actions {
  display: grid;
  gap: 1rem;
  justify-items: start;
}

.fr-mini-label {
  display: inline-flex;
  align-items: center;
  font-size: .78rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .24em;
  font-weight: 700;
  color: #a6786f;
}

.fr-mini-label-light {
  color: #e5c5cb;
}

/* Ocasiões */
.fr-occasion-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .fr-occasion-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (min-width: 1024px) {
  .fr-occasion-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
}

.fr-occasion-card {
  display: block;
  min-height: 12.4rem;
  padding: 1.55rem;
  border-radius: 1.6rem;
  background: rgba(255,255,255,.78);
  border: 1px solid #eadbd2;
  box-shadow: 0 12px 32px rgba(173,124,114,.05);
  text-decoration: none;
  color: #3b2a24;
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s cubic-bezier(.16,1,.3,1);
}

.fr-occasion-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 70px rgba(201,143,155,.14);
}

.fr-occasion-card span {
  display: flex;
  width: 3.1rem;
  height: 3.1rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #f4dce1;
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
}

.fr-occasion-card strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-family: 'Playfair Display', serif;
  font-size: 1.7rem;
  font-weight: 600;
}

.fr-occasion-card strong::after {
  content: "→";
  color: #c98f9b;
  transition: transform .25s ease;
}

.fr-occasion-card:hover strong::after {
  transform: translateX(4px);
}

.fr-occasion-card small {
  display: block;
  margin-top: .6rem;
  color: rgba(60,43,37,.68);
  line-height: 1.55;
}

/* Portfólio */
.fr-portfolio-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}

@media (min-width: 760px) {
  .fr-portfolio-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (min-width: 1100px) {
  .fr-portfolio-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
}

.fr-portfolio-card {
  overflow: hidden;
  border-radius: 1.8rem;
  background: white;
  box-shadow: 0 18px 55px rgba(173,124,114,.10);
  transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s cubic-bezier(.16,1,.3,1);
}

.fr-portfolio-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 80px rgba(173,124,114,.16);
}

.fr-card-image {
  display: block;
  height: 22rem;
  overflow: hidden;
  background: #f4dce1;
}

.fr-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.16,1,.3,1);
}

.fr-portfolio-card:hover .fr-card-image img {
  transform: scale(1.055);
}

.fr-card-copy {
  padding: 1.35rem;
}

.fr-card-copy span {
  display: block;
  margin-bottom: .35rem;
  color: #a6786f;
  font-size: .86rem;
  font-weight: 600;
}

.fr-card-copy h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  line-height: 1.12;
  color: #3b2a24;
}

.fr-card-copy p {
  margin-top: .7rem;
  color: rgba(60,43,37,.68);
  line-height: 1.6;
}

.fr-card-copy div {
  display: grid;
  gap: .6rem;
  grid-template-columns: 1fr 1fr;
  margin-top: 1.1rem;
}

.fr-card-copy a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.65rem;
  padding: .65rem .85rem;
  border-radius: 999px;
  text-decoration: none;
  font-size: .88rem;
  font-weight: 600;
}

.fr-card-copy a:first-child {
  background: #3b2a24;
  color: white;
}

.fr-card-copy a:last-child {
  border: 1px solid #e3c6bd;
  color: #3b2a24;
  background: #fff;
}

/* Steps e diferenciais */
.fr-step-grid,
.fr-feature-grid,
.fr-testimonial-grid,
.fr-support-grid {
  display: grid;
  gap: 1.15rem;
}

@media (min-width: 768px) {
  .fr-step-grid,
  .fr-testimonial-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .fr-feature-grid,
  .fr-support-grid {
    grid-template-columns: repeat(4, minmax(0,1fr));
  }
}

.fr-step-card,
.fr-feature-card,
.fr-testimonial-card,
.fr-support-card {
  border: 1px solid #eadbd2;
  border-radius: 1.8rem;
  background: rgba(255,255,255,.78);
  padding: 1.65rem;
  box-shadow: 0 12px 35px rgba(173,124,114,.06);
  color: #3b2a24;
  text-decoration: none;
}

.fr-step-card span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.15rem;
  height: 3.15rem;
  border-radius: 999px;
  background: #3b2a24;
  color: white;
  font-family: 'Playfair Display', serif;
  font-size: 1.25rem;
  margin-bottom: 1.2rem;
}

.fr-step-card h3,
.fr-feature-card strong,
.fr-support-card strong {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 1.48rem;
  line-height: 1.16;
}

.fr-step-card p,
.fr-feature-card p,
.fr-support-card p {
  margin-top: .75rem;
  color: rgba(60,43,37,.68);
  line-height: 1.65;
}

.fr-testimonial-card p {
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  line-height: 1.35;
}

.fr-testimonial-card span {
  display: block;
  margin-top: 1rem;
  color: #a6786f;
  font-weight: 600;
}

.fr-support-card {
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s cubic-bezier(.16,1,.3,1);
}

.fr-support-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 72px rgba(201,143,155,.14);
}

.fr-support-card span {
  display: inline-flex;
  margin-top: 1rem;
  color: #c98f9b;
  font-weight: 700;
}

/* Orçamento escuro inspirado no modelo aprovado */
.fr-budget-section {
  padding: 6rem 1.25rem;
  background: #fbf7f2;
}

@media (min-width: 768px) {
  .fr-budget-section {
    padding: 7rem 3rem;
  }
}

.fr-budget-wrap {
  display: grid;
  gap: 2.25rem;
  border-radius: 2.2rem;
  background: #3b2a24;
  color: white;
  padding: 1.25rem;
  box-shadow: 0 36px 90px rgba(59,42,36,.18);
}

@media (min-width: 1024px) {
  .fr-budget-wrap {
    grid-template-columns: .88fr 1.12fr;
    padding: 2.4rem;
    align-items: start;
  }
}

.fr-budget-copy {
  padding: 1.4rem .25rem;
}

@media (min-width: 1024px) {
  .fr-budget-copy {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem 1.2rem;
  }
}

.fr-budget-copy h2 {
  margin-top: .9rem;
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 4.8vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}

.fr-budget-copy p {
  margin-top: 1.3rem;
  color: rgba(255,255,255,.74);
  line-height: 1.8;
  font-size: 1.05rem;
}

.fr-budget-copy small {
  display: block;
  margin-top: 1.35rem;
  color: rgba(255,255,255,.58);
  line-height: 1.6;
}

.fr-budget-list {
  display: grid;
  gap: .8rem;
  margin-top: 2rem;
  color: rgba(255,255,255,.86);
}

.fr-budget-list div {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 2.6rem;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  padding: .65rem .9rem;
}

.fr-budget-form-shell > .bg-white,
.fr-budget-form-shell > div {
  border-radius: 1.8rem !important;
  overflow: hidden;
  box-shadow: none !important;
}

.fr-budget-form-shell form {
  background: #fbf7f2;
}

.fr-budget-form-shell .bg-\[var\(--brand-pink-dark\)\] {
  background: #c98f9b !important;
}

/* FAQ */
.fr-faq-list {
  display: grid;
  gap: .85rem;
}

.fr-faq-list details {
  border: 1px solid #eadbd2;
  border-radius: 1.25rem;
  background: white;
  padding: 1rem 1.2rem;
}

.fr-faq-list summary {
  cursor: pointer;
  font-weight: 700;
  color: #3b2a24;
}

.fr-faq-list p {
  margin-top: .75rem;
  color: rgba(60,43,37,.68);
  line-height: 1.65;
}

/* Animação leve, sem travar */
.filo-copy-final .fr-model-copy,
.filo-copy-final .fr-hero-visual,
.filo-copy-final .fr-occasion-card,
.filo-copy-final .fr-portfolio-card,
.filo-copy-final .fr-step-card,
.filo-copy-final .fr-feature-card,
.filo-copy-final .fr-testimonial-card,
.filo-copy-final .fr-support-card {
  animation: frSoftIn .7s cubic-bezier(.16,1,.3,1) both;
}

@keyframes frSoftIn {
  from { opacity: 0; transform: translateY(26px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .filo-copy-final * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

@media (max-width: 767px) {
  .fr-model-hero {
    padding-top: 7rem;
    min-height: auto;
  }
  .fr-model-title {
    max-width: none;
  }
  .fr-hero-carousel {
    min-height: 390px;
    height: 420px;
  }
  .fr-hero-badge {
    left: 1rem;
    bottom: 1rem;
    max-width: calc(100% - 2rem);
  }
  .fr-card-copy div {
    grid-template-columns: 1fr;
  }
  .fr-budget-section {
    padding-left: .85rem;
    padding-right: .85rem;
  }
}

/* Ajustes de páginas internas para combinar com o novo modelo */
.filo-copy-final .page-hero,
.filo-copy-final .support-page-hero,
.filo-copy-final .portfolio-hero {
  background:
    radial-gradient(circle at 95% 0%, rgba(239,208,213,.68), transparent 30rem),
    radial-gradient(circle at 0% 100%, rgba(234,215,200,.6), transparent 30rem),
    #fbf7f2 !important;
}



/* ==========================================================
   AJUSTE V15 — WHATSAPP FLUTUANTE RESTAURADO
   Mantém o botão flutuante do WhatsApp no site e remove apenas
   o CTA verde que ficava sobreposto aos cards/imagens do portfólio.
   ========================================================== */

.portfolio-whatsapp-cta,
.home-portfolio-grid .portfolio-whatsapp-cta,
#portfolio .portfolio-whatsapp-cta,
#portfolio-destaque .portfolio-whatsapp-cta {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Remove escurecimento/overlay residual causado pelo antigo CTA verde */
.portfolio-card::before,
.portfolio-card::after,
.fr-portfolio-card-v9::before,
.fr-portfolio-card-v9::after,
.home-portfolio-grid .portfolio-card::before,
.home-portfolio-grid .portfolio-card::after {
  pointer-events: none !important;
}

/* Garante que os botões reais dos cards fiquem clicáveis */
.fr-portfolio-card-actions,
.fr-portfolio-card-actions a,
.portfolio-card a,
.portfolio-card button,
.fr-card-btn {
  position: relative;
  z-index: 30;
  pointer-events: auto !important;
}

/* Mantém o botão flutuante do WhatsApp visível no site */
.floating-whatsapp-smart {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* No mobile, o botão flutuante fica menor para não cobrir botões de card */
@media (max-width: 640px) {
  .floating-whatsapp-smart {
    right: .85rem !important;
    bottom: .85rem !important;
    width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    justify-content: center !important;
    z-index: 9997 !important;
  }

  .floating-whatsapp-smart span:not(.float-icon) {
    display: none !important;
  }
}








/* ==========================================================
   AJUSTE V20 — BACKGROUND COM MAIS ORNAMENTOS CRIATIVOS
   Somente fundo/decorativo. Estrutura preservada.
   Mais flores + folhas + linhas curvas + renda + arabescos.
   ========================================================== */

:root {
  --fr-bg-artesanal: #fbf7f2;
  --fr-orn-1: rgba(201, 143, 155, .18);
  --fr-orn-2: rgba(216, 167, 177, .14);
  --fr-orn-3: rgba(244, 220, 225, .40);
  --fr-orn-4: rgba(234, 215, 200, .26);
  --fr-line-1: rgba(201, 143, 155, .16);
  --fr-line-2: rgba(216, 167, 177, .11);
  --fr-dot: rgba(201, 143, 155, .46);
}

/* Fundo geral com mais profundidade */
body {
  background:
    radial-gradient(circle at 4% 2%, var(--fr-orn-3), transparent 24rem),
    radial-gradient(circle at 96% 8%, var(--fr-orn-4), transparent 26rem),
    radial-gradient(circle at 14% 92%, rgba(255,255,255,.62), transparent 18rem),
    radial-gradient(circle at 86% 88%, rgba(244,220,225,.22), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,.14)),
    var(--fr-bg-artesanal) !important;
  background-attachment: scroll;
}

/* textura de papel/tecido */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -5;
  pointer-events: none;
  opacity: .16;
  background-image:
    radial-gradient(circle at 18px 18px, rgba(201,143,155,.11) 0 1.5px, transparent 1.7px),
    radial-gradient(circle at 48px 48px, rgba(216,167,177,.08) 0 1.1px, transparent 1.3px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.20) 0 1px, transparent 1px 16px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, transparent 1px 16px);
  background-size: 64px 64px, 64px 64px, 100% 100%, 100% 100%;
}

/* arabescos e círculos orgânicos pelo site inteiro */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  opacity: .62;
  background:
    radial-gradient(circle at 9% 15%, transparent 0 82px, var(--fr-line-1) 82px 83px, transparent 83px 108px),
    radial-gradient(circle at 88% 22%, transparent 0 96px, var(--fr-line-2) 96px 97px, transparent 97px 124px),
    radial-gradient(circle at 18% 46%, transparent 0 74px, var(--fr-line-2) 74px 75px, transparent 75px 98px),
    radial-gradient(circle at 82% 58%, transparent 0 88px, var(--fr-line-1) 88px 89px, transparent 89px 116px),
    radial-gradient(circle at 14% 82%, transparent 0 70px, var(--fr-line-1) 70px 71px, transparent 71px 94px),
    radial-gradient(circle at 85% 88%, transparent 0 80px, var(--fr-line-2) 80px 81px, transparent 81px 104px);
}

/* Todas as seções decoradas */
section,
main section,
footer,
.fr-budget-section,
.fr-support-section,
.fr-collection-focus,
.fr-editorial-section,
.fr-portfolio-hero-v9,
.fr-portfolio-occasion-links,
.fr-occasion-mini,
#orcamento,
#portfolio,
#como-funciona,
#depoimentos,
#orientacoes,
#page-top,
#hero {
  position: relative;
  overflow: visible;
}

/* camada decorativa por seção */
section::before,
main section::before,
footer::before,
.fr-budget-section::before,
.fr-support-section::before,
.fr-collection-focus::before,
.fr-editorial-section::before,
.fr-portfolio-hero-v9::before,
.fr-portfolio-occasion-links::before,
.fr-occasion-mini::before,
#orcamento::before,
#portfolio::before,
#como-funciona::before,
#depoimentos::before,
#orientacoes::before,
#page-top::before,
#hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .78;
  background:
    radial-gradient(circle at 8% 10%, rgba(244,220,225,.24), transparent 15rem),
    radial-gradient(circle at 92% 18%, rgba(234,215,200,.18), transparent 16rem),
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.10) 50%, transparent 100%);
}

/* Ornamento principal do lado direito: flor + folhinhas em forma textual */
section::after,
main section::after,
footer::after,
.fr-budget-section::after,
.fr-support-section::after,
.fr-collection-focus::after,
.fr-editorial-section::after,
.fr-portfolio-hero-v9::after,
.fr-portfolio-occasion-links::after,
.fr-occasion-mini::after,
#orcamento::after,
#portfolio::after,
#como-funciona::after,
#depoimentos::after,
#orientacoes::after,
#page-top::after,
#hero::after {
  content: "✿ ❁";
  position: absolute;
  right: clamp(.7rem, 3vw, 2.2rem);
  top: clamp(.7rem, 3vw, 1.8rem);
  z-index: -1;
  pointer-events: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.7rem, 9vw, 7.5rem);
  letter-spacing: .12em;
  line-height: 1;
  color: var(--fr-orn-1);
  transform: rotate(-10deg);
  white-space: nowrap;
}

/* alternância para o lado esquerdo em seções pares */
section:nth-of-type(even)::after,
main section:nth-of-type(even)::after {
  content: "❀ ❋";
  right: auto;
  left: clamp(.8rem, 3vw, 2rem);
  top: auto;
  bottom: clamp(.8rem, 3vw, 1.6rem);
  font-size: clamp(3rem, 8vw, 6rem);
  color: var(--fr-orn-2);
  transform: rotate(10deg);
}

/* primeiro wrapper da seção recebe folhas, laços e linhas curvas */
section > *:first-child,
main section > *:first-child,
footer > *:first-child,
.fr-budget-section > *:first-child,
.fr-support-section > *:first-child,
.fr-collection-focus > *:first-child,
.fr-editorial-section > *:first-child,
.fr-portfolio-hero-v9 > *:first-child,
.fr-portfolio-occasion-links > *:first-child,
.fr-occasion-mini > *:first-child,
#orcamento > *:first-child,
#portfolio > *:first-child,
#como-funciona > *:first-child,
#depoimentos > *:first-child,
#orientacoes > *:first-child,
#page-top > *:first-child,
#hero > *:first-child {
  position: relative;
}

/* linha curva dupla no canto inferior esquerdo */
section > *:first-child::before,
main section > *:first-child::before,
footer > *:first-child::before,
.fr-budget-section > *:first-child::before,
.fr-support-section > *:first-child::before,
.fr-collection-focus > *:first-child::before,
.fr-editorial-section > *:first-child::before,
.fr-portfolio-hero-v9 > *:first-child::before,
.fr-portfolio-occasion-links > *:first-child::before,
.fr-occasion-mini > *:first-child::before,
#orcamento > *:first-child::before,
#portfolio > *:first-child::before,
#como-funciona > *:first-child::before,
#depoimentos > *:first-child::before,
#orientacoes > *:first-child::before,
#page-top > *:first-child::before,
#hero > *:first-child::before {
  content: "";
  position: absolute;
  left: -1rem;
  bottom: -1rem;
  width: 8rem;
  height: 8rem;
  pointer-events: none;
  z-index: -1;
  opacity: .82;
  background:
    radial-gradient(circle at 100% 100%, transparent 0 72px, rgba(201,143,155,.18) 72px 73px, transparent 73px 88px),
    radial-gradient(circle at 100% 100%, transparent 0 54px, rgba(216,167,177,.14) 54px 55px, transparent 55px 68px),
    radial-gradient(circle at 76% 30%, rgba(201,143,155,.24) 0 2px, transparent 2px 100%);
}

/* ornamento do canto superior direito: folhas/arabescos sutis */
section > *:first-child::after,
main section > *:first-child::after,
footer > *:first-child::after,
.fr-budget-section > *:first-child::after,
.fr-support-section > *:first-child::after,
.fr-collection-focus > *:first-child::after,
.fr-editorial-section > *:first-child::after,
.fr-portfolio-hero-v9 > *:first-child::after,
.fr-portfolio-occasion-links > *:first-child::after,
.fr-occasion-mini > *:first-child::after,
#orcamento > *:first-child::after,
#portfolio > *:first-child::after,
#como-funciona > *:first-child::after,
#depoimentos > *:first-child::after,
#orientacoes > *:first-child::after,
#page-top > *:first-child::after,
#hero > *:first-child::after {
  content: "❦";
  position: absolute;
  right: -.2rem;
  top: -.2rem;
  pointer-events: none;
  z-index: -1;
  font-size: clamp(2rem, 4vw, 3rem);
  color: rgba(201,143,155,.18);
  transform: rotate(12deg);
}

/* faixa de pontinhos rendados sob mais cabeçalhos */
.fr-section-head::after,
.text-center.mb-12::after,
.fr-support-head::after,
.fr-collection-head::after,
.fr-editorial-copy::after,
.fr-portfolio-hero-copy::after,
.fr-occasion-mini-copy::after {
  content: "";
  display: block;
  width: min(230px, 74%);
  height: 12px;
  margin-top: .95rem;
  pointer-events: none;
  background:
    radial-gradient(circle, var(--fr-dot) 0 1px, transparent 1.2px) 0 50% / 18px 10px repeat-x,
    linear-gradient(90deg, transparent, rgba(216,167,177,.24), transparent),
    radial-gradient(circle at 9px 5px, rgba(255,255,255,.40) 0 2px, transparent 2.2px);
  border-radius: 999px;
}

/* Padrão adicional no fundo de áreas longas do site */
#orcamento::before,
#portfolio::before,
#como-funciona::before,
#depoimentos::before,
#orientacoes::before,
#page-top::before,
#hero::before,
footer::before {
  background:
    radial-gradient(circle at 8% 10%, rgba(244,220,225,.24), transparent 15rem),
    radial-gradient(circle at 92% 18%, rgba(234,215,200,.18), transparent 16rem),
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.10) 50%, transparent 100%),
    radial-gradient(circle at 16% 84%, transparent 0 76px, rgba(201,143,155,.11) 76px 77px, transparent 77px 98px),
    radial-gradient(circle at 88% 22%, transparent 0 82px, rgba(216,167,177,.10) 82px 83px, transparent 83px 104px);
}

/* detalhes de folhagem em cards sem alterar estrutura */
.fr-step-card,
.fr-testimonial-card,
.fr-support-card,
.fr-portfolio-card-v9,
.premium-card,
.faq-item {
  position: relative;
}

.fr-step-card::after,
.fr-testimonial-card::after,
.fr-support-card::after,
.fr-portfolio-card-v9::after,
.premium-card::after,
.faq-item::after {
  content: "❁";
  position: absolute;
  right: .8rem;
  top: .6rem;
  font-size: 1.35rem;
  color: rgba(201,143,155,.15);
  pointer-events: none;
}

/* seções escuras: contraste preservado, mas ainda decoradas */
section.bg-\[\#3b2a24\]::after,
section[class*="bg-[#3b2a24]"]::after,
.fr-budget-section::after,
#orcamento::after,
footer.bg-\[\#3b2a24\]::after {
  color: rgba(255,255,255,.08);
}

section.bg-\[\#3b2a24\] > *:first-child::before,
section[class*="bg-[#3b2a24]"] > *:first-child::before,
.fr-budget-section > *:first-child::before,
#orcamento > *:first-child::before,
footer.bg-\[\#3b2a24\] > *:first-child::before {
  opacity: .46;
  background:
    radial-gradient(circle at 100% 100%, transparent 0 72px, rgba(255,255,255,.12) 72px 73px, transparent 73px 88px),
    radial-gradient(circle at 100% 100%, transparent 0 54px, rgba(255,255,255,.08) 54px 55px, transparent 55px 68px);
}

/* não interferir em clique/imagem */
.portfolio-card::before,
.fr-portfolio-card-v9::before,
.fr-lookbook-card::before,
.fr-mosaic-card::before,
.fr-inner-visual-card::before {
  pointer-events: none;
}

/* WhatsApp flutuante mantido */
.floating-whatsapp-smart {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Mobile: continua decorado, mas mais leve */
@media (max-width: 768px) {
  body::before { opacity: .10; }
  body::after { opacity: .38; }

  section::after,
  main section::after,
  footer::after {
    font-size: clamp(2.8rem, 12vw, 5rem);
    opacity: .88;
  }

  section > *:first-child::before,
  main section > *:first-child::before,
  footer > *:first-child::before {
    width: 5.8rem;
    height: 5.8rem;
    left: -.35rem;
    bottom: -.35rem;
  }

  .fr-section-head::after,
  .text-center.mb-12::after,
  .fr-support-head::after,
  .fr-collection-head::after,
  .fr-editorial-copy::after,
  .fr-portfolio-hero-copy::after,
  .fr-occasion-mini-copy::after {
    width: 158px;
  }

  .fr-step-card::after,
  .fr-testimonial-card::after,
  .fr-support-card::after,
  .fr-portfolio-card-v9::after,
  .premium-card::after,
  .faq-item::after {
    font-size: 1.1rem;
  }
}



/* ==========================================================
   AJUSTE V21 — COPYWRITER: TEXTOS MAIS ENXUTOS E LEGÍVEIS
   Sem alterar estrutura. Apenas ritmo de leitura e limites de texto.
   ========================================================== */

#hero h1,
.fr-model-title,
.fr-portfolio-hero-copy h1,
.fr-editorial-copy h2,
.fr-collection-focus h2,
.fr-support-section h2,
.fr-section-head h2,
.text-center h1,
.text-center h2 {
  text-wrap: balance;
}

@media (max-width: 768px) {
  #hero h1,
  .fr-model-title,
  .fr-portfolio-hero-copy h1 {
    font-size: clamp(2.15rem, 10vw, 3.35rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.04em !important;
  }

  .fr-editorial-copy h2,
  .fr-collection-focus h2,
  .fr-support-section h2,
  .fr-section-head h2,
  .text-center h1,
  .text-center h2 {
    font-size: clamp(1.9rem, 8.8vw, 2.85rem) !important;
    line-height: 1.08 !important;
  }

  #hero p,
  .fr-model-subtitle,
  .fr-portfolio-hero-copy p,
  .fr-editorial-copy p,
  .fr-collection-head p,
  .fr-support-head p,
  .fr-section-head p,
  .text-center p {
    font-size: .96rem !important;
    line-height: 1.58 !important;
  }
}

@media (max-width: 420px) {
  #hero h1,
  .fr-model-title,
  .fr-portfolio-hero-copy h1 {
    font-size: clamp(2rem, 9.5vw, 2.9rem) !important;
  }

  .fr-editorial-copy h2,
  .fr-collection-focus h2,
  .fr-support-section h2,
  .fr-section-head h2,
  .text-center h1,
  .text-center h2 {
    font-size: clamp(1.8rem, 8.5vw, 2.45rem) !important;
  }
}


/* ==========================================================
   AJUSTE V22 — DIFERENCIAIS MELHORADOS
   ========================================================== */

.fr-benefits-section {
  position: relative;
  padding: 2.9rem 1.25rem 3.35rem;
  background:
    radial-gradient(circle at 12% 12%, rgba(244,220,225,.34), transparent 17rem),
    radial-gradient(circle at 88% 14%, rgba(234,215,200,.20), transparent 16rem),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,250,252,.72));
  border-top: 1px solid rgba(216,167,177,.26);
  border-bottom: 1px solid rgba(216,167,177,.26);
  overflow: hidden;
}

.fr-benefits-section::before {
  content: "✿";
  position: absolute;
  top: 1.1rem;
  right: clamp(1rem, 3vw, 2rem);
  font-size: clamp(4rem, 8vw, 7rem);
  color: rgba(201,143,155,.09);
  transform: rotate(-12deg);
  pointer-events: none;
}

.fr-benefits-shell {
  position: relative;
  z-index: 1;
}

.fr-benefits-head {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 1.5rem 2.25rem;
  align-items: end;
  margin-bottom: 1.8rem;
}

.fr-benefits-head h2 {
  margin: .45rem 0 0;
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 3vw, 3.1rem);
  line-height: .98;
  letter-spacing: -.035em;
  color: var(--brand-brown);
  text-wrap: balance;
}

.fr-benefits-head p {
  margin: 0;
  max-width: 36rem;
  font-size: 1.02rem;
  line-height: 1.72;
  color: rgba(59,42,36,.74);
}

.fr-benefits-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}

.fr-benefit-card {
  position: relative;
  min-height: 100%;
  padding: 1.2rem 1rem 1.1rem;
  border-radius: 1.55rem;
  border: 1px solid rgba(216,167,177,.28);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,251,252,.82));
  box-shadow: 0 14px 36px rgba(83,51,42,.07);
  display: flex;
  flex-direction: column;
  gap: .95rem;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.fr-benefit-card::before {
  content: "";
  position: absolute;
  inset: .5rem;
  border-radius: calc(1.55rem - .28rem);
  border: 1px solid rgba(216,167,177,.10);
  pointer-events: none;
}

.fr-benefit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 44px rgba(83,51,42,.11);
  border-color: rgba(201,143,155,.40);
}

.fr-benefit-card-highlight {
  background:
    radial-gradient(circle at 92% 18%, rgba(244,220,225,.34), transparent 8rem),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,250,.86));
}

.fr-benefit-icon {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(244,220,225,.78);
  border: 1px solid rgba(216,167,177,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
}

.fr-benefit-copy h3 {
  margin: 0 0 .35rem;
  font-size: 1rem;
  line-height: 1.25;
  color: var(--brand-brown);
  font-weight: 800;
}

.fr-benefit-copy p {
  margin: 0;
  font-size: .9rem;
  line-height: 1.55;
  color: rgba(59,42,36,.70);
}

@media (max-width: 1200px) {
  .fr-benefits-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fr-benefit-card:last-child,
  .fr-benefit-card:nth-last-child(2) {
    grid-column: span 1;
  }
}

@media (max-width: 860px) {
  .fr-benefits-head {
    grid-template-columns: 1fr;
    gap: .9rem;
    margin-bottom: 1.4rem;
  }

  .fr-benefits-head p {
    max-width: 100%;
  }

  .fr-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .fr-benefits-section {
    padding: 2.35rem 1rem 2.7rem;
  }

  .fr-benefits-head h2 {
    font-size: clamp(1.8rem, 9vw, 2.45rem);
    line-height: 1.04;
  }

  .fr-benefits-head p {
    font-size: .95rem;
    line-height: 1.62;
  }

  .fr-benefits-grid {
    grid-template-columns: 1fr;
    gap: .85rem;
  }

  .fr-benefit-card {
    padding: 1rem .95rem;
    gap: .8rem;
  }
}


/* ==========================================================
   AJUSTE V23 — PORTFÓLIO LOOKBOOK PREMIUM
   Inspiração: lookbook editorial, cards claros e peças em destaque.
   ========================================================== */

body.portfolio-lookbook-premium {
  background:
    radial-gradient(circle at 8% 6%, rgba(244,220,225,.36), transparent 24rem),
    radial-gradient(circle at 92% 12%, rgba(234,215,200,.24), transparent 26rem),
    #fbf7f2;
}

/* Topo da página de portfólio com mais cara de lookbook */
body.portfolio-lookbook-premium .fr-portfolio-hero-v9,
body.portfolio-lookbook-premium #page-top {
  background:
    radial-gradient(circle at 10% 10%, rgba(244,220,225,.50), transparent 24rem),
    radial-gradient(circle at 90% 22%, rgba(255,255,255,.65), transparent 22rem),
    linear-gradient(180deg, #fffdfb 0%, #fbf7f2 100%) !important;
}

body.portfolio-lookbook-premium .fr-portfolio-hero-copy h1 {
  max-width: 720px;
  font-size: clamp(3rem, 5.9vw, 6.8rem) !important;
  line-height: .95 !important;
  letter-spacing: -.055em !important;
}

body.portfolio-lookbook-premium .fr-portfolio-hero-copy p {
  max-width: 560px;
  color: rgba(59,42,36,.72) !important;
}

/* Grade mais elegante e mais respirada */
body.portfolio-lookbook-premium .fr-portfolio-grid-v9 {
  gap: clamp(1.1rem, 2.4vw, 2rem) !important;
}

/* Card claro, sem fundo cinza/escuro na parte de baixo */
body.portfolio-lookbook-premium .fr-portfolio-card-v9,
body.portfolio-lookbook-premium .portfolio-card {
  background: #fffdfb !important;
  border: 1px solid rgba(216,167,177,.24) !important;
  border-radius: 1.8rem !important;
  overflow: hidden !important;
  box-shadow: 0 18px 48px rgba(83,51,42,.08) !important;
  isolation: isolate;
}

/* Remove qualquer camada escura residual */
body.portfolio-lookbook-premium .fr-portfolio-card-v9::before,
body.portfolio-lookbook-premium .fr-portfolio-card-v9::after,
body.portfolio-lookbook-premium .portfolio-card::before,
body.portfolio-lookbook-premium .portfolio-card::after {
  content: none !important;
  display: none !important;
}

/* Foto mais valorizada */
body.portfolio-lookbook-premium .fr-portfolio-card-img {
  background: #f9eee9 !important;
  aspect-ratio: 4 / 4.75 !important;
  position: relative;
}

body.portfolio-lookbook-premium .fr-portfolio-card-img::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 26%;
  background: linear-gradient(180deg, transparent, rgba(59,42,36,.06));
  pointer-events: none;
}

body.portfolio-lookbook-premium .fr-portfolio-card-img img {
  filter: none !important;
  opacity: 1 !important;
}

/* Área de texto clara, delicada e legível */
body.portfolio-lookbook-premium .fr-portfolio-card-body {
  background:
    radial-gradient(circle at 92% 0%, rgba(244,220,225,.24), transparent 8rem),
    linear-gradient(180deg, #fffdfb 0%, #fff8fa 100%) !important;
  color: #3b2a24 !important;
  padding: 1.25rem 1.25rem 1.28rem !important;
  border-top: 1px solid rgba(216,167,177,.18);
}

body.portfolio-lookbook-premium .fr-portfolio-card-cat {
  color: #b77986 !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .72rem !important;
}

body.portfolio-lookbook-premium .fr-portfolio-card-v9 h3,
body.portfolio-lookbook-premium .portfolio-card h3 {
  color: #3b2a24 !important;
  font-size: clamp(1.55rem, 1.8vw, 2.05rem) !important;
  line-height: 1.07 !important;
}

body.portfolio-lookbook-premium .fr-portfolio-card-desc {
  color: rgba(59,42,36,.68) !important;
  min-height: auto !important;
  font-size: .96rem !important;
  line-height: 1.55 !important;
}

/* Botões do card: par visual limpo */
body.portfolio-lookbook-premium .fr-portfolio-card-actions {
  gap: .65rem !important;
  margin-top: 1.05rem !important;
}

body.portfolio-lookbook-premium .fr-card-btn,
body.portfolio-lookbook-premium .fr-portfolio-card-actions a {
  min-height: 2.85rem !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  font-size: .85rem !important;
  position: relative;
  z-index: 4;
}

body.portfolio-lookbook-premium .fr-card-btn-primary {
  background: #3b2a24 !important;
  color: #fff !important;
  border: 1px solid #3b2a24 !important;
}

body.portfolio-lookbook-premium .fr-card-btn-secondary {
  background: rgba(255,255,255,.94) !important;
  color: #3b2a24 !important;
  border: 1px solid rgba(201,143,155,.46) !important;
}

/* Cards de ocasião do final também mais claros */
body.portfolio-lookbook-premium .fr-portfolio-occasion-links {
  background:
    radial-gradient(circle at 10% 0%, rgba(244,220,225,.38), transparent 22rem),
    #fffdfb !important;
}

body.portfolio-lookbook-premium .fr-portfolio-occasion-grid a {
  background: rgba(255,255,255,.86) !important;
  border-color: rgba(216,167,177,.24) !important;
}

/* Mobile: card mais leve e área inferior sem peso */
@media (max-width: 680px) {
  body.portfolio-lookbook-premium .fr-portfolio-hero-copy h1 {
    font-size: clamp(2.35rem, 11vw, 3.5rem) !important;
    line-height: 1.03 !important;
  }

  body.portfolio-lookbook-premium .fr-portfolio-card-v9 {
    border-radius: 1.45rem !important;
  }

  body.portfolio-lookbook-premium .fr-portfolio-card-img {
    aspect-ratio: 4 / 4.45 !important;
  }

  body.portfolio-lookbook-premium .fr-portfolio-card-body {
    padding: 1rem !important;
  }

  body.portfolio-lookbook-premium .fr-portfolio-card-actions {
    display: flex !important;
    flex-direction: row !important;
  }

  body.portfolio-lookbook-premium .fr-card-btn {
    font-size: .82rem !important;
    min-height: 2.75rem !important;
  }
}

@media (max-width: 390px) {
  body.portfolio-lookbook-premium .fr-portfolio-card-actions {
    flex-direction: column !important;
  }
}


/* ==========================================================
   FILÓ RENDEIRA — MOTION EMBUTIDO PRINCIPAL
   Está dentro do style.css para não depender de arquivo extra.
   Objetivo:
   - conduzir leitura por etapas;
   - títulos entram primeiro;
   - textos entram depois;
   - botões e cards aparecem em sequência;
   - sem blur;
   - sem alterar estrutura do site.
   ========================================================== */

:root {
  --filo-main-motion-ease: cubic-bezier(.16, 1, .3, 1);
}

.filo-main-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  width: 100%;
  height: 4px;
  pointer-events: none;
  background: rgba(255, 255, 255, .34);
}

.filo-main-progress span {
  display: block;
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #c98f9b, #d8a7b1, #3b2a24);
  box-shadow: 0 0 18px rgba(201, 143, 155, .48);
}

/* Estado inicial: sem blur, bem perceptível */
html.filo-main-motion-ready .filo-main-reveal {
  opacity: 0;
  transform: translate3d(0, 46px, 0);
  transition:
    opacity .72s var(--filo-main-motion-ease),
    transform .72s var(--filo-main-motion-ease);
  transition-delay: var(--filo-main-delay, 0ms);
  will-change: opacity, transform;
}

html.filo-main-motion-ready .filo-main-title.filo-main-left {
  transform: translate3d(-82px, 0, 0);
}

html.filo-main-motion-ready .filo-main-title.filo-main-right {
  transform: translate3d(82px, 0, 0);
}

html.filo-main-motion-ready .filo-main-text.filo-main-left {
  transform: translate3d(-58px, 0, 0);
}

html.filo-main-motion-ready .filo-main-text.filo-main-right {
  transform: translate3d(58px, 0, 0);
}

html.filo-main-motion-ready .filo-main-action,
html.filo-main-motion-ready .filo-main-card,
html.filo-main-motion-ready .filo-main-block {
  transform: translate3d(0, 52px, 0);
}

html.filo-main-motion-ready .filo-main-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Hero: leitura em etapas ao abrir */
html.filo-main-motion-ready #hero .fr-kicker-pill {
  animation: filoMainHeroKicker .72s var(--filo-main-motion-ease) .04s both;
}

html.filo-main-motion-ready #hero h1,
html.filo-main-motion-ready #hero .fr-model-title,
html.filo-main-motion-ready .fr-hero-copy h1 {
  animation: filoMainHeroTitle .9s var(--filo-main-motion-ease) .12s both;
}

html.filo-main-motion-ready #hero p,
html.filo-main-motion-ready #hero .fr-model-subtitle,
html.filo-main-motion-ready .fr-hero-copy p {
  animation: filoMainHeroText .88s var(--filo-main-motion-ease) .34s both;
}

html.filo-main-motion-ready #hero .fr-model-actions,
html.filo-main-motion-ready #hero .button-primary,
html.filo-main-motion-ready #hero .button-outline,
html.filo-main-motion-ready #hero .fr-btn-primary,
html.filo-main-motion-ready #hero .fr-btn-secondary,
html.filo-main-motion-ready #hero a[class*="button"] {
  animation: filoMainHeroAction .74s var(--filo-main-motion-ease) .54s both;
}

html.filo-main-motion-ready #hero .fr-trust-row {
  animation: filoMainHeroAction .74s var(--filo-main-motion-ease) .68s both;
}

html.filo-main-motion-ready #hero .fr-hero-visual,
html.filo-main-motion-ready .fr-hero-visual,
html.filo-main-motion-ready .fr-portfolio-hero-visual {
  animation: filoMainHeroVisual 1s var(--filo-main-motion-ease) .22s both;
}

@keyframes filoMainHeroKicker {
  from {
    opacity: 0;
    transform: translate3d(-42px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes filoMainHeroTitle {
  from {
    opacity: 0;
    transform: translate3d(-82px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes filoMainHeroText {
  from {
    opacity: 0;
    transform: translate3d(-58px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes filoMainHeroAction {
  from {
    opacity: 0;
    transform: translate3d(0, 34px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes filoMainHeroVisual {
  from {
    opacity: 0;
    transform: translate3d(78px, 0, 0) scale(.985);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

/* Cards em sequência + hover */
.filo-main-card {
  transition:
    opacity .72s var(--filo-main-motion-ease),
    transform .72s var(--filo-main-motion-ease),
    box-shadow .34s var(--filo-main-motion-ease),
    border-color .34s var(--filo-main-motion-ease);
}

@media (hover:hover) and (pointer:fine) {
  .filo-main-card:hover {
    transform: translate3d(0, -8px, 0);
    box-shadow: 0 26px 70px rgba(83, 51, 42, .15) !important;
  }

  .filo-main-card:hover img {
    transform: scale(1.045);
  }
}

.fr-portfolio-card-img img,
.fr-mosaic-card img,
.fr-lookbook-card img,
.fr-portfolio-hero-img img,
.fr-inner-visual-img img,
.hero-slide {
  transition: transform .78s var(--filo-main-motion-ease);
}

.button-primary,
.button-outline,
.fr-primary-btn,
.fr-secondary-btn,
.fr-card-btn,
button[type="submit"] {
  transition:
    transform .24s var(--filo-main-motion-ease),
    box-shadow .24s var(--filo-main-motion-ease),
    border-color .24s var(--filo-main-motion-ease),
    background .24s var(--filo-main-motion-ease);
}

@media (hover:hover) and (pointer:fine) {
  .button-primary:hover,
  .button-outline:hover,
  .fr-primary-btn:hover,
  .fr-secondary-btn:hover,
  .fr-card-btn:hover,
  button[type="submit"]:hover {
    transform: translate3d(0, -2px, 0);
  }
}

/* Mobile: ainda aparece, mas com deslocamento menor */
@media (max-width: 768px) {
  .filo-main-progress {
    height: 3px;
  }

  html.filo-main-motion-ready .filo-main-reveal,
  html.filo-main-motion-ready .filo-main-title.filo-main-left,
  html.filo-main-motion-ready .filo-main-title.filo-main-right,
  html.filo-main-motion-ready .filo-main-text.filo-main-left,
  html.filo-main-motion-ready .filo-main-text.filo-main-right,
  html.filo-main-motion-ready .filo-main-action,
  html.filo-main-motion-ready .filo-main-card,
  html.filo-main-motion-ready .filo-main-block {
    transform: translate3d(0, 34px, 0);
    transition-duration: .58s;
  }

  html.filo-main-motion-ready .filo-main-visible {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.filo-main-motion-ready #hero .fr-kicker-pill,
  html.filo-main-motion-ready #hero .fr-model-actions,
  html.filo-main-motion-ready #hero .fr-trust-row,
  html.filo-main-motion-ready .filo-main-reveal,
  html.filo-main-motion-ready .filo-main-title,
  html.filo-main-motion-ready .filo-main-text,
  html.filo-main-motion-ready .filo-main-action,
  html.filo-main-motion-ready .filo-main-card,
  html.filo-main-motion-ready .filo-main-block {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  #hero h1,
  #hero p,
  #hero a,
  #hero button,
  #hero .fr-kicker-pill,
  #hero .fr-model-actions,
  #hero .fr-trust-row,
  #hero .fr-hero-visual,
  .fr-hero-visual,
  .fr-portfolio-hero-visual {
    animation: none !important;
  }
}


/* FILÓ RENDEIRA — HERO INSPIRADO EM ZARA V40 — ENQUADRAMENTO PROPORCIONAL */
.fr-zara-hero {
  min-height: 100svh;
  padding-top: clamp(5.8rem, 7.2vw, 7rem);
  padding-bottom: clamp(1.3rem, 2.8vw, 2.4rem);
  background: #fbf7f4;
  overflow: hidden;
}

.fr-zara-hero .fr-blur {
  display: none;
}

.fr-zara-hero .max-w-7xl {
  max-width: 100%;
  width: 100%;
  padding-left: clamp(1.5rem, 3.1vw, 3rem);
  padding-right: clamp(1.5rem, 3.1vw, 3rem);
}

@media (min-width: 1024px) {
  .fr-zara-hero .max-w-7xl {
    grid-template-columns: minmax(350px, .86fr) minmax(430px, .94fr) !important;
    align-items: center !important;
    gap: clamp(2rem, 3.4vw, 3.6rem) !important;
  }
}

.fr-zara-hero .fr-model-copy {
  align-self: center;
  padding-bottom: clamp(1.4rem, 4.8vh, 3.75rem);
}

.fr-zara-hero .fr-kicker-pill {
  display: block;
  width: fit-content;
  margin-bottom: 1.25rem;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
  color: #c18490;
  font-size: .64rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .42em;
  text-transform: uppercase;
}

.fr-zara-hero .fr-model-title {
  max-width: 620px;
  font-size: clamp(2.9rem, 4.55vw, 5.35rem);
  line-height: .975;
  letter-spacing: -.058em;
  color: #3a2924;
}

.fr-zara-hero .fr-model-subtitle {
  max-width: 31rem;
  margin-top: 1.65rem;
  font-size: .95rem;
  line-height: 1.75;
  color: rgba(58, 41, 36, .76);
}

.fr-zara-hero .fr-model-actions {
  margin-top: 1.7rem;
  gap: .75rem;
}

.fr-zara-hero .fr-btn-primary,
.fr-zara-hero .fr-btn-secondary {
  min-height: 2.75rem;
  padding: .72rem 1.35rem;
  font-size: .86rem;
}

.fr-zara-hero .fr-btn-secondary {
  background: transparent;
}

.fr-zara-hero .fr-hero-visual {
  align-self: center;
  justify-self: end;
  width: 100%;
  max-width: min(46vw, 660px);
}

.fr-zara-hero .fr-hero-frame {
  position: relative;
  width: 100%;
  height: min(76svh, 720px);
  min-height: 590px;
  padding: 0;
  border-radius: 1.75rem;
  background:
    radial-gradient(circle at 24% 16%, rgba(255,255,255,.58), transparent 35%),
    radial-gradient(circle at 90% 78%, rgba(201,143,161,.22), transparent 34%),
    linear-gradient(135deg, #e8cbc8 0%, #f4dedb 48%, #fff4ef 100%);
  box-shadow: 0 18px 44px rgba(120, 72, 66, .12);
  overflow: hidden;
}

.fr-zara-hero .fr-hero-carousel {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  border: 0;
  border-radius: 1.75rem;
  box-shadow: none;
  background:
    radial-gradient(circle at 24% 16%, rgba(255,255,255,.58), transparent 35%),
    radial-gradient(circle at 90% 78%, rgba(201,143,161,.22), transparent 34%),
    linear-gradient(135deg, #e8cbc8 0%, #f4dedb 48%, #fff4ef 100%);
  cursor: default;
  user-select: none;
  -webkit-user-select: none;
}

.fr-zara-hero .fr-hero-carousel::after {
  background:
    linear-gradient(90deg, rgba(251,247,244,.15), transparent 36%),
    linear-gradient(to top, rgba(58,41,36,.10), transparent 40%);
  z-index: 2;
}

html body .fr-zara-hero .fr-hero-carousel img.hero-slide,
html body .fr-zara-hero .hero-slide {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: clamp(1.1rem, 2.2vw, 2.15rem) !important;
  box-sizing: border-box !important;
  border-radius: 1.75rem;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  transform: none !important;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
  transition: opacity .46s cubic-bezier(.16, 1, .3, 1) !important;
}

html body .fr-zara-hero .hero-slide.active {
  opacity: 1 !important;
  transform: none !important;
}

.fr-zara-hero .hero-dots {
  top: 1.1rem;
  right: 1.1rem;
  z-index: 6;
  gap: .45rem;
  padding: .46rem .55rem;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 10px 28px rgba(58,41,36,.08);
}

.fr-zara-hero .hero-dot {
  width: .55rem;
  height: .55rem;
  background: rgba(120, 91, 83, .25);
}

.fr-zara-hero .hero-dot.active {
  width: 1.85rem;
  background: #c98fa1;
}

.fr-zara-hero .hero-nav {
  position: absolute;
  top: 50%;
  z-index: 7;
  width: 2.85rem;
  height: 2.85rem;
  border: 1px solid rgba(255,255,255,.64);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: #6f514c;
  box-shadow: 0 12px 28px rgba(58,41,36,.10);
  backdrop-filter: blur(10px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  transition: background .22s ease, color .22s ease, transform .22s ease;
}

.fr-zara-hero .hero-nav:hover {
  background: rgba(255,255,255,.95);
  color: #3a2924;
  transform: translateY(-50%) scale(1.04);
}

.fr-zara-hero .hero-nav-prev {
  left: 1rem;
}

.fr-zara-hero .hero-nav-next {
  right: 1rem;
}

.fr-zara-hero .hero-nav span {
  display: block;
  transform: translateY(-.04em);
  font-size: 2rem;
  line-height: 1;
}

.fr-zara-hero .fr-hero-badge {
  left: 1.1rem;
  bottom: 1.1rem;
  max-width: min(18.5rem, calc(100% - 2.2rem));
  border-radius: 1.2rem;
  background: rgba(255,250,247,.90);
  border: 1px solid rgba(255,255,255,.62);
  padding: .95rem 1.05rem 1.02rem;
  box-shadow: 0 16px 38px rgba(58,41,36,.13);
  backdrop-filter: blur(16px);
}

.fr-zara-hero .fr-mini-label {
  display: block;
  color: #c18490;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .34em;
  text-transform: uppercase;
}

.fr-zara-hero .fr-hero-badge strong {
  margin-top: .5rem;
  max-width: 17rem;
  font-size: clamp(1.22rem, 1.9vw, 1.9rem);
  line-height: .98;
  letter-spacing: -.035em;
  color: #3a2924;
}

@media (min-width: 1440px) {
  .fr-zara-hero .fr-hero-visual {
    max-width: 690px;
  }

  .fr-zara-hero .fr-hero-frame {
    height: min(76svh, 740px);
  }
}

@media (max-width: 1180px) and (min-width: 1024px) {
  .fr-zara-hero .fr-hero-visual {
    max-width: 580px;
  }

  .fr-zara-hero .fr-hero-frame {
    min-height: 560px;
    height: min(72svh, 660px);
  }
}

@media (max-width: 1023px) {
  .fr-zara-hero {
    min-height: auto;
    padding-top: 6.75rem;
    padding-bottom: 1rem;
  }

  .fr-zara-hero .max-w-7xl {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .fr-zara-hero .fr-model-copy {
    padding: 0 .25rem 1.9rem;
  }

  .fr-zara-hero .fr-model-title {
    max-width: 40rem;
    font-size: clamp(2.85rem, 12.6vw, 4.25rem);
  }

  .fr-zara-hero .fr-model-subtitle {
    margin-top: 1.25rem;
    max-width: 31rem;
  }

  .fr-zara-hero .fr-hero-visual {
    justify-self: center;
    max-width: 620px;
  }

  .fr-zara-hero .fr-hero-frame,
  .fr-zara-hero .fr-hero-carousel {
    min-height: 500px;
    height: 66svh;
    max-height: 690px;
    border-radius: 1.45rem;
  }

  html body .fr-zara-hero .hero-slide {
    padding: 1rem !important;
    border-radius: 1.45rem;
  }

  .fr-zara-hero .hero-nav {
    width: 2.55rem;
    height: 2.55rem;
  }

  .fr-zara-hero .hero-nav-prev {
    left: .7rem;
  }

  .fr-zara-hero .hero-nav-next {
    right: .7rem;
  }

  .fr-zara-hero .fr-hero-badge {
    left: .9rem;
    bottom: .9rem;
    max-width: min(18.5rem, calc(100% - 1.8rem));
  }
}

@media (max-width: 640px) {
  .fr-zara-hero {
    padding-top: 6.25rem;
  }

  .fr-zara-hero .fr-model-title {
    font-size: clamp(2.65rem, 13vw, 3.8rem);
  }

  .fr-zara-hero .fr-model-actions {
    margin-top: 1.35rem;
  }

  .fr-zara-hero .fr-btn-primary,
  .fr-zara-hero .fr-btn-secondary {
    min-height: 2.55rem;
    padding: .68rem 1.05rem;
    font-size: .78rem;
  }

  .fr-zara-hero .fr-hero-frame,
  .fr-zara-hero .fr-hero-carousel {
    min-height: 455px;
    height: 62svh;
    max-height: 600px;
  }

  .fr-zara-hero .hero-dots {
    top: .85rem;
    right: .85rem;
  }

  .fr-zara-hero .fr-hero-badge {
    padding: .78rem .85rem .84rem;
    max-width: min(16.8rem, calc(100% - 1.6rem));
  }

  .fr-zara-hero .fr-hero-badge strong {
    font-size: 1.24rem;
  }
}
/* FIM — HERO INSPIRADO EM ZARA V40 */

/* =========================================================
   Guia de Medidas — visual interativo primeiro
   Ajuste solicitado: remove a abertura repetida e valoriza o boneco clicável.
   ========================================================= */
.measure-first-section {
  padding-top: clamp(7.5rem, 10vw, 9.2rem) !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(250, 218, 221, 0.22), transparent 30%),
    radial-gradient(circle at 92% 12%, rgba(216, 167, 177, 0.12), transparent 26%),
    #fff !important;
}

.measure-main-intro h1 {
  color: var(--brand-brown);
  letter-spacing: -0.035em;
}

.measure-main-intro p {
  font-size: clamp(0.98rem, 1.1vw, 1.08rem);
}

.measure-first-section .measure-guide-wrap {
  padding: clamp(1.2rem, 2vw, 1.75rem) !important;
  border-radius: 2.15rem !important;
}

.measure-first-section .measure-visual-shell {
  max-width: 620px !important;
}

.measure-first-section .measure-visual-stage {
  padding: clamp(0.85rem, 1.4vw, 1.25rem) !important;
}

.measure-first-section .measure-view-stack {
  min-height: clamp(610px, 58vw, 720px) !important;
  aspect-ratio: 4 / 5 !important;
}

.measure-first-section .measure-photo {
  object-fit: contain !important;
  object-position: center center !important;
}

.measure-first-section #instruction-card {
  align-self: center;
  padding: clamp(1.6rem, 3vw, 3rem) !important;
}

.measure-first-section .measure-card-badge {
  background: rgba(250,218,221,0.44) !important;
}

@media (min-width: 1024px) {
  .measure-first-section .max-w-7xl {
    max-width: 1320px !important;
  }

  .measure-first-section .measure-guide-wrap {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 1023px) {
  .measure-first-section {
    padding-top: 7.4rem !important;
  }

  .measure-main-intro {
    margin-bottom: 1.8rem !important;
  }

  .measure-first-section .measure-view-stack {
    min-height: clamp(520px, 92vw, 650px) !important;
  }
}

@media (max-width: 640px) {
  .measure-first-section {
    padding-top: 6.7rem !important;
  }

  .measure-main-intro h1 {
    font-size: clamp(2.25rem, 11vw, 3.25rem) !important;
    line-height: 1.02 !important;
  }

  .measure-main-intro p {
    font-size: 0.94rem !important;
  }

  .measure-first-section .measure-view-stack {
    min-height: clamp(430px, 118vw, 560px) !important;
  }

  .measure-first-section .measure-stage-meta {
    justify-content: center;
  }

  .measure-first-section #instruction-card {
    padding: 1.15rem !important;
  }
}


/* ===== premium-sem-limitacoes.css ===== */

/* ==========================================================
   FILÓ RENDEIRA — ACABAMENTO PREMIUM SEM LIMITAÇÕES
   Visual inspirado no modelo aprovado, com mais presença editorial.
   ========================================================== */

:root {
  --fr-bg: #fbf7f2;
  --fr-cream: #fffdfb;
  --fr-rose: #c98f9b;
  --fr-rose-2: #d8a7b1;
  --fr-rose-light: #f4dce1;
  --fr-brown: #3b2a24;
  --fr-text-soft: #6c554c;
  --fr-border: rgba(216, 167, 177, .32);
  --fr-shadow: 0 28px 70px rgba(88, 54, 44, .10);
  --fr-ease: cubic-bezier(.16, 1, .3, 1);
}

body.filo-copy-final {
  background:
    radial-gradient(circle at 6% 5%, rgba(244, 220, 225, .52), transparent 22rem),
    radial-gradient(circle at 95% 20%, rgba(234, 215, 200, .50), transparent 24rem),
    var(--fr-bg);
}

/* reforça o modelo que você gostou */
.fr-model-hero {
  min-height: min(860px, calc(100vh - 40px));
  display: flex;
  align-items: center;
}

.fr-model-title {
  max-width: 760px;
  letter-spacing: -0.045em;
}

.fr-model-subtitle {
  font-size: clamp(1.02rem, 1.2vw, 1.22rem);
}

.fr-hero-frame {
  border-radius: 2.35rem !important;
  padding: .9rem !important;
  box-shadow: 0 40px 90px rgba(83, 51, 42, .16) !important;
}

.fr-hero-carousel,
.fr-hero-carousel img {
  border-radius: 1.75rem !important;
}

.fr-hero-badge {
  max-width: 330px;
}

.fr-kicker-pill,
.fr-mini-label {
  letter-spacing: .22em;
}

.fr-trust-row {
  row-gap: .75rem;
}

.fr-trust-row span {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(216,167,177,.22);
  box-shadow: 0 12px 30px rgba(83,51,42,.06);
}

/* faixa editorial */
.fr-signature-strip {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--fr-border);
  border-bottom: 1px solid var(--fr-border);
  background: linear-gradient(90deg, rgba(255,255,255,.72), rgba(244,220,225,.38), rgba(255,255,255,.72));
  padding: 1.1rem 0;
}

.fr-signature-track {
  display: flex;
  width: max-content;
  gap: 3rem;
  animation: frSignatureMove 34s linear infinite;
  color: rgba(59,42,36,.62);
  font-family: "Playfair Display", serif;
  font-size: clamp(1.25rem, 2.1vw, 2.15rem);
  white-space: nowrap;
}

.fr-signature-track span {
  display: inline-flex;
  align-items: center;
  gap: 3rem;
}

.fr-signature-track span::after {
  content: "♡";
  color: var(--fr-rose);
  font-size: .9em;
}

@keyframes frSignatureMove {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* bloco editorial com fotos */
.fr-editorial-section {
  position: relative;
  padding: clamp(4.5rem, 7vw, 7.5rem) 1.5rem;
  overflow: hidden;
}

.fr-editorial-wrap {
  width: min(1280px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.fr-editorial-copy {
  position: relative;
  z-index: 2;
}

.fr-editorial-copy h2,
.fr-support-section h2,
.fr-collection-focus h2 {
  font-family: "Playfair Display", serif;
  font-size: clamp(2.65rem, 5vw, 5.9rem);
  line-height: .95;
  letter-spacing: -.045em;
  color: var(--fr-brown);
}

.fr-editorial-copy p {
  color: var(--fr-text-soft);
  font-size: clamp(1rem, 1.08vw, 1.12rem);
  line-height: 1.85;
  max-width: 620px;
  margin-top: 1.35rem;
}

.fr-editorial-points {
  display: grid;
  gap: .85rem;
  margin-top: 2rem;
  max-width: 560px;
}

.fr-editorial-points div {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
  padding: 1rem 1.1rem;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--fr-border);
  border-radius: 1.3rem;
  box-shadow: 0 14px 40px rgba(83,51,42,.055);
  color: var(--fr-text-soft);
}

.fr-editorial-points strong {
  color: var(--fr-brown);
}

.fr-editorial-mosaic {
  min-height: 640px;
  position: relative;
}

.fr-mosaic-card {
  position: absolute;
  overflow: hidden;
  border-radius: 2rem;
  background: #fff;
  box-shadow: var(--fr-shadow);
  border: 1px solid rgba(255,255,255,.65);
  transform: translateZ(0);
}

.fr-mosaic-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .95s var(--fr-ease), filter .95s var(--fr-ease);
}

.fr-mosaic-card:hover img {
  transform: scale(1.055);
  filter: saturate(1.04);
}

.fr-mosaic-card.one {
  inset: 0 auto auto 0;
  width: 62%;
  height: 74%;
}

.fr-mosaic-card.two {
  right: 0;
  top: 8%;
  width: 43%;
  height: 50%;
}

.fr-mosaic-card.three {
  right: 7%;
  bottom: 0;
  width: 54%;
  height: 38%;
}

.fr-mosaic-note {
  position: absolute;
  left: 6%;
  bottom: 8%;
  width: min(300px, 76%);
  padding: 1.25rem;
  border-radius: 1.6rem;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(216,167,177,.28);
  box-shadow: 0 22px 60px rgba(83,51,42,.12);
  color: var(--fr-brown);
}

.fr-mosaic-note span {
  display: block;
  color: var(--fr-rose);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-weight: 700;
  margin-bottom: .4rem;
}

.fr-mosaic-note strong {
  font-family: "Playfair Display", serif;
  font-size: 1.45rem;
  line-height: 1.08;
}

/* seção coleção */
.fr-collection-focus {
  padding: clamp(4.5rem, 7vw, 7rem) 1.5rem;
  background:
    radial-gradient(circle at 85% 15%, rgba(244,220,225,.52), transparent 22rem),
    linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.24));
}

.fr-collection-wrap {
  width: min(1280px, 100%);
  margin: 0 auto;
}

.fr-collection-head {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, .8fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 2rem;
}

.fr-collection-head p {
  color: var(--fr-text-soft);
  line-height: 1.75;
  max-width: 560px;
}

.fr-lookbook-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr .85fr;
  gap: 1.2rem;
}

.fr-lookbook-card {
  min-height: 470px;
  border-radius: 2rem;
  overflow: hidden;
  position: relative;
  background: #fff;
  box-shadow: var(--fr-shadow);
}

.fr-lookbook-card.big {
  min-height: 580px;
}

.fr-lookbook-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .95s var(--fr-ease);
}

.fr-lookbook-card:hover img {
  transform: scale(1.055);
}

.fr-lookbook-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(28,18,15,.70), transparent 54%);
  pointer-events: none;
}

.fr-lookbook-card div {
  position: absolute;
  left: 1.35rem;
  right: 1.35rem;
  bottom: 1.35rem;
  color: #fff;
  z-index: 2;
}

.fr-lookbook-card span {
  display: block;
  color: rgba(255,255,255,.74);
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 700;
  margin-bottom: .45rem;
}

.fr-lookbook-card h3 {
  font-family: "Playfair Display", serif;
  font-size: clamp(1.65rem, 2.4vw, 2.45rem);
  line-height: 1.02;
}

.fr-lookbook-card a {
  display: inline-flex;
  margin-top: .9rem;
  background: rgba(255,255,255,.92);
  color: var(--fr-brown);
  padding: .68rem 1.05rem;
  border-radius: 999px;
  font-size: .84rem;
  font-weight: 700;
}

/* apoio / páginas individuais */
.fr-support-section {
  padding: clamp(4.5rem, 7vw, 7rem) 1.5rem;
}

.fr-support-wrap {
  width: min(1280px, 100%);
  margin: 0 auto;
}

.fr-support-head {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, .85fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 2rem;
}

.fr-support-head p {
  color: var(--fr-text-soft);
  line-height: 1.75;
  max-width: 560px;
}

.fr-support-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.fr-support-card {
  min-height: 250px;
  padding: 1.6rem;
  border-radius: 1.8rem;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--fr-border);
  box-shadow: 0 18px 55px rgba(83,51,42,.07);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--fr-brown);
  transition: transform .45s var(--fr-ease), box-shadow .45s var(--fr-ease), background .45s var(--fr-ease);
}

.fr-support-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 80px rgba(83,51,42,.11);
  background: #fff;
}

.fr-support-card span {
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--fr-rose-light);
  color: var(--fr-rose);
  font-size: 1.3rem;
}

.fr-support-card h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.65rem;
  line-height: 1.05;
  margin-top: 1.35rem;
}

.fr-support-card p {
  color: var(--fr-text-soft);
  line-height: 1.65;
  font-size: .95rem;
  margin-top: .75rem;
}

.fr-support-card strong {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--fr-rose);
  margin-top: 1.3rem;
}

/* orçamento com mais presença, sem quebrar o form */
.fr-budget-section {
  background:
    radial-gradient(circle at 8% 10%, rgba(216,167,177,.22), transparent 22rem),
    radial-gradient(circle at 92% 80%, rgba(244,220,225,.14), transparent 26rem),
    #3b2a24 !important;
  position: relative;
  overflow: hidden;
}

.fr-budget-section::before {
  content: "";
  position: absolute;
  inset: 1.1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 2.4rem;
  pointer-events: none;
}

.fr-budget-form-shell > div {
  border-radius: 2rem !important;
  box-shadow: 0 35px 90px rgba(0,0,0,.22) !important;
}

#form-orcamento .form-input,
#form-orcamento select,
#form-orcamento textarea {
  border-radius: 1.15rem !important;
}

/* páginas internas */
.fr-inner-page-lift main,
body:not(.filo-copy-final) main {
  background:
    radial-gradient(circle at 0 0, rgba(244, 220, 225, .36), transparent 22rem),
    radial-gradient(circle at 100% 25%, rgba(234, 215, 200, .32), transparent 24rem);
}

.fr-copy-card {
  border-radius: 1.8rem;
  background: rgba(255,255,255,.74);
  border: 1px solid var(--fr-border);
  box-shadow: 0 20px 60px rgba(83,51,42,.07);
}

/* motion leve */
.fr-premium-reveal {
  opacity: 0;
  transform: translateY(42px);
  transition: opacity .72s var(--fr-ease), transform .72s var(--fr-ease);
}

.fr-premium-reveal.fr-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .fr-signature-track { animation: none; }
  .fr-premium-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 1024px) {
  .fr-editorial-wrap,
  .fr-collection-head,
  .fr-support-head {
    grid-template-columns: 1fr;
  }

  .fr-editorial-mosaic {
    min-height: 560px;
  }

  .fr-lookbook-grid {
    grid-template-columns: 1fr 1fr;
  }

  .fr-lookbook-card.big {
    grid-column: 1 / -1;
    min-height: 520px;
  }

  .fr-support-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .fr-model-hero {
    min-height: auto;
  }

  .fr-editorial-section,
  .fr-collection-focus,
  .fr-support-section {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .fr-editorial-mosaic {
    min-height: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .fr-mosaic-card,
  .fr-mosaic-card.one,
  .fr-mosaic-card.two,
  .fr-mosaic-card.three {
    position: relative;
    inset: auto;
    width: 100%;
    height: 380px;
  }

  .fr-mosaic-note {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    margin-top: 1rem;
  }

  .fr-lookbook-grid,
  .fr-support-grid {
    grid-template-columns: 1fr;
  }

  .fr-lookbook-card,
  .fr-lookbook-card.big {
    min-height: 420px;
  }
}


/* ==========================================================
   AJUSTES V8 — HOME MAIS VITRINE, OCASIÕES MAIS DISCRETAS
   ========================================================== */

.fr-occasion-mini {
  padding: clamp(2.4rem, 4vw, 4.2rem) 1.5rem;
  background: linear-gradient(90deg, rgba(255,255,255,.58), rgba(244,220,225,.28), rgba(255,255,255,.58));
  border-top: 1px solid rgba(216, 167, 177, .22);
  border-bottom: 1px solid rgba(216, 167, 177, .22);
}

.fr-occasion-mini-wrap {
  width: min(1280px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.18fr);
  gap: 2rem;
  align-items: center;
}

.fr-occasion-mini h2 {
  margin-top: .55rem;
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 3.3vw, 3.8rem);
  line-height: .98;
  letter-spacing: -.04em;
  color: var(--fr-brown, #3b2a24);
}

.fr-occasion-mini p {
  margin-top: .9rem;
  max-width: 520px;
  color: var(--fr-text-soft, #6c554c);
  line-height: 1.75;
}

.fr-occasion-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .8rem;
}

.fr-occasion-pills a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: .78rem 1.15rem;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(216, 167, 177, .36);
  color: var(--fr-brown, #3b2a24);
  font-weight: 700;
  font-size: .92rem;
  box-shadow: 0 14px 38px rgba(83, 51, 42, .06);
  transition: transform .35s var(--fr-ease, cubic-bezier(.16, 1, .3, 1)), 
              background .35s var(--fr-ease, cubic-bezier(.16, 1, .3, 1)),
              box-shadow .35s var(--fr-ease, cubic-bezier(.16, 1, .3, 1));
}

.fr-occasion-pills a:hover {
  transform: translateY(-3px);
  background: #fff;
  box-shadow: 0 20px 54px rgba(83, 51, 42, .10);
}

.fr-occasion-pills a:last-child {
  background: var(--fr-brown, #3b2a24);
  color: #fff;
  border-color: transparent;
}

/* remove qualquer herança visual de "primeiro passo" dominante */
#ocasioes.fr-occasion-mini .fr-mini-label {
  color: var(--fr-rose, #c98f9b);
}

/* Deixa a seção de orientações com cara de guia para a cliente, não de bastidor */
#orientacoes .fr-support-head h2 {
  max-width: 760px;
}

#orientacoes .fr-support-head p {
  font-size: clamp(1rem, 1.08vw, 1.13rem);
}

/* orçamento: copy mais acolhedora */
#orcamento .fr-mini-label,
.fr-budget-section .fr-mini-label {
  color: rgba(229, 197, 203, .92);
}

@media (max-width: 900px) {
  .fr-occasion-mini-wrap {
    grid-template-columns: 1fr;
  }

  .fr-occasion-pills {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .fr-occasion-mini {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .fr-occasion-pills a {
    width: 100%;
  }
}


/* ==========================================================
   AJUSTES V9 — FLUXO DA HOME E PORTFÓLIO PREMIUM
   ========================================================== */

/* A seção de ocasiões virou apoio final, não etapa dominante */
.fr-occasion-mini {
  margin-top: 0;
}

body.filo-copy-final #ocasioes.fr-occasion-mini {
  padding-top: clamp(4rem, 6vw, 6.5rem);
  padding-bottom: clamp(4rem, 6vw, 6.5rem);
  background:
    radial-gradient(circle at 10% 0%, rgba(244, 220, 225, .42), transparent 22rem),
    linear-gradient(90deg, rgba(255,255,255,.70), rgba(244,220,225,.22), rgba(255,255,255,.72));
}

/* Topo novo da página de portfólio */
.fr-portfolio-hero-v9 {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 8vw, 8rem) 1.5rem clamp(4rem, 7vw, 7rem);
  background:
    radial-gradient(circle at 8% 8%, rgba(244, 220, 225, .58), transparent 24rem),
    radial-gradient(circle at 95% 20%, rgba(234, 215, 200, .45), transparent 25rem),
    var(--fr-bg, #fbf7f2);
}

.fr-portfolio-hero-wrap {
  width: min(1280px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(2.5rem, 5vw, 5.5rem);
  align-items: center;
}

.fr-portfolio-hero-copy h1 {
  margin-top: 1rem;
  font-family: "Playfair Display", serif;
  font-size: clamp(3.1rem, 6.4vw, 7.6rem);
  line-height: .92;
  letter-spacing: -.055em;
  color: var(--fr-brown, #3b2a24);
  max-width: 780px;
}

.fr-portfolio-hero-copy p {
  margin-top: 1.45rem;
  max-width: 600px;
  color: var(--fr-text-soft, #6c554c);
  font-size: clamp(1.04rem, 1.16vw, 1.22rem);
  line-height: 1.85;
}

.fr-portfolio-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
  margin-top: 2rem;
}

.fr-primary-btn,
.fr-secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.35rem;
  padding: .9rem 1.45rem;
  border-radius: 999px;
  font-weight: 800;
  transition: transform .35s var(--fr-ease, cubic-bezier(.16, 1, .3, 1)), box-shadow .35s var(--fr-ease, cubic-bezier(.16, 1, .3, 1));
}

.fr-primary-btn {
  color: #fff;
  background: var(--fr-rose, #c98f9b);
  box-shadow: 0 20px 50px rgba(201, 143, 155, .28);
}

.fr-secondary-btn {
  color: var(--fr-brown, #3b2a24);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(216, 167, 177, .38);
}

.fr-primary-btn:hover,
.fr-secondary-btn:hover {
  transform: translateY(-3px);
}

.fr-portfolio-hero-visual {
  position: relative;
  min-height: 620px;
}

.fr-portfolio-hero-img {
  position: absolute;
  overflow: hidden;
  border-radius: 2rem;
  background: #fff;
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 30px 80px rgba(83, 51, 42, .14);
}

.fr-portfolio-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .95s var(--fr-ease, cubic-bezier(.16, 1, .3, 1));
}

.fr-portfolio-hero-img:hover img {
  transform: scale(1.055);
}

.fr-portfolio-hero-img.main {
  left: 0;
  top: 7%;
  width: 62%;
  height: 76%;
}

.fr-portfolio-hero-img.side.top {
  right: 0;
  top: 0;
  width: 43%;
  height: 36%;
}

.fr-portfolio-hero-img.side.mid {
  right: 5%;
  top: 39%;
  width: 38%;
  height: 30%;
}

.fr-portfolio-hero-img.side.bottom {
  right: 12%;
  bottom: 0;
  width: 50%;
  height: 34%;
}

.fr-portfolio-hero-note {
  position: absolute;
  left: 10%;
  bottom: 5%;
  width: min(340px, 80%);
  padding: 1.25rem 1.35rem;
  border-radius: 1.6rem;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(216,167,177,.28);
  box-shadow: 0 24px 70px rgba(83,51,42,.14);
}

.fr-portfolio-hero-note span {
  display: block;
  color: var(--fr-rose, #c98f9b);
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .2em;
  font-weight: 800;
  margin-bottom: .45rem;
}

.fr-portfolio-hero-note strong {
  display: block;
  color: var(--fr-brown, #3b2a24);
  font-family: "Playfair Display", serif;
  font-size: 1.7rem;
  line-height: 1.08;
}

/* Grade de portfólio igual ao estilo aprovado da home */
.fr-portfolio-grid-v9 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
  margin-bottom: clamp(4rem, 6vw, 6rem);
}

.fr-portfolio-card-v9 {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 1.8rem;
  background: #fff;
  box-shadow: 0 20px 60px rgba(83, 51, 42, .08);
  border: 1px solid rgba(216, 167, 177, .16);
  transition: transform .42s var(--fr-ease, cubic-bezier(.16, 1, .3, 1)), box-shadow .42s var(--fr-ease, cubic-bezier(.16, 1, .3, 1));
}

.fr-portfolio-card-v9:hover {
  transform: translateY(-8px);
  box-shadow: 0 32px 80px rgba(83, 51, 42, .13);
}

.fr-portfolio-card-img {
  display: block;
  aspect-ratio: 4 / 4.65;
  overflow: hidden;
  background: #f7eee9;
}

.fr-portfolio-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .78s var(--fr-ease, cubic-bezier(.16, 1, .3, 1));
}

.fr-portfolio-card-v9:hover .fr-portfolio-card-img img {
  transform: scale(1.045);
}

.fr-portfolio-card-body {
  padding: 1.35rem 1.35rem 1.4rem;
}

.fr-portfolio-card-cat {
  margin: 0 0 .55rem;
  color: var(--fr-rose, #c98f9b);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .02em;
}

.fr-portfolio-card-v9 h3 {
  margin: 0;
  color: var(--fr-brown, #3b2a24);
  font-family: "Playfair Display", serif;
  font-size: clamp(1.45rem, 1.75vw, 2rem);
  line-height: 1.08;
}

.fr-portfolio-card-desc {
  min-height: 4.6rem;
  margin: .65rem 0 0;
  color: var(--fr-text-soft, #6c554c);
  line-height: 1.58;
  font-size: .98rem;
}

.fr-portfolio-card-actions {
  display: flex;
  gap: .65rem;
  margin-top: 1.15rem;
}

.fr-card-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: .72rem .85rem;
  border-radius: 999px;
  font-size: .86rem;
  font-weight: 800;
  text-align: center;
  transition: transform .32s var(--fr-ease, cubic-bezier(.16, 1, .3, 1)), background .32s var(--fr-ease, cubic-bezier(.16, 1, .3, 1));
}

.fr-card-btn:hover {
  transform: translateY(-2px);
}

.fr-card-btn-primary {
  background: var(--fr-brown, #3b2a24);
  color: #fff;
}

.fr-card-btn-secondary {
  background: #fff;
  color: var(--fr-brown, #3b2a24);
  border: 1px solid rgba(201, 143, 155, .55);
}

/* Links por ocasião no portfólio, com texto útil para a cliente */
.fr-portfolio-occasion-links {
  padding: clamp(4.5rem, 7vw, 7rem) 1.5rem;
  background:
    radial-gradient(circle at 85% 0%, rgba(244,220,225,.45), transparent 24rem),
    rgba(255,255,255,.68);
}

.fr-portfolio-occasion-wrap {
  width: min(1280px, 100%);
  margin: 0 auto;
}

.fr-portfolio-occasion-head {
  max-width: 780px;
  margin: 0 auto 2.2rem;
  text-align: center;
}

.fr-portfolio-occasion-head h2 {
  margin-top: .8rem;
  color: var(--fr-brown, #3b2a24);
  font-family: "Playfair Display", serif;
  font-size: clamp(2.45rem, 5vw, 5.4rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.fr-portfolio-occasion-head p {
  margin: 1rem auto 0;
  max-width: 640px;
  color: var(--fr-text-soft, #6c554c);
  line-height: 1.75;
  font-size: 1.05rem;
}

.fr-portfolio-occasion-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.fr-portfolio-occasion-grid a {
  display: flex;
  flex-direction: column;
  gap: .6rem;
  min-height: 205px;
  padding: 1.45rem;
  border-radius: 1.6rem;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(216, 167, 177, .26);
  box-shadow: 0 18px 55px rgba(83, 51, 42, .07);
  transition: transform .35s var(--fr-ease, cubic-bezier(.16, 1, .3, 1)), box-shadow .35s var(--fr-ease, cubic-bezier(.16, 1, .3, 1));
}

.fr-portfolio-occasion-grid a:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 75px rgba(83, 51, 42, .11);
}

.fr-portfolio-occasion-grid span {
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--fr-rose-light, #f4dce1);
}

.fr-portfolio-occasion-grid strong {
  color: var(--fr-brown, #3b2a24);
  font-family: "Playfair Display", serif;
  font-size: 1.45rem;
  line-height: 1.05;
}

.fr-portfolio-occasion-grid small {
  color: var(--fr-text-soft, #6c554c);
  line-height: 1.55;
  font-size: .95rem;
}

@media (max-width: 1040px) {
  .fr-portfolio-hero-wrap {
    grid-template-columns: 1fr;
  }

  .fr-portfolio-hero-visual {
    min-height: 560px;
  }

  .fr-portfolio-grid-v9,
  .fr-portfolio-occasion-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .fr-portfolio-hero-v9,
  .fr-portfolio-occasion-links {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .fr-portfolio-hero-visual {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    min-height: auto;
  }

  .fr-portfolio-hero-img,
  .fr-portfolio-hero-img.main,
  .fr-portfolio-hero-img.side.top,
  .fr-portfolio-hero-img.side.mid,
  .fr-portfolio-hero-img.side.bottom {
    position: relative;
    inset: auto;
    width: 100%;
    height: 360px;
  }

  .fr-portfolio-hero-note {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
  }

  .fr-portfolio-grid-v9,
  .fr-portfolio-occasion-grid {
    grid-template-columns: 1fr;
  }

  .fr-portfolio-card-actions {
    flex-direction: column;
  }
}


/* ==========================================================
   AJUSTES V10 — CLIQUES, CONTRASTE E TIPOGRAFIA
   ========================================================== */

/* 1) No portfólio, o WhatsApp flutuante não pode cobrir os botões dos cards */
body.pagina-portfolio .whatsapp-float,
body.pagina-portfolio .whatsapp-floating,
body.pagina-portfolio .floating-whatsapp,
body.pagina-portfolio .whatsapp-button,
body.pagina-portfolio .fixed-whatsapp,
body.pagina-portfolio .btn-whatsapp-flutuante,
body.pagina-portfolio a[href*="wa.me"].fixed,
body.pagina-portfolio a[href*="api.whatsapp.com"].fixed,
body.pagina-portfolio a[href*="whatsapp"].fixed,
body.pagina-portfolio a[href*="wa.me"][class*="fixed"],
body.pagina-portfolio a[href*="api.whatsapp.com"][class*="fixed"],
body.pagina-portfolio a[href*="whatsapp"][class*="fixed"],
body.pagina-portfolio [class*="whatsapp"][class*="fixed"],
body.pagina-portfolio [class*="WhatsApp"][class*="fixed"] {
  display: none !important;
  pointer-events: none !important;
}

/* Garante que os botões dos cards fiquem acima de qualquer camada visual */
.fr-portfolio-card-v9,
.fr-portfolio-card-body,
.fr-portfolio-card-actions,
.fr-portfolio-card-actions a {
  position: relative;
  z-index: 20;
  pointer-events: auto;
}

/* 2) Contraste do orçamento e campos do formulário */
#orcamento,
#form-orcamento {
  color: #3b2a24;
}

#form-orcamento label,
#form-orcamento .form-label,
#form-orcamento legend,
#form-orcamento .field-label,
#form-orcamento [class*="label"] {
  color: #2f211d !important;
  font-weight: 800;
  letter-spacing: .08em;
}

#form-orcamento small,
#form-orcamento .helper-text,
#form-orcamento .text-help,
#form-orcamento .form-help,
#form-orcamento .field-help,
#form-orcamento p.text-sm,
#form-orcamento .text-xs,
#form-orcamento .text-pink-300,
#form-orcamento .text-pink-400,
#form-orcamento .text-rose-300,
#form-orcamento .text-rose-400 {
  color: #8a6259 !important;
}

#form-orcamento input,
#form-orcamento select,
#form-orcamento textarea,
#form-orcamento .form-input {
  color: #3b2a24 !important;
  background-color: rgba(255, 255, 255, .98) !important;
  border-color: rgba(201, 143, 155, .58) !important;
}

#form-orcamento input::placeholder,
#form-orcamento textarea::placeholder {
  color: #b89b94 !important;
  opacity: 1 !important;
}

#form-orcamento input:focus,
#form-orcamento select:focus,
#form-orcamento textarea:focus {
  border-color: #c98f9b !important;
  box-shadow: 0 0 0 4px rgba(201, 143, 155, .16) !important;
  outline: none !important;
}

/* Botões de localização/seleção: texto legível */
#form-orcamento button,
#form-orcamento .option-btn,
#form-orcamento .choice-btn,
#form-orcamento [role="button"],
#form-orcamento label[class*="btn"],
#form-orcamento label[class*="option"] {
  color: #3b2a24 !important;
}

#form-orcamento button.active,
#form-orcamento .active,
#form-orcamento .selected,
#form-orcamento [aria-pressed="true"],
#form-orcamento input:checked + label {
  color: #3b2a24 !important;
  background: #f7dfe4 !important;
  border-color: #c98f9b !important;
}

/* Avisos e caixas informativas */
#form-orcamento .alert,
#form-orcamento .info-box,
#form-orcamento .notice,
#form-orcamento [class*="alert"],
#form-orcamento [class*="notice"],
#form-orcamento [class*="important"],
#form-orcamento [class*="Importante"] {
  color: #5f4038 !important;
  background: #f7dfe4 !important;
  border-color: rgba(201, 143, 155, .38) !important;
}

#form-orcamento .alert *,
#form-orcamento .info-box *,
#form-orcamento .notice *,
#form-orcamento [class*="alert"] *,
#form-orcamento [class*="notice"] *,
#form-orcamento [class*="important"] * {
  color: #5f4038 !important;
}

/* Checkboxes e radios com área visível */
#form-orcamento input[type="checkbox"],
#form-orcamento input[type="radio"] {
  accent-color: #c98f9b;
  min-width: 16px;
  min-height: 16px;
}

/* 3) Tipografia: manter copy forte, mas com leitura melhor */
.fr-model-title,
.fr-portfolio-hero-copy h1,
.fr-editorial-copy h2,
.fr-collection-focus h2,
.fr-support-section h2,
.fr-portfolio-occasion-head h2,
.hero-title,
h1 {
  text-wrap: balance;
}

.fr-model-title,
.hero-title,
#hero h1 {
  max-width: 720px;
  font-size: clamp(2.85rem, 4.55vw, 4.85rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -.04em !important;
}

.fr-portfolio-hero-copy h1 {
  max-width: 760px;
  font-size: clamp(3rem, 5.8vw, 6.6rem) !important;
  line-height: .96 !important;
  letter-spacing: -.05em !important;
}

.fr-editorial-copy h2,
.fr-collection-focus h2,
.fr-support-section h2,
.fr-portfolio-occasion-head h2 {
  font-size: clamp(2.65rem, 4.7vw, 5.35rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.fr-model-subtitle,
.fr-portfolio-hero-copy p,
.fr-editorial-copy p,
.fr-collection-head p,
.fr-support-head p,
.fr-portfolio-occasion-head p {
  max-width: 590px;
  font-size: clamp(.98rem, .98vw, 1.12rem) !important;
  line-height: 1.68 !important;
}

/* Reduz impacto exagerado em telas médias */
@media (max-width: 1024px) {
  .fr-model-title,
  .hero-title,
  #hero h1,
  .fr-portfolio-hero-copy h1 {
    max-width: 720px;
    font-size: clamp(2.75rem, 6.7vw, 4.45rem) !important;
    line-height: 1.03 !important;
  }

  .fr-editorial-copy h2,
  .fr-collection-focus h2,
  .fr-support-section h2,
  .fr-portfolio-occasion-head h2 {
    font-size: clamp(2.55rem, 7vw, 4.8rem) !important;
    line-height: 1 !important;
  }
}

/* Mobile: títulos grandes, mas não gigantes a ponto de ocupar a tela toda */
@media (max-width: 680px) {
  .fr-model-title,
  .hero-title,
  #hero h1,
  .fr-portfolio-hero-copy h1 {
    font-size: clamp(2.45rem, 12vw, 3.85rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.045em !important;
    max-width: 100% !important;
  }

  .fr-editorial-copy h2,
  .fr-collection-focus h2,
  .fr-support-section h2,
  .fr-portfolio-occasion-head h2,
  .fr-occasion-mini h2 {
    font-size: clamp(2.1rem, 10vw, 3.25rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.04em !important;
  }

  .fr-model-subtitle,
  .fr-portfolio-hero-copy p,
  .fr-editorial-copy p,
  .fr-collection-head p,
  .fr-support-head p,
  .fr-portfolio-occasion-head p,
  .fr-occasion-mini p {
    font-size: 1rem !important;
    line-height: 1.68 !important;
  }

  /* Reduz o espaçamento do hero para não parecer um cartaz gigante */
  .fr-model-hero,
  #hero {
    min-height: auto !important;
  }

  #hero .container,
  #hero .max-w-7xl,
  .fr-portfolio-hero-wrap {
    gap: 1.75rem !important;
  }
}

/* Mobile muito estreito */
@media (max-width: 420px) {
  .fr-model-title,
  .hero-title,
  #hero h1,
  .fr-portfolio-hero-copy h1 {
    font-size: clamp(2.25rem, 11vw, 3.25rem) !important;
    line-height: 1.05 !important;
  }

  .fr-editorial-copy h2,
  .fr-collection-focus h2,
  .fr-support-section h2,
  .fr-portfolio-occasion-head h2,
  .fr-occasion-mini h2 {
    font-size: clamp(2rem, 9.5vw, 2.85rem) !important;
  }

  .fr-portfolio-card-actions {
    gap: .5rem;
  }

  .fr-card-btn {
    font-size: .82rem;
    min-height: 2.75rem;
    padding-left: .7rem;
    padding-right: .7rem;
  }
}


/* ==========================================================
   AJUSTE V15 — WHATSAPP FLUTUANTE RESTAURADO
   Mantém o botão flutuante do WhatsApp no site e remove apenas
   o CTA verde que ficava sobreposto aos cards/imagens do portfólio.
   ========================================================== */

.portfolio-whatsapp-cta,
.home-portfolio-grid .portfolio-whatsapp-cta,
#portfolio .portfolio-whatsapp-cta,
#portfolio-destaque .portfolio-whatsapp-cta {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Remove escurecimento/overlay residual causado pelo antigo CTA verde */
.portfolio-card::before,
.portfolio-card::after,
.fr-portfolio-card-v9::before,
.fr-portfolio-card-v9::after,
.home-portfolio-grid .portfolio-card::before,
.home-portfolio-grid .portfolio-card::after {
  pointer-events: none !important;
}

/* Garante que os botões reais dos cards fiquem clicáveis */
.fr-portfolio-card-actions,
.fr-portfolio-card-actions a,
.portfolio-card a,
.portfolio-card button,
.fr-card-btn {
  position: relative;
  z-index: 30;
  pointer-events: auto !important;
}

/* Mantém o botão flutuante do WhatsApp visível no site */
.floating-whatsapp-smart {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* No mobile, o botão flutuante fica menor para não cobrir botões de card */
@media (max-width: 640px) {
  .floating-whatsapp-smart {
    right: .85rem !important;
    bottom: .85rem !important;
    width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    justify-content: center !important;
    z-index: 9997 !important;
  }

  .floating-whatsapp-smart span:not(.float-icon) {
    display: none !important;
  }
}


/* ===== mobile-expert.css ===== */

/* ==========================================================
   FILÓ RENDEIRA — MOBILE EXPERT
   Ajustes focados em celular: leitura, ritmo, toque e performance visual.
   ========================================================== */

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
video {
  max-width: 100%;
}

/* Área de toque mínima mais confortável */
a,
button,
input,
select,
textarea,
[role="button"] {
  -webkit-tap-highlight-color: rgba(201, 143, 155, .18);
}

/* ------------------------------
   TABLET / MOBILE GERAL
------------------------------ */
@media (max-width: 900px) {
  body {
    font-size: 15.5px;
  }

  /* Menos espaçamento vertical para a home não parecer longa demais */
  section,
  .fr-editorial-section,
  .fr-collection-focus,
  .fr-support-section,
  .fr-portfolio-hero-v9,
  .fr-portfolio-occasion-links,
  .fr-occasion-mini {
    padding-top: clamp(2.8rem, 7vw, 4.4rem) !important;
    padding-bottom: clamp(2.8rem, 7vw, 4.4rem) !important;
  }

  /* Header mais compacto */
  header,
  .site-header,
  .main-header,
  nav {
    max-width: 100%;
  }

  header .container,
  header .max-w-7xl,
  header > div {
    min-height: auto !important;
  }

  /* Layouts de duas colunas viram uma coluna com respiro menor */
  .fr-editorial-wrap,
  .fr-collection-head,
  .fr-support-head,
  .fr-portfolio-hero-wrap,
  .fr-occasion-mini-wrap {
    grid-template-columns: 1fr !important;
    gap: 1.45rem !important;
  }

  /* Títulos: fortes, mas sem ocupar a tela inteira */
  #hero h1,
  .hero-title,
  .fr-model-title,
  .fr-portfolio-hero-copy h1 {
    font-size: clamp(2.35rem, 10.5vw, 4.1rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    max-width: 100% !important;
    text-wrap: balance;
  }

  .fr-editorial-copy h2,
  .fr-collection-focus h2,
  .fr-support-section h2,
  .fr-portfolio-occasion-head h2,
  .fr-occasion-mini h2,
  section h2 {
    font-size: clamp(2rem, 9vw, 3.35rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.04em !important;
    text-wrap: balance;
  }

  h3,
  .fr-portfolio-card-v9 h3,
  .fr-lookbook-card h3,
  .fr-support-card h3 {
    font-size: clamp(1.35rem, 6.2vw, 2rem) !important;
    line-height: 1.12 !important;
  }

  p,
  .fr-model-subtitle,
  .fr-portfolio-hero-copy p,
  .fr-editorial-copy p,
  .fr-collection-head p,
  .fr-support-head p,
  .fr-portfolio-occasion-head p,
  .fr-occasion-mini p {
    font-size: .98rem !important;
    line-height: 1.62 !important;
  }

  .fr-mini-label,
  .fr-kicker-pill,
  [class*="kicker"],
  [class*="eyebrow"] {
    font-size: .68rem !important;
    letter-spacing: .16em !important;
  }

  /* Botões mais fáceis de tocar */
  .fr-primary-btn,
  .fr-secondary-btn,
  .fr-card-btn,
  .btn,
  .button,
  button,
  a[class*="btn"] {
    min-height: 46px;
    touch-action: manipulation;
  }

  .fr-portfolio-hero-actions,
  .hero-actions,
  .cta-actions {
    gap: .7rem !important;
  }

  /* Imagens hero e cards com altura controlada */
  .fr-hero-frame {
    border-radius: 1.5rem !important;
    padding: .55rem !important;
  }

  .fr-hero-carousel,
  .fr-hero-carousel img,
  .hero-carousel,
  .hero-carousel img {
    border-radius: 1.15rem !important;
  }

  .fr-hero-carousel,
  .hero-carousel,
  .hero-carousel-shell {
    min-height: auto !important;
    max-height: 520px !important;
  }

  .hero-carousel img,
  .fr-hero-carousel img,
  #hero img {
    max-height: 520px !important;
    object-fit: cover !important;
  }

  /* Composição "Uma peça..." menos alta no celular */
  .fr-editorial-mosaic {
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
  }

  .fr-mosaic-card,
  .fr-mosaic-card.one,
  .fr-mosaic-card.two,
  .fr-mosaic-card.three {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 260px !important;
    border-radius: 1.25rem !important;
  }

  .fr-mosaic-card.one {
    grid-column: 1 / -1;
    height: 340px !important;
  }

  .fr-mosaic-note {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    width: 100% !important;
    grid-column: 1 / -1;
    margin: 0 !important;
    border-radius: 1.25rem !important;
    padding: 1rem !important;
  }

  .fr-mosaic-note strong {
    font-size: 1.25rem !important;
  }

  /* Lookbook com altura menor */
  .fr-lookbook-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .fr-lookbook-card,
  .fr-lookbook-card.big {
    min-height: 390px !important;
    border-radius: 1.35rem !important;
  }

  .fr-lookbook-card div {
    left: 1rem !important;
    right: 1rem !important;
    bottom: 1rem !important;
  }

  /* Cards de apoio e portfólio mais compactos */
  .fr-support-grid,
  .fr-portfolio-grid-v9,
  .fr-portfolio-occasion-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .fr-support-card {
    min-height: auto !important;
    border-radius: 1.35rem !important;
    padding: 1.15rem !important;
  }

  .fr-portfolio-card-v9 {
    border-radius: 1.35rem !important;
  }

  .fr-portfolio-card-img {
    aspect-ratio: 4 / 4.35 !important;
  }

  .fr-portfolio-card-body {
    padding: 1rem !important;
  }

  .fr-portfolio-card-desc {
    min-height: auto !important;
    font-size: .94rem !important;
    line-height: 1.5 !important;
  }

  .fr-portfolio-card-actions {
    gap: .55rem !important;
  }

  .fr-card-btn {
    font-size: .84rem !important;
    min-height: 44px !important;
    padding: .68rem .75rem !important;
  }

  /* Topo do portfólio mais leve no celular */
  .fr-portfolio-hero-visual {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    min-height: auto !important;
    gap: .75rem !important;
  }

  .fr-portfolio-hero-img,
  .fr-portfolio-hero-img.main,
  .fr-portfolio-hero-img.side.top,
  .fr-portfolio-hero-img.side.mid,
  .fr-portfolio-hero-img.side.bottom {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 230px !important;
    border-radius: 1.25rem !important;
  }

  .fr-portfolio-hero-img.main {
    grid-column: 1 / -1;
    height: 340px !important;
  }

  .fr-portfolio-hero-note {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    width: 100% !important;
    grid-column: 1 / -1;
    border-radius: 1.25rem !important;
    padding: 1rem !important;
  }

  .fr-portfolio-hero-note strong {
    font-size: 1.25rem !important;
  }

  /* Orçamento mais usável no celular */
  #orcamento {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  #form-orcamento,
  #orcamento form {
    width: 100% !important;
  }

  #form-orcamento .grid,
  #form-orcamento [class*="grid-cols"],
  #orcamento form .grid,
  #orcamento form [class*="grid-cols"] {
    grid-template-columns: 1fr !important;
  }

  #form-orcamento input,
  #form-orcamento select,
  #form-orcamento textarea {
    min-height: 48px !important;
    font-size: 16px !important; /* evita zoom automático no iPhone */
    border-radius: 1rem !important;
  }

  #form-orcamento label,
  #form-orcamento .form-label,
  #form-orcamento legend {
    font-size: .78rem !important;
    line-height: 1.25 !important;
  }

  #form-orcamento small,
  #form-orcamento .helper-text,
  #form-orcamento .field-help,
  #form-orcamento p {
    font-size: .86rem !important;
    line-height: 1.45 !important;
  }

  #form-orcamento textarea {
    min-height: 130px !important;
  }

  #form-orcamento button,
  #orcamento button,
  #form-orcamento [type="submit"] {
    width: 100%;
    min-height: 50px !important;
  }

  /* Rodapé e seções finais mais compactos */
  footer {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
}

/* ------------------------------
   CELULAR PEQUENO
------------------------------ */
@media (max-width: 560px) {
  body {
    font-size: 15px;
  }

  section,
  .fr-editorial-section,
  .fr-collection-focus,
  .fr-support-section,
  .fr-portfolio-hero-v9,
  .fr-portfolio-occasion-links,
  .fr-occasion-mini {
    padding-top: 2.6rem !important;
    padding-bottom: 2.6rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  #hero,
  .fr-model-hero {
    padding-top: 2.25rem !important;
    padding-bottom: 2.75rem !important;
    min-height: auto !important;
  }

  #hero h1,
  .hero-title,
  .fr-model-title,
  .fr-portfolio-hero-copy h1 {
    font-size: clamp(2.25rem, 10.8vw, 3.35rem) !important;
    line-height: 1.05 !important;
  }

  .fr-editorial-copy h2,
  .fr-collection-focus h2,
  .fr-support-section h2,
  .fr-portfolio-occasion-head h2,
  .fr-occasion-mini h2,
  section h2 {
    font-size: clamp(2rem, 9.6vw, 2.85rem) !important;
    line-height: 1.06 !important;
  }

  .fr-model-subtitle,
  .fr-portfolio-hero-copy p,
  .fr-editorial-copy p,
  .fr-collection-head p,
  .fr-support-head p,
  .fr-portfolio-occasion-head p,
  .fr-occasion-mini p {
    font-size: .96rem !important;
    line-height: 1.58 !important;
  }

  /* Botões principais ocupam largura total quando estão em grupo */
  .fr-portfolio-hero-actions,
  #hero .flex,
  .hero-actions,
  .cta-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .fr-portfolio-hero-actions a,
  #hero .flex a,
  #hero .flex button,
  .hero-actions a,
  .hero-actions button,
  .cta-actions a,
  .cta-actions button {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Cards e imagens ainda menores */
  .fr-mosaic-card,
  .fr-mosaic-card.one,
  .fr-mosaic-card.two,
  .fr-mosaic-card.three,
  .fr-portfolio-hero-img,
  .fr-portfolio-hero-img.main,
  .fr-portfolio-hero-img.side.top,
  .fr-portfolio-hero-img.side.mid,
  .fr-portfolio-hero-img.side.bottom {
    height: 220px !important;
  }

  .fr-mosaic-card.one,
  .fr-portfolio-hero-img.main {
    height: 300px !important;
  }

  .fr-lookbook-card,
  .fr-lookbook-card.big {
    min-height: 345px !important;
  }

  .fr-portfolio-card-img {
    aspect-ratio: 4 / 4.15 !important;
  }

  .fr-portfolio-card-actions {
    flex-direction: row !important;
  }

  .fr-card-btn {
    white-space: normal !important;
  }

  /* Pílulas de ocasião no final da home */
  .fr-occasion-pills {
    gap: .55rem !important;
  }

  .fr-occasion-pills a {
    width: 100%;
    min-height: 44px !important;
    padding: .72rem .9rem !important;
  }

  /* Evita sombras muito pesadas no celular */
  .fr-hero-frame,
  .fr-mosaic-card,
  .fr-lookbook-card,
  .fr-support-card,
  .fr-portfolio-card-v9,
  .fr-portfolio-hero-img {
    box-shadow: 0 14px 38px rgba(83, 51, 42, .09) !important;
  }
}

/* ------------------------------
   CELULAR MUITO ESTREITO
------------------------------ */
@media (max-width: 390px) {
  #hero h1,
  .hero-title,
  .fr-model-title,
  .fr-portfolio-hero-copy h1 {
    font-size: clamp(2.05rem, 10.2vw, 2.85rem) !important;
  }

  .fr-editorial-copy h2,
  .fr-collection-focus h2,
  .fr-support-section h2,
  .fr-portfolio-occasion-head h2,
  .fr-occasion-mini h2,
  section h2 {
    font-size: clamp(1.85rem, 9vw, 2.5rem) !important;
  }

  .fr-card-btn {
    font-size: .78rem !important;
    padding-left: .55rem !important;
    padding-right: .55rem !important;
  }

  .fr-portfolio-card-actions {
    flex-direction: column !important;
  }
}

/* ------------------------------
   PERFORMANCE MOBILE
------------------------------ */
@media (max-width: 768px) {
  .fr-premium-reveal {
    transition-duration: .45s !important;
    transition-delay: 0ms !important;
  }

  .fr-signature-track {
    animation-duration: 48s !important;
  }

  .fr-mosaic-card img,
  .fr-lookbook-card img,
  .fr-portfolio-card-img img,
  .fr-portfolio-hero-img img {
    transition-duration: .45s !important;
  }

  /* Evita efeitos hover “presos” em toque */
  .fr-portfolio-card-v9:hover,
  .fr-support-card:hover,
  .fr-lookbook-card:hover,
  .fr-mosaic-card:hover {
    transform: none !important;
  }

  .fr-portfolio-card-v9:hover img,
  .fr-lookbook-card:hover img,
  .fr-mosaic-card:hover img {
    transform: none !important;
  }
}


/* ==========================================================
   AJUSTE V15 — WHATSAPP FLUTUANTE RESTAURADO
   Mantém o botão flutuante do WhatsApp no site e remove apenas
   o CTA verde que ficava sobreposto aos cards/imagens do portfólio.
   ========================================================== */

.portfolio-whatsapp-cta,
.home-portfolio-grid .portfolio-whatsapp-cta,
#portfolio .portfolio-whatsapp-cta,
#portfolio-destaque .portfolio-whatsapp-cta {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Remove escurecimento/overlay residual causado pelo antigo CTA verde */
.portfolio-card::before,
.portfolio-card::after,
.fr-portfolio-card-v9::before,
.fr-portfolio-card-v9::after,
.home-portfolio-grid .portfolio-card::before,
.home-portfolio-grid .portfolio-card::after {
  pointer-events: none !important;
}

/* Garante que os botões reais dos cards fiquem clicáveis */
.fr-portfolio-card-actions,
.fr-portfolio-card-actions a,
.portfolio-card a,
.portfolio-card button,
.fr-card-btn {
  position: relative;
  z-index: 30;
  pointer-events: auto !important;
}

/* Mantém o botão flutuante do WhatsApp visível no site */
.floating-whatsapp-smart {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* No mobile, o botão flutuante fica menor para não cobrir botões de card */
@media (max-width: 640px) {
  .floating-whatsapp-smart {
    right: .85rem !important;
    bottom: .85rem !important;
    width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    justify-content: center !important;
    z-index: 9997 !important;
  }

  .floating-whatsapp-smart span:not(.float-icon) {
    display: none !important;
  }
}


/* ===== polimento-paginas.css ===== */

/* ==========================================================
   FILÓ RENDEIRA — POLIMENTO VISUAL DE PÁGINAS E SEÇÕES
   Foco: mais encanto, flores delicadas, textos naturais e páginas internas premium.
   ========================================================== */

:root {
  --fr-bg: #fbf7f2;
  --fr-cream: #fffdfb;
  --fr-rose: #c98f9b;
  --fr-rose-2: #d8a7b1;
  --fr-rose-light: #f4dce1;
  --fr-brown: #3b2a24;
  --fr-text-soft: #6c554c;
  --fr-border: rgba(216, 167, 177, .32);
  --fr-ease: cubic-bezier(.16, 1, .3, 1);
}

/* ------------------------------
   HOME: COMO FUNCIONA COM FUNDO FLORAL
------------------------------ */

#como-funciona.fr-floral-steps-section,
#depoimentos.fr-floral-testimonials-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 10% 8%, rgba(244, 220, 225, .72), transparent 20rem),
    radial-gradient(circle at 92% 18%, rgba(234, 215, 200, .55), transparent 23rem),
    linear-gradient(135deg, rgba(255,255,255,.85), rgba(251,247,242,.94) 45%, rgba(244,220,225,.32));
}

#como-funciona.fr-floral-steps-section::before,
#depoimentos.fr-floral-testimonials-section::before {
  content: "✿";
  position: absolute;
  top: 7%;
  right: 6%;
  font-family: "Playfair Display", serif;
  font-size: clamp(8rem, 18vw, 18rem);
  line-height: 1;
  color: rgba(201, 143, 155, .10);
  z-index: -1;
  transform: rotate(-12deg);
  pointer-events: none;
}

#como-funciona.fr-floral-steps-section::after,
#depoimentos.fr-floral-testimonials-section::after {
  content: "❀";
  position: absolute;
  left: 4%;
  bottom: 4%;
  font-family: "Playfair Display", serif;
  font-size: clamp(6rem, 14vw, 14rem);
  line-height: 1;
  color: rgba(216, 167, 177, .11);
  z-index: -1;
  transform: rotate(12deg);
  pointer-events: none;
}

#como-funciona .fr-section-head,
#depoimentos .fr-section-head {
  position: relative;
  align-items: center;
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid rgba(216, 167, 177, .18);
  border-radius: 2rem;
  background: rgba(255,255,255,.46);
  backdrop-filter: blur(10px);
}

#como-funciona .fr-section-head::before,
#depoimentos .fr-section-head::before {
  content: "";
  position: absolute;
  inset: .55rem;
  border: 1px solid rgba(216, 167, 177, .14);
  border-radius: 1.55rem;
  pointer-events: none;
}

#como-funciona .fr-step-grid,
#depoimentos .fr-testimonial-grid {
  position: relative;
  z-index: 2;
}

#como-funciona .fr-step-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(216, 167, 177, .30);
  background:
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,250,248,.78)),
    radial-gradient(circle at 92% 10%, rgba(244,220,225,.55), transparent 8rem);
  box-shadow: 0 22px 65px rgba(83, 51, 42, .08);
}

#como-funciona .fr-step-card::after {
  content: "✿";
  position: absolute;
  right: 1rem;
  top: .65rem;
  color: rgba(201, 143, 155, .18);
  font-size: 2.5rem;
  font-family: "Playfair Display", serif;
  pointer-events: none;
}

#como-funciona .fr-step-card span {
  box-shadow: 0 14px 32px rgba(59, 42, 36, .18);
  background: linear-gradient(135deg, #3b2a24, #6b4a42);
}

#como-funciona .fr-step-card h3 {
  color: var(--fr-brown);
}

#como-funciona .fr-step-card p {
  color: var(--fr-text-soft);
}

/* ------------------------------
   HOME: DEPOIMENTOS COM MAIS PRESENÇA
------------------------------ */

#depoimentos.fr-floral-testimonials-section {
  background:
    radial-gradient(circle at 18% 0%, rgba(244, 220, 225, .62), transparent 20rem),
    radial-gradient(circle at 82% 12%, rgba(255,255,255,.70), transparent 18rem),
    linear-gradient(135deg, #fffdfb, #fbf7f2 52%, rgba(244,220,225,.42));
}

#depoimentos .fr-testimonial-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(216, 167, 177, .30);
  background: rgba(255,255,255,.82);
  box-shadow: 0 24px 70px rgba(83, 51, 42, .08);
}

#depoimentos .fr-testimonial-card::before {
  content: "“";
  position: absolute;
  top: -1rem;
  left: 1.1rem;
  font-family: "Playfair Display", serif;
  font-size: 6rem;
  line-height: 1;
  color: rgba(201, 143, 155, .18);
  pointer-events: none;
}

#depoimentos .fr-testimonial-card::after {
  content: "♡";
  position: absolute;
  right: 1.1rem;
  bottom: .9rem;
  color: rgba(201, 143, 155, .20);
  font-size: 2.2rem;
  pointer-events: none;
}

#depoimentos .fr-testimonial-card p {
  position: relative;
  z-index: 2;
  color: var(--fr-brown);
}

#depoimentos .fr-testimonial-card span {
  position: relative;
  z-index: 2;
  color: #a97870;
}

/* ------------------------------
   PÁGINAS INTERNAS: HERO PREMIUM COM IMAGEM
------------------------------ */

body.fr-inner-page-polished {
  background:
    radial-gradient(circle at 0% 0%, rgba(244,220,225,.45), transparent 22rem),
    radial-gradient(circle at 100% 18%, rgba(234,215,200,.34), transparent 24rem),
    var(--fr-bg);
}

.fr-inner-hero-polished {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 10%, rgba(244,220,225,.62), transparent 22rem),
    linear-gradient(135deg, rgba(255,255,255,.78), rgba(251,247,242,.94));
}

.fr-inner-hero-polished::before {
  content: "✿";
  position: absolute;
  top: 8%;
  right: 8%;
  color: rgba(201,143,155,.12);
  font-family: "Playfair Display", serif;
  font-size: clamp(8rem, 18vw, 18rem);
  transform: rotate(-14deg);
  pointer-events: none;
}

.fr-inner-hero-polished h1 {
  color: var(--fr-brown);
  max-width: 760px;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.fr-inner-hero-polished p {
  color: var(--fr-text-soft);
}

.fr-inner-visual-card {
  position: relative;
  min-height: 480px;
  border-radius: 2.2rem;
  padding: .8rem;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(216,167,177,.28);
  box-shadow: 0 32px 85px rgba(83,51,42,.13);
  overflow: hidden;
}

.fr-inner-visual-img {
  height: 100%;
  min-height: 460px;
  border-radius: 1.65rem;
  overflow: hidden;
  background: #f8eee8;
}

.fr-inner-visual-img img {
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
  display: block;
  transition: transform .85s var(--fr-ease);
}

.fr-inner-visual-card:hover img {
  transform: scale(1.04);
}

.fr-inner-visual-note {
  position: absolute;
  left: 1.6rem;
  right: 1.6rem;
  bottom: 1.6rem;
  padding: 1.15rem 1.25rem;
  border-radius: 1.45rem;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(216,167,177,.28);
  box-shadow: 0 18px 48px rgba(83,51,42,.14);
}

.fr-inner-visual-note span {
  display: block;
  margin-bottom: .45rem;
  color: var(--fr-rose);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .72rem;
  font-weight: 800;
}

.fr-inner-visual-note strong {
  display: block;
  color: var(--fr-brown);
  font-family: "Playfair Display", serif;
  font-size: clamp(1.25rem, 2.2vw, 2rem);
  line-height: 1.08;
}

/* ------------------------------
   PÁGINAS INTERNAS: SEÇÕES MAIS BONITAS
------------------------------ */

.fr-inner-content-polished {
  position: relative;
  overflow: hidden;
}

.fr-inner-content-polished.bg-white,
.fr-inner-content-polished[class*="bg-white"] {
  background:
    radial-gradient(circle at 92% 10%, rgba(244,220,225,.30), transparent 18rem),
    rgba(255,255,255,.74) !important;
}

.fr-inner-content-polished[class*="brand-pink-light"] {
  background:
    radial-gradient(circle at 10% 8%, rgba(244,220,225,.60), transparent 20rem),
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(244,220,225,.34)) !important;
}

.fr-inner-content-polished h2 {
  color: var(--fr-brown);
  text-wrap: balance;
}

.fr-inner-content-polished p,
.fr-inner-content-polished li {
  color: var(--fr-text-soft);
}

.fr-inner-content-polished .premium-card,
.fr-inner-content-polished .faq-item,
.fr-inner-content-polished .rounded-2xl,
.fr-inner-content-polished .rounded-3xl {
  border-color: rgba(216,167,177,.28) !important;
  box-shadow: 0 18px 58px rgba(83,51,42,.07);
}

.fr-inner-content-polished .premium-card:hover,
.fr-inner-content-polished .faq-item:hover {
  transform: translateY(-5px);
}

/* Página de medidas: valoriza o guia visual */
.fr-page-guia-medidas #guia-medidas {
  background:
    radial-gradient(circle at 85% 8%, rgba(244,220,225,.40), transparent 18rem),
    #fffdfb !important;
}

/* Página sobre: bloco de números com mais sofisticação */
.fr-page-sobre section.bg-\[var\(--brand-pink-light\)\],
.fr-page-sobre section[class*="brand-pink-light"] {
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.72), transparent 16rem),
    linear-gradient(135deg, rgba(244,220,225,.58), rgba(251,247,242,.85)) !important;
}

/* Portfolio também recebe acabamento mais consistente */
.fr-page-portfolio-polished .fr-portfolio-hero-v9 {
  background:
    radial-gradient(circle at 12% 10%, rgba(244,220,225,.56), transparent 22rem),
    radial-gradient(circle at 92% 18%, rgba(234,215,200,.36), transparent 24rem),
    #fbf7f2;
}

.fr-page-portfolio-polished .fr-portfolio-occasion-links {
  background:
    radial-gradient(circle at 12% 0%, rgba(244,220,225,.45), transparent 21rem),
    rgba(255,255,255,.74);
}

/* CTA final das páginas */
.fr-inner-page-polished section:last-of-type {
  position: relative;
  overflow: hidden;
}

.fr-inner-page-polished section:last-of-type::before {
  content: "♡";
  position: absolute;
  right: 8%;
  top: 12%;
  font-size: 9rem;
  color: rgba(201,143,155,.10);
  pointer-events: none;
}

/* ------------------------------
   MOBILE
------------------------------ */

@media (max-width: 900px) {
  .fr-inner-visual-card {
    min-height: auto;
    border-radius: 1.55rem;
    padding: .55rem;
  }

  .fr-inner-visual-img,
  .fr-inner-visual-img img {
    min-height: 360px;
  }

  .fr-inner-visual-note {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    border-radius: 1.2rem;
    padding: 1rem;
  }

  #como-funciona .fr-section-head,
  #depoimentos .fr-section-head {
    padding: 1rem;
    border-radius: 1.45rem;
  }

  #como-funciona .fr-section-head::before,
  #depoimentos .fr-section-head::before {
    display: none;
  }
}

@media (max-width: 560px) {
  .fr-inner-visual-img,
  .fr-inner-visual-img img {
    min-height: 300px;
  }

  .fr-inner-visual-note {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    margin-top: .6rem;
  }

  #como-funciona.fr-floral-steps-section::before,
  #depoimentos.fr-floral-testimonials-section::before,
  #como-funciona.fr-floral-steps-section::after,
  #depoimentos.fr-floral-testimonials-section::after {
    opacity: .55;
  }

  #depoimentos .fr-testimonial-card::before {
    font-size: 4.8rem;
  }
}


/* ==========================================================
   AJUSTE V15 — WHATSAPP FLUTUANTE RESTAURADO
   Mantém o botão flutuante do WhatsApp no site e remove apenas
   o CTA verde que ficava sobreposto aos cards/imagens do portfólio.
   ========================================================== */

.portfolio-whatsapp-cta,
.home-portfolio-grid .portfolio-whatsapp-cta,
#portfolio .portfolio-whatsapp-cta,
#portfolio-destaque .portfolio-whatsapp-cta {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Remove escurecimento/overlay residual causado pelo antigo CTA verde */
.portfolio-card::before,
.portfolio-card::after,
.fr-portfolio-card-v9::before,
.fr-portfolio-card-v9::after,
.home-portfolio-grid .portfolio-card::before,
.home-portfolio-grid .portfolio-card::after {
  pointer-events: none !important;
}

/* Garante que os botões reais dos cards fiquem clicáveis */
.fr-portfolio-card-actions,
.fr-portfolio-card-actions a,
.portfolio-card a,
.portfolio-card button,
.fr-card-btn {
  position: relative;
  z-index: 30;
  pointer-events: auto !important;
}

/* Mantém o botão flutuante do WhatsApp visível no site */
.floating-whatsapp-smart {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* No mobile, o botão flutuante fica menor para não cobrir botões de card */
@media (max-width: 640px) {
  .floating-whatsapp-smart {
    right: .85rem !important;
    bottom: .85rem !important;
    width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    justify-content: center !important;
    z-index: 9997 !important;
  }

  .floating-whatsapp-smart span:not(.float-icon) {
    display: none !important;
  }
}


/* ===== filo-otimizacoes.css ===== */
/* Otimizações Filó Rendeira - menu mobile e marca centralizados em arquivo externo. */
/* filo-menu-limpo-v4-css */
/* Menu limpo V4: usa IDs novos para não conflitar com . */
#navbar { z-index: 2147483000 !important; overflow: visible !important; pointer-events: auto !important; }
#navbar .filo-nav-shell {
  width: min(1280px, calc(100vw - 1.5rem)) !important;
  max-width: 1280px !important;
  min-height: 70px !important;
  padding: .82rem .92rem !important;
  border-radius: 1.65rem !important;
  background: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(216,167,177,.28) !important;
  box-shadow: 0 16px 48px rgba(74,55,40,.08) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  gap: .85rem !important;
  overflow: visible !important;
}
#navbar .nav-brand {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: calc(100vw - 7.6rem) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.02 !important;
  color: var(--brand-brown) !important;
}
#navbar .nav-brand-chip {
  display: inline-flex !important;
  margin-top: .22rem !important;
  padding: .13rem .56rem !important;
  border-radius: 999px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: .55rem !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--brand-pink-dark) !important;
  background: rgba(250,218,221,.55) !important;
  border: 1px solid rgba(216,167,177,.28) !important;
}
#navbar #desktop-nav { display: none !important; visibility: hidden !important; pointer-events: none !important; }
#filo-mobile-menu-toggle {
  display: inline-flex !important;
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 58px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(250,218,221,.58) !important;
  border: 1px solid rgba(216,167,177,.42) !important;
  color: var(--brand-brown) !important;
  box-shadow: 0 12px 30px rgba(74,55,40,.08) !important;
  position: relative !important;
  z-index: 2147483002 !important;
  cursor: pointer !important;
}
#filo-mobile-menu-toggle svg { pointer-events: none !important; }
#filo-mobile-menu {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 2147483647 !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: calc(1.25rem + env(safe-area-inset-top)) 1rem calc(1.25rem + env(safe-area-inset-bottom)) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  background: radial-gradient(circle at 20% 12%, rgba(250,218,221,.98), transparent 18rem), linear-gradient(145deg, rgba(255,253,252,.98), rgba(250,249,246,.98)) !important;
}
#filo-mobile-menu.is-open {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
#filo-mobile-menu .filo-mobile-menu-close {
  position: fixed !important;
  top: calc(1rem + env(safe-area-inset-top)) !important;
  right: 1rem !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.95) !important;
  border: 1px solid rgba(216,167,177,.40) !important;
  box-shadow: 0 12px 30px rgba(74,55,40,.12) !important;
  color: var(--brand-brown) !important;
  font-size: 2rem !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}
#filo-mobile-menu .filo-mobile-menu-card {
  width: min(100%, 420px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: .75rem !important;
  padding: 1.35rem !important;
  border-radius: 2rem !important;
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(216,167,177,.28) !important;
  box-shadow: 0 24px 80px rgba(74,55,40,.12) !important;
}
#filo-mobile-menu .filo-mobile-menu-eyebrow {
  margin: 0 0 .25rem !important;
  text-align: center !important;
  font-size: .72rem !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--brand-pink-dark) !important;
}
#filo-mobile-menu a {
  min-height: 48px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-family: Montserrat, sans-serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--brand-brown) !important;
  background: rgba(250,218,221,.34) !important;
  border: 1px solid rgba(216,167,177,.20) !important;
}
#filo-mobile-menu a.filo-mobile-menu-cta {
  color: #fff !important;
  background: var(--brand-pink-dark) !important;
  border-color: var(--brand-pink-dark) !important;
  box-shadow: 0 12px 30px rgba(216,167,177,.30) !important;
}
html.filo-menu-lock, body.filo-menu-lock { overflow: hidden !important; }
@media (max-width: 420px) {
  #navbar { padding-left: .65rem !important; padding-right: .65rem !important; }
  #navbar .filo-nav-shell { width: calc(100vw - 1rem) !important; min-height: 68px !important; padding: .76rem .76rem !important; border-radius: 1.35rem !important; }
  #navbar .nav-brand { font-size: clamp(1.55rem, 7.2vw, 2.15rem) !important; max-width: calc(100vw - 7.1rem) !important; }
  #filo-mobile-menu-toggle { width: 54px !important; height: 54px !important; flex-basis: 54px !important; }
}
@media (min-width: 1280px) {
  #navbar .filo-nav-shell { padding: .75rem 1rem !important; }
  #navbar #desktop-nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(1.05rem, 1.15vw, 1.55rem) !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin-left: clamp(1.2rem, 2.2vw, 2.4rem) !important;
    white-space: nowrap !important;
    font-size: .68rem !important;
    letter-spacing: .16em !important;
  }
  #navbar #desktop-nav > a { white-space: nowrap !important; flex: 0 0 auto !important; }
  #navbar #desktop-nav .nav-contact-icons { display: none !important; }
  #navbar #desktop-nav .nav-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 176px !important;
    padding: .72rem 1.05rem !important;
    border-radius: 999px !important;
    background: var(--brand-pink-dark) !important;
    color: #fff !important;
    text-align: center !important;
  }
  #filo-mobile-menu-toggle { display: none !important; }
}
@media (min-width: 1536px) {
  #navbar #desktop-nav { gap: clamp(1.15rem, 1.25vw, 1.8rem) !important; font-size: .72rem !important; }
  #navbar #desktop-nav .nav-contact-icons { display: inline-flex !important; gap: .55rem !important; }
}

/* filo-logo-single-atelier-final */
/* Correção final da marca: evita corte no nome e garante apenas um selo Atelier. */
#navbar .nav-brand,
#navbar a.nav-brand,
#navbar > .max-w-7xl > a.nav-brand,
#navbar .filo-nav-shell > a.nav-brand {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0 !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  line-height: 1.02 !important;
  padding-right: .35rem !important;
  flex: 0 0 auto !important;
}
#navbar .nav-brand::before,
#navbar .nav-brand::after {
  content: none !important;
  display: none !important;
}
#navbar .nav-brand .nav-brand-chip {
  display: inline-flex !important;
  width: fit-content !important;
  margin-top: .2rem !important;
  padding: .13rem .56rem !important;
  border-radius: 999px !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: .55rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: var(--brand-pink-dark) !important;
  border: 1px solid var(--brand-pink-dark) !important;
  box-shadow: 0 10px 24px rgba(216,167,177,.24) !important;
}
#navbar .nav-brand .nav-brand-chip ~ .nav-brand-chip,
#navbar .nav-brand span:not(.nav-brand-chip) {
  display: none !important;
}
@media (max-width: 560px) {
  #navbar .nav-brand,
  #navbar a.nav-brand,
  #navbar > .max-w-7xl > a.nav-brand,
  #navbar .filo-nav-shell > a.nav-brand {
    min-width: 0 !important;
    max-width: calc(100vw - 6.7rem) !important;
    font-size: clamp(1.38rem, 6.4vw, 1.82rem) !important;
    overflow: visible !important;
    white-space: nowrap !important;
  }
  #navbar .nav-brand .nav-brand-chip {
    font-size: .46rem !important;
    padding: .1rem .42rem !important;
    margin-top: .16rem !important;
  }
}
@media (max-width: 360px) {
  #navbar .nav-brand,
  #navbar a.nav-brand {
    font-size: clamp(1.24rem, 6vw, 1.6rem) !important;
    max-width: calc(100vw - 6.4rem) !important;
  }
}



/* FILÓ RENDEIRA — AJUSTE V37: HERO AUTOMÁTICO E PROPORÇÕES REFINADAS */
.fr-zara-hero {
  min-height: auto !important;
  padding-top: clamp(6rem, 7.2vw, 7rem) !important;
  padding-bottom: clamp(1.8rem, 3.2vw, 3rem) !important;
}

.fr-zara-hero .max-w-7xl {
  max-width: 1480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1.4rem, 3vw, 3rem) !important;
  padding-right: clamp(1.4rem, 3vw, 3rem) !important;
  align-items: end !important;
}

@media (min-width: 1024px) {
  .fr-zara-hero .max-w-7xl {
    grid-template-columns: minmax(390px, .92fr) minmax(520px, 1.08fr) !important;
    gap: clamp(2.25rem, 4vw, 4.5rem) !important;
  }
}

.fr-zara-hero .fr-model-copy {
  padding-bottom: clamp(2rem, 5.4vh, 4rem) !important;
}

.fr-zara-hero .fr-model-title {
  max-width: 640px !important;
  font-size: clamp(3.05rem, 4.35vw, 5.35rem) !important;
  line-height: .965 !important;
}

.fr-zara-hero .fr-model-subtitle {
  max-width: 31rem !important;
  font-size: .93rem !important;
  line-height: 1.78 !important;
}

.fr-zara-hero .fr-hero-visual {
  width: 100% !important;
  max-width: min(56vw, 800px) !important;
  justify-self: end !important;
}

.fr-zara-hero .fr-hero-frame {
  height: clamp(430px, 62vh, 590px) !important;
  min-height: 0 !important;
  max-height: 590px !important;
  padding: 0 !important;
  border-radius: 1.9rem !important;
  overflow: hidden !important;
}

.fr-zara-hero .fr-hero-carousel {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border-radius: 1.9rem !important;
  cursor: default !important;
  touch-action: pan-y !important;
}

.fr-zara-hero .fr-hero-carousel:active,
.fr-zara-hero .fr-hero-carousel.is-dragging {
  cursor: default !important;
}

.fr-zara-hero .hero-slide,
.fr-zara-hero .fr-hero-carousel img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border-radius: 1.9rem !important;
  object-fit: cover !important;
  object-position: center !important;
}

.fr-zara-hero .hero-carousel.is-dragging .hero-slide.active {
  transform: scale(1) !important;
}

.fr-zara-hero .fr-hero-badge {
  left: 1.1rem !important;
  bottom: 1.1rem !important;
  max-width: min(19rem, calc(100% - 2.2rem)) !important;
  border-radius: 1.15rem !important;
  padding: .95rem 1.05rem 1rem !important;
}

.fr-zara-hero .fr-hero-badge strong {
  font-size: clamp(1.28rem, 1.7vw, 1.85rem) !important;
  line-height: .98 !important;
}

.fr-zara-hero .fr-hero-drag-hint {
  display: none !important;
}

.fr-zara-hero .hero-nav {
  position: absolute;
  top: 50%;
  z-index: 7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.65rem;
  height: 2.65rem;
  transform: translateY(-50%);
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.68);
  background: rgba(255,255,255,.78);
  color: #5b4039;
  box-shadow: 0 14px 34px rgba(58,41,36,.12);
  backdrop-filter: blur(14px);
  transition: transform .22s ease, background .22s ease, opacity .22s ease;
}

.fr-zara-hero .hero-nav span {
  display: block;
  margin-top: -.08rem;
  font-size: 1.9rem;
  line-height: 1;
  font-family: Georgia, serif;
}

.fr-zara-hero .hero-nav-prev { left: 1.05rem; }
.fr-zara-hero .hero-nav-next { right: 1.05rem; }

.fr-zara-hero .hero-nav:hover,
.fr-zara-hero .hero-nav:focus-visible {
  background: rgba(255,255,255,.94);
  transform: translateY(-50%) scale(1.04);
  outline: none;
}

.fr-zara-hero .hero-dots {
  top: 1rem !important;
  right: 1rem !important;
}

@media (hover: hover) and (pointer: fine) {
  .fr-zara-hero .hero-nav { opacity: .72; }
  .fr-zara-hero .fr-hero-carousel:hover .hero-nav { opacity: 1; }
}

@media (max-width: 1023px) {
  .fr-zara-hero {
    padding-top: 6.45rem !important;
    padding-bottom: 1.2rem !important;
  }

  .fr-zara-hero .max-w-7xl {
    gap: 1.6rem !important;
  }

  .fr-zara-hero .fr-model-copy {
    padding-bottom: 0 !important;
  }

  .fr-zara-hero .fr-model-title {
    font-size: clamp(2.85rem, 12vw, 4.25rem) !important;
  }

  .fr-zara-hero .fr-hero-visual {
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  .fr-zara-hero .fr-hero-frame {
    height: clamp(395px, 57vh, 545px) !important;
    max-height: 545px !important;
    border-radius: 1.45rem !important;
  }

  .fr-zara-hero .fr-hero-carousel,
  .fr-zara-hero .hero-slide,
  .fr-zara-hero .fr-hero-carousel img {
    border-radius: 1.45rem !important;
  }

  .fr-zara-hero .hero-nav {
    width: 2.45rem;
    height: 2.45rem;
  }

  .fr-zara-hero .hero-nav-prev { left: .75rem; }
  .fr-zara-hero .hero-nav-next { right: .75rem; }
}

@media (max-width: 640px) {
  .fr-zara-hero .fr-hero-frame {
    height: clamp(360px, 52vh, 470px) !important;
    max-height: 470px !important;
  }

  .fr-zara-hero .fr-hero-badge {
    left: .8rem !important;
    bottom: .8rem !important;
    max-width: min(17.5rem, calc(100% - 1.6rem)) !important;
    padding: .85rem .9rem .9rem !important;
  }

  .fr-zara-hero .fr-hero-badge strong {
    font-size: 1.22rem !important;
  }

  .fr-zara-hero .hero-dots {
    top: .75rem !important;
    right: .75rem !important;
  }

  .fr-zara-hero .hero-nav {
    width: 2.25rem;
    height: 2.25rem;
  }

  .fr-zara-hero .hero-nav span {
    font-size: 1.65rem;
  }
}
/* FIM — AJUSTE V37 */


/* ===== site-fixes.css ===== */
/* Filó Rendeira — correções globais de estabilidade, acessibilidade e responsividade. */
:root {
  --brand-pink-soft: #D8A7B1;
  --brand-pink-dark: #9D5D6B;
  --brand-rose-deep: #874B58;
  --brand-pink-light: #F8E7EB;
  --brand-action: #9D5D6B;
  --brand-action-hover: #874B58;
  --focus-ring: #6C4050;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overflow-x: hidden; }
a { color: inherit; }
img, svg, video, canvas { max-width: 100%; }
img { height: auto; }
main, section, article, div, p, h1, h2, h3, h4, h5, h6 { min-width: 0; }
h1, h2, h3, p, a, button, span, label, input, textarea, select { overflow-wrap: anywhere; }
h1 { font-size: clamp(2.25rem, 7vw, 4.8rem); line-height: .98; }
h2 { font-size: clamp(1.8rem, 5vw, 3.35rem); line-height: 1.05; }
h3 { line-height: 1.15; }
.button-primary, .fr-btn-primary, .fr-primary-btn, .nav-cta, .fr-card-btn-primary {
  background: linear-gradient(135deg, var(--brand-action), var(--brand-action-hover)) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.button-outline, .fr-btn-secondary, .fr-secondary-btn, .fr-card-btn-secondary {
  color: var(--brand-action-hover) !important;
  border-color: rgba(157,93,107,.45) !important;
}
.button-primary:hover, .fr-btn-primary:hover, .fr-primary-btn:hover { filter: brightness(.98); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--focus-ring) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(108,64,80,.16) !important;
}
.skip-link, .fr-skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 2147483647;
  transform: translateY(-150%);
  background: #fff;
  color: var(--brand-brown);
  border: 2px solid var(--brand-action);
  border-radius: 999px;
  padding: .75rem 1rem;
  font-weight: 700;
  text-decoration: none;
}
.skip-link:focus, .fr-skip-link:focus { transform: translateY(0); }
.form-error[aria-live] { min-height: 1.25rem; }
.form-error.show { display:block; color:#8f1d2f; font-weight:600; }
.input-error, .form-input.input-error { border-color:#8f1d2f !important; box-shadow:0 0 0 3px rgba(143,29,47,.12) !important; }
.fr-portfolio-grid, .fr-portfolio-grid-v9, .fr-lookbook-grid, .fr-benefits-grid, .fr-support-grid, .fr-step-grid, .fr-testimonial-grid, .seo-gallery, .resumo-card-grid { width:100%; }
.portfolio-card, .fr-portfolio-card, .fr-portfolio-card-v9, .fr-lookbook-card, .piece-card, .premium-card, .fr-benefit-card, .fr-support-card, .seo-card { overflow:hidden; }
.fr-portfolio-card-img, .fr-card-image, .piece-image { background:#f8eef1; }
.hero-slide:not(.active) { pointer-events:none; }
.floating-whatsapp-smart { right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 9995 !important; }
body.cookie-banner-open .floating-whatsapp-smart { bottom: calc(max(1rem, env(safe-area-inset-bottom)) + 5.5rem) !important; }
#cookie-banner { gap: 1rem; }
#cookie-banner a { color: #fff !important; text-decoration: underline; }
#lightbox, #popup, #exit-popup { overscroll-behavior: contain; }
@media (max-width: 767px) {
  .section-padding { padding-left: 1rem !important; padding-right: 1rem !important; }
  .fr-model-copy, .fr-budget-copy, .fr-portfolio-hero-copy, .fr-inner-hero-polished { text-align:left; }
  .fr-model-actions, .fr-portfolio-hero-actions, .fr-section-actions { display:flex; flex-direction:column; align-items:stretch; gap:.75rem; }
  .fr-model-actions a, .fr-portfolio-hero-actions a, .button-primary, .button-outline { width:100%; justify-content:center; text-align:center; }
  .fr-hero-frame, .fr-inner-visual-card, .fr-portfolio-hero-visual { max-width:100%; }
  .fr-budget-form-shell form { padding-left: 1rem !important; padding-right: 1rem !important; }
  #cookie-banner { padding: 1rem !important; align-items:stretch !important; }
  #cookie-banner > div { width:100%; display:grid !important; grid-template-columns:1fr 1fr; }
  .floating-whatsapp-smart { max-width: calc(100vw - 2rem); }
  .floating-whatsapp-smart .float-subtitle { display:none; }
  .fr-benefits-grid, .fr-support-grid, .fr-step-grid, .fr-testimonial-grid, .seo-gallery { grid-template-columns:1fr !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* Correção do bloco de orçamento: centraliza os textos e impede que ultrapassem o contêiner. */
#orcamento .fr-budget-wrap {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  overflow: hidden;
}

#orcamento .fr-budget-copy {
  width: 100%;
  max-width: 34rem;
  margin-inline: auto;
  text-align: center !important;
  align-items: center;
}

#orcamento .fr-budget-copy .fr-mini-label,
#orcamento .fr-budget-copy h2,
#orcamento .fr-budget-copy p,
#orcamento .fr-budget-copy small {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none;
}

#orcamento .fr-budget-copy h2 {
  max-width: 11ch;
  font-size: clamp(2.15rem, 4.1vw, 3.65rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.032em !important;
  text-align: center !important;
  text-wrap: balance;
}

#orcamento .fr-budget-copy p {
  max-width: 30rem;
  text-align: center !important;
  text-wrap: pretty;
}

#orcamento .fr-budget-list {
  width: min(100%, 30rem);
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

#orcamento .fr-budget-form-shell,
#orcamento .fr-budget-form-shell > div {
  min-width: 0;
  max-width: 100%;
}

#orcamento .fr-budget-form-shell .bg-\[var\(--brand-pink-dark\)\] {
  text-align: center !important;
  padding-left: clamp(1.25rem, 4vw, 2rem) !important;
  padding-right: clamp(1.25rem, 4vw, 2rem) !important;
  overflow: hidden;
}

#orcamento .fr-budget-form-shell .bg-\[var\(--brand-pink-dark\)\] h3,
#orcamento .fr-budget-form-shell .bg-\[var\(--brand-pink-dark\)\] p {
  max-width: 34rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  text-wrap: balance;
}

/* No orçamento, a animação passa a subir suavemente em vez de entrar pela lateral,
   evitando que o texto apareça fora do card durante o reveal. */
html.filo-main-motion-ready #orcamento .filo-main-title.filo-main-left:not(.filo-main-visible),
html.filo-main-motion-ready #orcamento .filo-main-title.filo-main-right:not(.filo-main-visible),
html.filo-main-motion-ready #orcamento .filo-main-text.filo-main-left:not(.filo-main-visible),
html.filo-main-motion-ready #orcamento .filo-main-text.filo-main-right:not(.filo-main-visible) {
  transform: translate3d(0, 28px, 0) !important;
}

html.filo-main-motion-ready #orcamento .filo-main-visible {
  transform: translate3d(0, 0, 0) !important;
}

@media (max-width: 1023px) {
  #orcamento .fr-budget-wrap {
    grid-template-columns: 1fr;
  }

  #orcamento .fr-budget-copy {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (max-width: 767px) {
  #orcamento .fr-budget-copy h2 {
    max-width: 10.5ch;
    font-size: clamp(2.05rem, 10vw, 2.85rem) !important;
  }

  #orcamento .fr-budget-form-shell .bg-\[var\(--brand-pink-dark\)\] h3 {
    font-size: clamp(1.55rem, 7vw, 2rem) !important;
  }
}

/* Correção reforçada — banner de cookies/Clarity sempre visível e clicável. */
#cookie-banner[data-cookie-banner],
#cookie-banner {
  box-sizing: border-box !important;
  position: fixed !important;
  left: max(1rem, env(safe-area-inset-left)) !important;
  right: max(1rem, env(safe-area-inset-right)) !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  width: auto !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
  z-index: 2147483000 !important;
  background: var(--brand-brown, #4A3728) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 1.25rem !important;
  padding: 1rem 1.15rem !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.24) !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}

#cookie-banner .fr-cookie-text,
#cookie-banner p {
  flex: 1 1 520px !important;
  max-width: 760px !important;
  margin: 0 !important;
  color: #fff !important;
  opacity: .96 !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

#cookie-banner a {
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: .18em !important;
}

#cookie-banner .fr-cookie-actions,
#cookie-banner > div {
  display: flex !important;
  flex: 0 0 auto !important;
  gap: .7rem !important;
  align-items: center !important;
}

#cookie-banner button {
  appearance: none !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  padding: .72rem 1.15rem !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-size: .84rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#cookie-banner .fr-cookie-accept,
#cookie-banner button[onclick*="acceptCookies"] {
  background: var(--brand-pink-dark, #9D5D6B) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
}

#cookie-banner .fr-cookie-decline,
#cookie-banner button[onclick*="declineCookies"] {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.45) !important;
}

body.cookie-banner-open .floating-whatsapp-smart,
body.cookie-banner-open #back-to-top {
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 767px) {
  #cookie-banner[data-cookie-banner],
  #cookie-banner {
    left: .75rem !important;
    right: .75rem !important;
    bottom: .75rem !important;
    max-height: calc(100vh - 1.5rem) !important;
    overflow-y: auto !important;
    padding: .95rem !important;
    align-items: stretch !important;
  }

  #cookie-banner .fr-cookie-text,
  #cookie-banner p {
    flex-basis: 100% !important;
    max-width: none !important;
    text-align: left !important;
    font-size: .78rem !important;
    line-height: 1.45 !important;
  }

  #cookie-banner .fr-cookie-actions,
  #cookie-banner > div {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  #cookie-banner button {
    width: 100% !important;
    padding-inline: .75rem !important;
  }
}


/* ===== responsivo-global.css ===== */
/* =========================================================
   FILÓ RENDEIRA — RESPONSIVO GLOBAL E PADRONIZAÇÃO
   Base aplicada em todas as páginas públicas.
   Objetivo: home como referência visual + mobile-first real.
   ========================================================= */
:root{
  --fr-container-max:1180px;
  --fr-gutter:clamp(1rem,4vw,2rem);
  --fr-section-y:clamp(3rem,8vw,6rem);
  --fr-card-radius:1.25rem;
  --fr-card-radius-lg:1.6rem;
  --fr-touch-target:48px;
  --fr-nav-height-mobile:88px;
}

html,body{max-width:100%;overflow-x:clip;}
body{min-width:320px;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;}
main,section,header,footer{overflow-x:clip;}
img,video,svg{max-width:100%;}
img{height:auto;display:block;}
a,button,input,select,textarea{touch-action:manipulation;}

.fr-layout-sincronizado main,
.fr-layout-sincronizado #conteudo,
.fr-layout-sincronizado #conteudo-principal{scroll-margin-top:calc(var(--fr-nav-height-mobile) + 1rem);}

.fr-skip-link{position:absolute;left:-9999px;top:0;z-index:2147483647;background:#fff;color:var(--brand-brown,#4A3728);padding:.75rem 1rem;border-radius:999px;font-weight:800;box-shadow:0 14px 35px rgba(74,55,40,.16);}
.fr-skip-link:focus,.fr-skip-link:focus-visible{left:1rem;top:1rem;outline:3px solid rgba(157,93,107,.5);outline-offset:2px;}

.container-shell,.section-container,.fr-container,.max-w-7xl,.max-w-6xl,.max-w-5xl{width:min(100%,calc(100vw - (var(--fr-gutter) * 2)));margin-inline:auto;}
.section-shell{padding-block:var(--fr-section-y);padding-inline:var(--fr-gutter);}
.stack-lg{display:grid;gap:clamp(1rem,2.5vw,2rem);}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,3vw,2rem);}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.5rem);}

/* Header único baseado na home */
#navbar{z-index:2147483000!important;overflow:visible!important;pointer-events:auto!important;}
#navbar .filo-nav-shell{width:min(1280px,calc(100vw - 1.5rem))!important;max-width:1280px!important;min-height:70px!important;padding:.82rem .92rem!important;border-radius:1.65rem!important;background:rgba(255,255,255,.90)!important;border:1px solid rgba(216,167,177,.28)!important;box-shadow:0 16px 48px rgba(74,55,40,.08)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;gap:.85rem!important;overflow:visible!important;}
#navbar .nav-brand{min-width:0!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;line-height:1.02!important;color:var(--brand-brown,#4A3728)!important;}
#navbar #desktop-nav{display:none!important;visibility:hidden!important;pointer-events:none!important;}
#filo-mobile-menu-toggle{min-width:var(--fr-touch-target)!important;min-height:var(--fr-touch-target)!important;}
#filo-mobile-menu a,.filo-mobile-menu-cta{min-height:var(--fr-touch-target)!important;}
html.filo-menu-lock,body.filo-menu-lock{overflow:hidden!important;}

/* Rodapé premium da home em todas as páginas */
.footer-premium{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(250,249,246,.96))!important;color:var(--brand-brown,#4A3728);}
.footer-premium .footer-card{background:rgba(255,255,255,.74)!important;border:1px solid rgba(216,167,177,.32)!important;border-radius:1.8rem!important;box-shadow:0 22px 70px rgba(74,55,40,.08)!important;}
.footer-premium a{word-break:normal;overflow-wrap:anywhere;}
.footer-premium .contact-social-card{min-height:64px;}
.footer-premium .footer-link,.footer-premium a,.contact-social-card{min-height:44px;}

/* Botões e áreas de toque */
.button-primary,.button-outline,.fr-btn-primary,.fr-btn-secondary,.nav-cta,.contact-social-card,.footer-link,.nav-contact-icon,.filo-mobile-menu-card a,button,[role="button"]{min-height:var(--fr-touch-target);}
.fr-model-actions,.fr-portfolio-hero-actions,.hero-actions,.cta-actions,.footer-premium .actions{align-items:center;}

/* Formulário mobile-first */
#form-orcamento label{cursor:pointer;}
#form-orcamento input,#form-orcamento select,#form-orcamento textarea{max-width:100%;}
#form-orcamento .form-error,[id^="erro-"]{min-height:1.05em;}

/* Galerias, carrosséis e cards */
.hero-carousel img,.fr-hero-carousel img,.piece-image img,.fr-portfolio-card-img img,.filo-hero-carousel img{width:100%;height:100%;object-fit:cover;}
.filo-hero-carousel,.fr-hero-frame,.fr-lookbook-card,.fr-support-card,.fr-portfolio-card-v9,.piece-card{isolation:isolate;}

@media (min-width:1280px){
  #navbar #desktop-nav{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(1.05rem,1.15vw,1.55rem)!important;flex:1 1 auto!important;min-width:0!important;margin-left:clamp(1.2rem,2.2vw,2.4rem)!important;white-space:nowrap!important;font-size:.68rem!important;letter-spacing:.16em!important;}
  #navbar #desktop-nav>a{white-space:nowrap!important;flex:0 0 auto!important;}
  #navbar #desktop-nav .nav-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:176px!important;padding:.72rem 1.05rem!important;border-radius:999px!important;background:var(--brand-pink-dark,#D8A7B1)!important;color:#fff!important;text-align:center!important;}
  #filo-mobile-menu-toggle{display:none!important;}
}

@media (max-width:1024px){
  .two-col,.three-col,.grid-cols-2,.grid-cols-3,.grid-cols-4,.md\:grid-cols-2,.md\:grid-cols-3,.lg\:grid-cols-2,.lg\:grid-cols-3{grid-template-columns:1fr!important;}
}

@media (max-width:768px){
  :root{--fr-gutter:clamp(1rem,5vw,1.35rem);--fr-section-y:clamp(2.5rem,10vw,4rem);--fr-nav-height-mobile:82px;}
  #navbar{padding:.7rem .6rem!important;}
  #navbar .filo-nav-shell{width:min(100%,calc(100vw - 1rem))!important;min-height:66px!important;padding:.74rem .78rem!important;border-radius:1.12rem!important;gap:.7rem!important;}
  #navbar .nav-brand{max-width:calc(100vw - 5.4rem)!important;font-size:clamp(1.45rem,6.6vw,1.95rem)!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  #navbar .nav-brand-chip{font-size:.5rem!important;letter-spacing:.12em!important;}
  #filo-mobile-menu-toggle{width:48px!important;height:48px!important;flex:0 0 48px!important;}

  h1{font-size:clamp(2rem,9vw,3rem)!important;line-height:1.06!important;letter-spacing:-.04em!important;}
  h2{font-size:clamp(1.65rem,7vw,2.35rem)!important;line-height:1.08!important;letter-spacing:-.03em!important;}
  h3{font-size:clamp(1.18rem,5.5vw,1.6rem)!important;line-height:1.15!important;}
  p,li,small{line-height:1.62!important;}

  .fr-model-actions,.fr-portfolio-hero-actions,.hero-actions,.cta-actions,.footer-premium .actions{display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important;width:100%!important;}
  .fr-model-actions>a,.fr-model-actions>button,.cta-actions>a,.cta-actions>button,.hero-actions>a,.hero-actions>button,.fr-portfolio-hero-actions>a,.fr-portfolio-hero-actions>button{width:100%!important;justify-content:center!important;text-align:center!important;}

  .footer-premium{padding-top:3.75rem!important;padding-bottom:2rem!important;}
  .footer-premium .footer-card{padding:1.25rem!important;border-radius:1.25rem!important;gap:1.25rem!important;display:grid!important;grid-template-columns:1fr!important;}
  .footer-premium .footer-card>div{min-width:0!important;}
  .footer-premium .contact-social-list{display:grid!important;gap:.75rem!important;}
  .footer-premium .contact-social-card{min-height:60px!important;padding:.9rem 1rem!important;border-radius:1rem!important;}
  .footer-premium .contact-social-card strong{font-size:1rem!important;line-height:1.2!important;}
  .footer-premium .contact-social-card small{font-size:.84rem!important;line-height:1.35!important;}
  .footer-premium .footer-link{min-height:44px!important;align-items:center!important;}
  .footer-premium .button-primary,.footer-premium .button-outline,.footer-premium .fr-btn-primary,.footer-premium .fr-btn-secondary{width:100%!important;justify-content:center!important;}

  #form-orcamento .grid,#form-orcamento [class*="grid-cols"]{grid-template-columns:1fr!important;}
  #form-orcamento input,#form-orcamento select,#form-orcamento textarea{min-height:48px!important;font-size:16px!important;border-radius:1rem!important;}
  #form-orcamento button,#form-orcamento [type="submit"]{width:100%!important;justify-content:center!important;}

  .fr-hero-frame,.fr-lookbook-card,.fr-support-card,.fr-portfolio-card-v9,.piece-card,.filo-hero-carousel{border-radius:1.25rem!important;box-shadow:0 12px 28px rgba(74,55,40,.08)!important;}
  .floating-whatsapp-smart{right:1rem!important;bottom:calc(1rem + env(safe-area-inset-bottom))!important;}
}

@media (max-width:640px){
  .floating-whatsapp-smart{width:56px!important;height:56px!important;padding:0!important;justify-content:center!important;border-radius:999px!important;}
  .floating-whatsapp-smart .float-title,.floating-whatsapp-smart .float-subtitle{display:none!important;}
}

@media (max-width:380px){
  #navbar .nav-brand{font-size:clamp(1.32rem,6.2vw,1.7rem)!important;max-width:calc(100vw - 5.25rem)!important;}
  #navbar .nav-brand-chip{display:none!important;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}
}


/* ===== ui-system-refino.css ===== */
/*
  Filó Rendeira — Refinamento global de UI
  Objetivo: deixar botões, tipografia e cards mais delicados e padronizados
  sem quebrar a estrutura atual do site estático.
*/
:root {
  --fr-text-2xs: clamp(0.72rem, 0.70rem + 0.10vw, 0.78rem);
  --fr-text-xs: clamp(0.80rem, 0.78rem + 0.14vw, 0.88rem);
  --fr-text-sm: clamp(0.90rem, 0.88rem + 0.16vw, 0.98rem);
  --fr-text-md: clamp(1rem, 0.98rem + 0.20vw, 1.08rem);
  --fr-text-lg: clamp(1.10rem, 1.04rem + 0.36vw, 1.24rem);
  --fr-text-xl: clamp(1.30rem, 1.18rem + 0.72vw, 1.68rem);
  --fr-text-2xl: clamp(1.62rem, 1.40rem + 1vw, 2.24rem);
  --fr-text-3xl: clamp(2rem, 1.64rem + 1.7vw, 3.25rem);
  --fr-lh-tight: 1.07;
  --fr-lh-title: 1.15;
  --fr-lh-body: 1.58;
  --fr-track-tight: -0.03em;
  --fr-track-ui: 0.01em;
  --fr-card-radius: 1.35rem;
  --fr-card-radius-inner: 1rem;
  --fr-border-soft: rgba(74,55,40,.12);
  --fr-shadow-soft: 0 14px 30px rgba(74,55,40,.075);
  --fr-shadow-hover: 0 18px 38px rgba(74,55,40,.10);
  --fr-brand-action: #9D5D6B;
  --fr-brand-action-hover: #874B58;
}

html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { font-size: var(--fr-text-sm); line-height: var(--fr-lh-body); }

/* Tipografia mais refinada sem trocar as fontes atuais */
h1, .display-title, .fr-model-title, .fr-portfolio-hero-v9 h1 {
  letter-spacing: var(--fr-track-tight);
  line-height: var(--fr-lh-tight);
}
h2, .section-title, .fr-section-head h2, .fr-faq-title {
  letter-spacing: -0.022em;
  line-height: var(--fr-lh-title);
}
h3, .card-title, .piece-card-title, .fr-portfolio-card h3, .fr-portfolio-card-v9 h3, .related-card h3 {
  letter-spacing: -0.012em;
  line-height: 1.18;
}
.fr-mini-label, .mini-label-premium, .piece-kicker, .piece-card-kicker,
.fr-portfolio-card-cat, .fr-card-copy span, .small-label, .form-label, .footer-link,
.fr-kicker-pill {
  font-size: var(--fr-text-2xs) !important;
  line-height: 1.25 !important;
  letter-spacing: .105em !important;
}
.fr-model-subtitle, .fr-section-actions p, .fr-portfolio-card-desc,
.piece-card-description, .fr-card-copy p, .related-card p, .fr-support-card p {
  font-size: var(--fr-text-sm) !important;
  line-height: 1.55 !important;
}

/* Botões mais delicados: aparência menor, alvo de toque ainda confortável */
.fr-btn-primary, .fr-btn-secondary, .fr-primary-btn, .fr-secondary-btn,
.button-primary, .button-outline, .fr-card-btn, .card-action-btn, .card-link-btn,
.fr-card-copy a, .fr-portfolio-card-actions a, .piece-card-actions a,
.fr-support-card span, .fr-support-cta, .top-filter-btn, .button-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .38rem !important;
  min-height: 42px !important;
  padding: .58rem .98rem !important;
  border-radius: 999px !important;
  font-size: clamp(.78rem, .75rem + .16vw, .86rem) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  width: auto;
  max-width: max-content;
}
.fr-card-btn, .card-action-btn, .card-link-btn,
.fr-card-copy a, .fr-portfolio-card-actions a, .piece-card-actions a {
  min-height: 38px !important;
  padding: .50rem .82rem !important;
  font-size: clamp(.74rem, .72rem + .12vw, .82rem) !important;
  border-radius: 1rem !important;
  font-weight: 650 !important;
}
.fr-btn-primary, .fr-primary-btn, .button-primary:not(.button-outline),
.fr-card-btn-primary, .card-action-btn, .fr-card-copy a:first-child,
.fr-portfolio-card-actions a:first-child, .piece-card-actions a:first-child {
  background: var(--fr-brand-action) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.fr-btn-primary:hover, .fr-primary-btn:hover, .button-primary:not(.button-outline):hover,
.fr-card-btn-primary:hover, .card-action-btn:hover, .fr-card-copy a:first-child:hover,
.fr-portfolio-card-actions a:first-child:hover, .piece-card-actions a:first-child:hover {
  background: var(--fr-brand-action-hover) !important;
}
.fr-btn-secondary, .fr-secondary-btn, .button-outline, .fr-card-btn-secondary,
.card-link-btn, .fr-card-copy a:nth-child(n+2),
.fr-portfolio-card-actions a:nth-child(n+2), .piece-card-actions a:nth-child(n+2) {
  background: rgba(255,255,255,.86) !important;
  color: #4A3728 !important;
  border: 1px solid rgba(157,93,107,.30) !important;
}
.fr-model-actions, .fr-portfolio-hero-actions, .fr-portfolio-card-actions,
.fr-card-copy div, .piece-card-actions, .cta-actions {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  flex-wrap: wrap !important;
}

/* Hero: controles superiores e setas mais delicados */
.fr-zara-hero .hero-dots, .hero-dots {
  top: .8rem !important;
  right: .8rem !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  padding: .34rem .48rem !important;
  gap: .32rem !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.70) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  box-shadow: 0 8px 18px rgba(74,55,40,.06) !important;
  backdrop-filter: blur(10px);
}
.fr-zara-hero .hero-dot, .hero-dot {
  width: .42rem !important;
  height: .42rem !important;
  min-width: .42rem !important;
  min-height: .42rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  opacity: .54 !important;
}
.fr-zara-hero .hero-dot.active, .hero-dot.active {
  width: 1.05rem !important;
  opacity: 1 !important;
}
.hero-nav, .filo-carousel-arrow, .piece-carousel-btn {
  width: 2.75rem !important;
  height: 2.75rem !important;
  min-width: 2.75rem !important;
  min-height: 2.75rem !important;
  font-size: 1.65rem !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  box-shadow: 0 10px 24px rgba(74,55,40,.08) !important;
}

/* Cards de suporte: corrigir “Ver página” quebrado e deixar microcopy delicada */
.fr-support-card {
  min-width: 0 !important;
  display: grid !important;
  align-content: start !important;
  gap: .72rem !important;
}
.fr-support-card strong, .fr-support-card h3 {
  font-size: clamp(1.02rem, .98rem + .22vw, 1.16rem) !important;
  line-height: 1.2 !important;
  letter-spacing: .01em !important;
}
.fr-support-card span, .fr-support-cta {
  justify-self: start !important;
  margin-top: .15rem !important;
  color: var(--fr-brand-action) !important;
  background: transparent !important;
  border: 0 !important;
  min-height: auto !important;
  padding: 0 !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
  max-width: 100% !important;
}

/* Sistema unificado para cards de peça/foto */
.piece-card-unified,
.fr-portfolio-card.piece-card-unified,
.fr-portfolio-card-v9.piece-card-unified,
.related-card.piece-card-unified,
article.related-card {
  display: grid !important;
  gap: .9rem !important;
  background: rgba(255,255,255,.84) !important;
  border: 1px solid var(--fr-border-soft) !important;
  border-radius: var(--fr-card-radius) !important;
  padding: .85rem !important;
  box-shadow: var(--fr-shadow-soft) !important;
  backdrop-filter: blur(10px);
  transition: transform .20s ease, box-shadow .20s ease, border-color .20s ease !important;
  color: #4A3728 !important;
  text-decoration: none !important;
}
.piece-card-unified:hover,
.fr-portfolio-card.piece-card-unified:hover,
.fr-portfolio-card-v9.piece-card-unified:hover,
.related-card.piece-card-unified:hover,
article.related-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(157,93,107,.22) !important;
  box-shadow: var(--fr-shadow-hover) !important;
}
.piece-card-media,
.fr-card-image.piece-card-media,
.fr-portfolio-card-img.piece-card-media,
.related-card .piece-card-media {
  display: block !important;
  border-radius: var(--fr-card-radius-inner) !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 5 !important;
  background: #f6f2ed !important;
  margin: 0 !important;
}
.piece-card-media img,
.fr-card-image.piece-card-media img,
.fr-portfolio-card-img.piece-card-media img,
.related-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.piece-card-body,
.fr-card-copy.piece-card-body,
.fr-portfolio-card-body.piece-card-body,
.related-card .piece-card-body {
  display: grid !important;
  gap: .55rem !important;
  padding: .05rem .15rem .05rem !important;
}
.piece-card-kicker,
.fr-card-copy span.piece-card-kicker,
.fr-portfolio-card-cat.piece-card-kicker,
.related-card .piece-card-kicker {
  margin: 0 !important;
  color: #8C5E6A !important;
  text-transform: uppercase !important;
  font-weight: 750 !important;
}
.piece-card-title,
.fr-card-copy h3.piece-card-title,
.fr-portfolio-card-body h3.piece-card-title,
.related-card h3.piece-card-title {
  margin: 0 !important;
  font-size: clamp(1.02rem, .98rem + .22vw, 1.18rem) !important;
  line-height: 1.18 !important;
  color: #4A3728 !important;
}
.piece-card-description,
.fr-card-copy p.piece-card-description,
.fr-portfolio-card-desc.piece-card-description,
.related-card .piece-card-description {
  margin: 0 !important;
  color: rgba(74,55,40,.78) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.piece-card-actions,
.fr-card-copy .piece-card-actions,
.fr-portfolio-card-actions.piece-card-actions,
.related-card .piece-card-actions {
  padding-top: .18rem !important;
  gap: .5rem !important;
}

/* Portfólio em desktop: cards mais elegantes e consistentes */
.fr-portfolio-grid-v9, .fr-portfolio-grid {
  align-items: stretch;
}
.fr-portfolio-card-v9 .fr-portfolio-card-img,
.fr-portfolio-card .fr-card-image {
  min-height: 0 !important;
}

@media (min-width: 900px) {
  .fr-card-copy div, .fr-portfolio-card-actions, .piece-card-actions {
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 768px) {
  h1, .display-title, .fr-model-title, .fr-portfolio-hero-v9 h1 {
    font-size: clamp(2rem, 8.4vw, 2.75rem) !important;
  }
  h2, .section-title, .fr-section-head h2 {
    font-size: clamp(1.55rem, 6.5vw, 2.1rem) !important;
  }
  .fr-btn-primary, .fr-btn-secondary, .fr-primary-btn, .fr-secondary-btn,
  .button-primary, .button-outline {
    max-width: none !important;
  }
  .fr-model-actions > *, .fr-portfolio-hero-actions > * {
    width: 100% !important;
  }
  .fr-card-copy div, .fr-portfolio-card-actions, .piece-card-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  .fr-card-copy div > *, .fr-portfolio-card-actions > *, .piece-card-actions > * {
    width: 100% !important;
    max-width: none !important;
  }
  .piece-card-unified,
  .fr-portfolio-card.piece-card-unified,
  .fr-portfolio-card-v9.piece-card-unified,
  .related-card.piece-card-unified,
  article.related-card {
    padding: .78rem !important;
    border-radius: 1.2rem !important;
    gap: .78rem !important;
  }
  .piece-card-title,
  .fr-card-copy h3.piece-card-title,
  .fr-portfolio-card-body h3.piece-card-title,
  .related-card h3.piece-card-title {
    font-size: 1.02rem !important;
  }
  .hero-nav, .filo-carousel-arrow, .piece-carousel-btn {
    width: 2.45rem !important;
    height: 2.45rem !important;
    min-width: 2.45rem !important;
    min-height: 2.45rem !important;
    font-size: 1.45rem !important;
  }
  .fr-zara-hero .hero-dots, .hero-dots {
    top: .58rem !important;
    right: .58rem !important;
    padding: .28rem .40rem !important;
  }
}

@media (max-width: 420px) {
  .fr-support-card strong, .fr-support-card h3 {
    font-size: 1rem !important;
  }
  .fr-support-card p {
    font-size: .88rem !important;
  }
  .fr-support-card span, .fr-support-cta {
    font-size: .78rem !important;
  }
}

/*
  Ajuste solicitado — restaurar cards de peça ao padrão anterior mais elegante:
  imagem cheia no topo, corpo em bloco branco, botões proporcionais e categoria sem caixa alta.
  Este bloco fica no final para prevalecer sobre as regras anteriores de refino.
*/
.piece-card-unified,
.fr-portfolio-card.piece-card-unified,
.fr-portfolio-card-v9.piece-card-unified,
.related-card.piece-card-unified,
article.related-card.piece-card-unified,
.piece-related-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(74, 55, 40, .10) !important;
  border-radius: 1.45rem !important;
  box-shadow: 0 16px 34px rgba(74, 55, 40, .075) !important;
  backdrop-filter: none !important;
}

.piece-card-unified:hover,
.fr-portfolio-card.piece-card-unified:hover,
.fr-portfolio-card-v9.piece-card-unified:hover,
.related-card.piece-card-unified:hover,
article.related-card.piece-card-unified:hover,
.piece-related-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(157, 93, 107, .18) !important;
  box-shadow: 0 20px 42px rgba(74, 55, 40, .10) !important;
}

.piece-card-media,
.fr-card-image.piece-card-media,
.fr-portfolio-card-img.piece-card-media,
.related-card .piece-card-media,
.piece-related-card .piece-card-media {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 5 !important;
  background: #f6f2ed !important;
}

.piece-card-media img,
.fr-card-image.piece-card-media img,
.fr-portfolio-card-img.piece-card-media img,
.related-card .piece-card-media img,
.piece-related-card .piece-card-media img,
.related-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

.piece-card-body,
.fr-card-copy.piece-card-body,
.fr-portfolio-card-body.piece-card-body,
.related-card .piece-card-body,
.piece-related-card .piece-card-body {
  display: flex !important;
  flex-direction: column !important;
  gap: .78rem !important;
  padding: 1.35rem 1.35rem 1.35rem !important;
  background: #fff !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.piece-card-kicker,
.fr-card-copy span.piece-card-kicker,
.fr-portfolio-card-cat.piece-card-kicker,
.related-card .piece-card-kicker,
.piece-related-card .piece-card-kicker {
  margin: 0 !important;
  color: #A46B72 !important;
  text-transform: none !important;
  font-size: clamp(.84rem, .80rem + .16vw, .96rem) !important;
  font-weight: 650 !important;
  letter-spacing: .005em !important;
  line-height: 1.25 !important;
}

.piece-card-title,
.fr-card-copy h3.piece-card-title,
.fr-portfolio-card-body h3.piece-card-title,
.related-card h3.piece-card-title,
.piece-related-card h3.piece-card-title {
  margin: 0 !important;
  color: #4A3728 !important;
  font-size: clamp(1.34rem, 1.18rem + .45vw, 1.68rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.018em !important;
}

.piece-card-description,
.fr-card-copy p.piece-card-description,
.fr-portfolio-card-desc.piece-card-description,
.related-card .piece-card-description,
.piece-related-card .piece-card-description {
  margin: 0 !important;
  color: rgba(74, 55, 40, .72) !important;
  font-size: clamp(.96rem, .92rem + .16vw, 1.06rem) !important;
  line-height: 1.55 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.piece-card-actions,
.fr-card-copy .piece-card-actions,
.fr-portfolio-card-actions.piece-card-actions,
.related-card .piece-card-actions,
.piece-related-card .piece-card-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: .65rem !important;
  width: 100% !important;
  padding-top: .32rem !important;
  flex-wrap: nowrap !important;
}

.piece-card-actions a,
.fr-card-copy .piece-card-actions a,
.fr-portfolio-card-actions.piece-card-actions a,
.related-card .piece-card-actions a,
.piece-related-card .piece-card-actions a,
.card-action-btn,
.card-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: .74rem 1.05rem !important;
  border-radius: 999px !important;
  font-size: clamp(.86rem, .82rem + .12vw, .94rem) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  max-width: none !important;
  width: auto !important;
}

.piece-card-actions a:first-child,
.fr-card-copy .piece-card-actions a:first-child,
.fr-portfolio-card-actions.piece-card-actions a:first-child,
.related-card .piece-card-actions a:first-child,
.piece-related-card .piece-card-actions a:first-child,
.card-action-btn {
  flex: 1 1 48% !important;
  background: #3F2A22 !important;
  color: #fff !important;
  border: 1px solid #3F2A22 !important;
}

.piece-card-actions a:first-child:hover,
.fr-card-copy .piece-card-actions a:first-child:hover,
.fr-portfolio-card-actions.piece-card-actions a:first-child:hover,
.related-card .piece-card-actions a:first-child:hover,
.piece-related-card .piece-card-actions a:first-child:hover,
.card-action-btn:hover {
  background: #2F1D17 !important;
  border-color: #2F1D17 !important;
}

.piece-card-actions a:nth-child(n+2),
.fr-card-copy .piece-card-actions a:nth-child(n+2),
.fr-portfolio-card-actions.piece-card-actions a:nth-child(n+2),
.related-card .piece-card-actions a:nth-child(n+2),
.piece-related-card .piece-card-actions a:nth-child(n+2),
.card-link-btn {
  flex: 1 1 52% !important;
  background: #fff !important;
  color: #4A3728 !important;
  border: 1px solid rgba(157, 93, 107, .30) !important;
}

.piece-card-actions a:nth-child(n+2):hover,
.fr-card-copy .piece-card-actions a:nth-child(n+2):hover,
.fr-portfolio-card-actions.piece-card-actions a:nth-child(n+2):hover,
.related-card .piece-card-actions a:nth-child(n+2):hover,
.piece-related-card .piece-card-actions a:nth-child(n+2):hover,
.card-link-btn:hover {
  border-color: rgba(157, 93, 107, .48) !important;
  background: rgba(255, 249, 249, .95) !important;
}

@media (max-width: 768px) {
  .piece-card-unified,
  .fr-portfolio-card.piece-card-unified,
  .fr-portfolio-card-v9.piece-card-unified,
  .related-card.piece-card-unified,
  article.related-card.piece-card-unified,
  .piece-related-card {
    padding: 0 !important;
    border-radius: 1.35rem !important;
  }

  .piece-card-body,
  .fr-card-copy.piece-card-body,
  .fr-portfolio-card-body.piece-card-body,
  .related-card .piece-card-body,
  .piece-related-card .piece-card-body {
    padding: 1.25rem 1.2rem 1.25rem !important;
    gap: .72rem !important;
  }

  .piece-card-title,
  .fr-card-copy h3.piece-card-title,
  .fr-portfolio-card-body h3.piece-card-title,
  .related-card h3.piece-card-title,
  .piece-related-card h3.piece-card-title {
    font-size: clamp(1.32rem, 6.1vw, 1.62rem) !important;
  }

  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions.piece-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: .62rem !important;
  }

  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions.piece-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a,
  .card-action-btn,
  .card-link-btn {
    width: auto !important;
    max-width: none !important;
    min-height: 44px !important;
    padding: .70rem .90rem !important;
    font-size: .88rem !important;
  }
}

@media (max-width: 360px) {
  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions.piece-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions {
    flex-direction: column !important;
  }
  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions.piece-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
}


/* === FILO: CARDS REFERENCIA PORTFOLIO 2026-05-10 === */
/*
  Ajuste solicitado: usar como referência global o padrão visual dos cards da página /portfolio/.
  Objetivo: imagem cheia no topo, corpo claro, categoria delicada, título com presença,
  descrição igual à lógica do portfólio e botões no mesmo padrão da home/portfolio.
*/
.piece-card-unified,
.fr-portfolio-card.piece-card-unified,
.fr-portfolio-card-v9.piece-card-unified,
.portfolio-card.piece-card-unified,
.related-card.piece-card-unified,
article.related-card.piece-card-unified,
.piece-related-card,
.fr-portfolio-grid .fr-portfolio-card,
.fr-portfolio-grid-v9 .portfolio-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fffdfb !important;
  border: 1px solid rgba(216,167,177,.24) !important;
  border-radius: 1.8rem !important;
  box-shadow: 0 18px 48px rgba(83,51,42,.08) !important;
  isolation: isolate !important;
  backdrop-filter: none !important;
}

.piece-card-unified::before,
.piece-card-unified::after,
.fr-portfolio-card.piece-card-unified::before,
.fr-portfolio-card.piece-card-unified::after,
.fr-portfolio-card-v9.piece-card-unified::before,
.fr-portfolio-card-v9.piece-card-unified::after,
.related-card.piece-card-unified::before,
.related-card.piece-card-unified::after,
.piece-related-card::before,
.piece-related-card::after {
  content: none !important;
  display: none !important;
}

.piece-card-unified:hover,
.fr-portfolio-card.piece-card-unified:hover,
.fr-portfolio-card-v9.piece-card-unified:hover,
.portfolio-card.piece-card-unified:hover,
.related-card.piece-card-unified:hover,
.piece-related-card:hover,
.fr-portfolio-grid .fr-portfolio-card:hover,
.fr-portfolio-grid-v9 .portfolio-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(216,167,177,.34) !important;
  box-shadow: 0 22px 56px rgba(83,51,42,.10) !important;
}

.piece-card-media,
.fr-card-image.piece-card-media,
.fr-portfolio-card-img.piece-card-media,
.related-card .piece-card-media,
.piece-related-card .piece-card-media,
.fr-portfolio-grid .fr-card-image,
.fr-portfolio-grid-v9 .fr-portfolio-card-img {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 4.75 !important;
  background: #f9eee9 !important;
  position: relative !important;
}

.piece-card-media::after,
.fr-card-image.piece-card-media::after,
.fr-portfolio-card-img.piece-card-media::after,
.fr-portfolio-grid-v9 .fr-portfolio-card-img::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 26% !important;
  background: linear-gradient(180deg, transparent, rgba(59,42,36,.06)) !important;
  pointer-events: none !important;
}

.piece-card-media img,
.fr-card-image.piece-card-media img,
.fr-portfolio-card-img.piece-card-media img,
.related-card .piece-card-media img,
.piece-related-card .piece-card-media img,
.related-card img,
.fr-portfolio-grid .fr-card-image img,
.fr-portfolio-grid-v9 .fr-portfolio-card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
  filter: none !important;
  opacity: 1 !important;
}

.piece-card-body,
.fr-card-copy.piece-card-body,
.fr-portfolio-card-body.piece-card-body,
.related-card .piece-card-body,
.piece-related-card .piece-card-body,
.fr-portfolio-grid .fr-card-copy,
.fr-portfolio-grid-v9 .fr-portfolio-card-body {
  display: flex !important;
  flex-direction: column !important;
  gap: .72rem !important;
  padding: 1.25rem 1.25rem 1.28rem !important;
  background: radial-gradient(circle at 92% 0%, rgba(244,220,225,.24), transparent 8rem), linear-gradient(180deg, #fffdfb 0%, #fff8fa 100%) !important;
  color: #3b2a24 !important;
  border-top: 1px solid rgba(216,167,177,.18) !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.piece-card-kicker,
.fr-card-copy span.piece-card-kicker,
.fr-portfolio-card-cat.piece-card-kicker,
.related-card .piece-card-kicker,
.piece-related-card .piece-card-kicker,
.fr-portfolio-grid .fr-card-copy span,
.fr-portfolio-grid-v9 .fr-portfolio-card-cat {
  margin: 0 !important;
  color: #b77986 !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
  font-size: .82rem !important;
  line-height: 1.2 !important;
}

.piece-card-title,
.fr-card-copy h3.piece-card-title,
.fr-portfolio-card-body h3.piece-card-title,
.related-card h3.piece-card-title,
.piece-related-card h3.piece-card-title,
.fr-portfolio-grid .fr-card-copy h3,
.fr-portfolio-grid-v9 .fr-portfolio-card-body h3 {
  margin: 0 !important;
  color: #3b2a24 !important;
  font-family: var(--font-display, Georgia, 'Times New Roman', serif) !important;
  font-size: clamp(1.55rem, 1.8vw, 2.05rem) !important;
  line-height: 1.07 !important;
  letter-spacing: -.02em !important;
}

.piece-card-description,
.fr-card-copy p.piece-card-description,
.fr-portfolio-card-desc,
.fr-portfolio-card-desc.piece-card-description,
.related-card .piece-card-description,
.piece-related-card .piece-card-description,
.fr-portfolio-grid .fr-card-copy p:not(.piece-card-kicker),
.fr-portfolio-grid-v9 .fr-portfolio-card-desc {
  margin: 0 !important;
  color: rgba(59,42,36,.68) !important;
  min-height: auto !important;
  font-size: .96rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.piece-card-actions,
.fr-card-copy .piece-card-actions,
.fr-portfolio-card-actions.piece-card-actions,
.related-card .piece-card-actions,
.piece-related-card .piece-card-actions,
.fr-portfolio-grid .fr-card-copy .piece-card-actions,
.fr-portfolio-grid-v9 .fr-portfolio-card-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: .65rem !important;
  width: 100% !important;
  margin-top: .34rem !important;
  padding-top: 0 !important;
}

.piece-card-actions a,
.fr-card-copy .piece-card-actions a,
.fr-portfolio-card-actions.piece-card-actions a,
.related-card .piece-card-actions a,
.piece-related-card .piece-card-actions a,
.fr-card-btn,
.card-action-btn,
.card-link-btn,
.fr-portfolio-grid .fr-card-copy .piece-card-actions a,
.fr-portfolio-grid-v9 .fr-portfolio-card-actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.85rem !important;
  padding: .72rem 1rem !important;
  border-radius: 999px !important;
  font-size: .85rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  max-width: none !important;
  width: auto !important;
  position: relative !important;
  z-index: 4 !important;
}

.piece-card-actions a:first-child,
.fr-card-copy .piece-card-actions a:first-child,
.fr-portfolio-card-actions.piece-card-actions a:first-child,
.related-card .piece-card-actions a:first-child,
.piece-related-card .piece-card-actions a:first-child,
.fr-card-btn-primary,
.card-action-btn,
.fr-portfolio-grid .fr-card-copy .piece-card-actions a:first-child,
.fr-portfolio-grid-v9 .fr-portfolio-card-actions a:first-child {
  flex: 1 1 48% !important;
  background: #3b2a24 !important;
  color: #fff !important;
  border: 1px solid #3b2a24 !important;
}

.piece-card-actions a:nth-child(n+2),
.fr-card-copy .piece-card-actions a:nth-child(n+2),
.fr-portfolio-card-actions.piece-card-actions a:nth-child(n+2),
.related-card .piece-card-actions a:nth-child(n+2),
.piece-related-card .piece-card-actions a:nth-child(n+2),
.fr-card-btn-secondary,
.card-link-btn,
.fr-portfolio-grid .fr-card-copy .piece-card-actions a:nth-child(n+2),
.fr-portfolio-grid-v9 .fr-portfolio-card-actions a:nth-child(n+2) {
  flex: 1 1 52% !important;
  background: rgba(255,255,255,.94) !important;
  color: #3b2a24 !important;
  border: 1px solid rgba(201,143,155,.46) !important;
}

.piece-card-actions a:hover,
.fr-card-copy .piece-card-actions a:hover,
.fr-portfolio-card-actions.piece-card-actions a:hover,
.related-card .piece-card-actions a:hover,
.piece-related-card .piece-card-actions a:hover,
.fr-card-btn:hover,
.card-action-btn:hover,
.card-link-btn:hover {
  transform: translateY(-1px) !important;
}

@media (max-width: 768px) {
  .piece-card-unified,
  .fr-portfolio-card.piece-card-unified,
  .fr-portfolio-card-v9.piece-card-unified,
  .portfolio-card.piece-card-unified,
  .related-card.piece-card-unified,
  .piece-related-card,
  .fr-portfolio-grid .fr-portfolio-card,
  .fr-portfolio-grid-v9 .portfolio-card {
    border-radius: 1.55rem !important;
  }

  .piece-card-body,
  .fr-card-copy.piece-card-body,
  .fr-portfolio-card-body.piece-card-body,
  .related-card .piece-card-body,
  .piece-related-card .piece-card-body,
  .fr-portfolio-grid .fr-card-copy,
  .fr-portfolio-grid-v9 .fr-portfolio-card-body {
    padding: 1.28rem 1.28rem 1.34rem !important;
    gap: .78rem !important;
  }

  .piece-card-title,
  .fr-card-copy h3.piece-card-title,
  .fr-portfolio-card-body h3.piece-card-title,
  .related-card h3.piece-card-title,
  .piece-related-card h3.piece-card-title,
  .fr-portfolio-grid .fr-card-copy h3,
  .fr-portfolio-grid-v9 .fr-portfolio-card-body h3 {
    font-size: clamp(1.55rem, 7vw, 1.95rem) !important;
    line-height: 1.08 !important;
  }

  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions.piece-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions,
  .fr-portfolio-grid .fr-card-copy .piece-card-actions,
  .fr-portfolio-grid-v9 .fr-portfolio-card-actions {
    gap: .65rem !important;
  }

  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions.piece-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a,
  .fr-card-btn,
  .card-action-btn,
  .card-link-btn,
  .fr-portfolio-grid .fr-card-copy .piece-card-actions a,
  .fr-portfolio-grid-v9 .fr-portfolio-card-actions a {
    min-height: 2.75rem !important;
    font-size: .84rem !important;
    padding: .70rem .86rem !important;
  }
}

@media (max-width: 360px) {
  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions.piece-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions,
  .fr-portfolio-grid .fr-card-copy .piece-card-actions,
  .fr-portfolio-grid-v9 .fr-portfolio-card-actions {
    flex-direction: column !important;
  }

  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions.piece-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a,
  .fr-card-btn,
  .card-action-btn,
  .card-link-btn {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
}


/* ===== piece-card-canonico.css ===== */
/*
  FILÓ RENDEIRA — CARD CANÔNICO DE PEÇA
  Padrão global para toda vitrine de roupa: home, portfólio, páginas internas e peças relacionadas.
  Objetivo: foto full-bleed no topo, sem moldura branca interna, corpo do card abaixo e botões consistentes.
*/
:root {
  --piece-card-radius: 1.9rem;
  --piece-card-bg: #fffdfb;
  --piece-card-body-bg: linear-gradient(180deg, #fffdfb 0%, #fff8fa 100%);
  --piece-card-border: rgba(216, 167, 177, .25);
  --piece-card-shadow: 0 18px 48px rgba(83, 51, 42, .08);
  --piece-card-shadow-hover: 0 22px 56px rgba(83, 51, 42, .11);
  --piece-card-title: #3b2a24;
  --piece-card-text: rgba(59, 42, 36, .72);
  --piece-card-muted: #a6786f;
  --piece-card-primary: #3b2a24;
  --piece-card-primary-hover: #4a322b;
  --piece-card-outline: rgba(201, 143, 155, .58);
  --piece-ratio: 4 / 4.75;
  --piece-pos: 50% 28%;
}

/* Card: uma única anatomia visual para qualquer roupa exibida como opção */
article.piece-card-unified,
article.fr-portfolio-card.piece-card-unified,
article.fr-portfolio-card-v9.piece-card-unified,
article.portfolio-card.piece-card-unified,
article.related-card.piece-card-unified,
article.piece-related-card,
.fr-portfolio-grid article,
.fr-portfolio-grid-v9 article.portfolio-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--piece-card-bg) !important;
  border: 1px solid var(--piece-card-border) !important;
  border-radius: var(--piece-card-radius) !important;
  box-shadow: var(--piece-card-shadow) !important;
  color: var(--piece-card-title) !important;
  isolation: isolate !important;
  position: relative !important;
  text-decoration: none !important;
  transform: translateZ(0) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

article.piece-card-unified::before,
article.piece-card-unified::after,
article.fr-portfolio-card-v9::before,
article.fr-portfolio-card-v9::after,
article.related-card::before,
article.related-card::after,
article.piece-related-card::before,
article.piece-related-card::after {
  content: none !important;
  display: none !important;
}

article.piece-card-unified:hover,
article.fr-portfolio-card.piece-card-unified:hover,
article.fr-portfolio-card-v9.piece-card-unified:hover,
article.portfolio-card.piece-card-unified:hover,
article.related-card.piece-card-unified:hover,
article.piece-related-card:hover,
.fr-portfolio-grid article:hover,
.fr-portfolio-grid-v9 article.portfolio-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(216, 167, 177, .38) !important;
  box-shadow: var(--piece-card-shadow-hover) !important;
}

/* Mídia: foto colada no topo e preenchendo 100% da largura do card */
.piece-card-unified > .piece-card-media,
.piece-card-unified .piece-card-media,
.fr-card-image.piece-card-media,
.fr-portfolio-card-img.piece-card-media,
.fr-portfolio-card-img,
.fr-card-image,
.related-card .piece-card-media,
.piece-related-card .piece-card-media {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  aspect-ratio: var(--piece-ratio) !important;
  background: #f7eee9 !important;
  position: relative !important;
  line-height: 0 !important;
  flex: 0 0 auto !important;
}

.piece-card-unified > .piece-card-media::after,
.piece-card-unified .piece-card-media::after,
.fr-portfolio-card-img::after,
.fr-card-image::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 24% !important;
  background: linear-gradient(180deg, transparent, rgba(59, 42, 36, .045)) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.piece-card-unified .piece-card-media picture,
.piece-card-unified .piece-card-media img,
.fr-card-image picture,
.fr-card-image img,
.fr-portfolio-card-img picture,
.fr-portfolio-card-img img,
.related-card .piece-card-media picture,
.related-card .piece-card-media img,
.piece-related-card .piece-card-media picture,
.piece-related-card .piece-card-media img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.piece-card-unified .piece-card-media img,
.fr-card-image img,
.fr-portfolio-card-img img,
.related-card .piece-card-media img,
.piece-related-card .piece-card-media img {
  object-fit: cover !important;
  object-position: var(--piece-pos) !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Corpo: bloco inferior separado da foto, com o mesmo refinamento em todo o site */
.piece-card-body,
.fr-card-copy.piece-card-body,
.fr-portfolio-card-body.piece-card-body,
.fr-card-copy,
.fr-portfolio-card-body,
.related-card .piece-card-body,
.piece-related-card .piece-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  gap: .74rem !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 1.32rem 1.32rem 1.42rem !important;
  background: var(--piece-card-body-bg) !important;
  border-top: 1px solid rgba(216, 167, 177, .18) !important;
  color: var(--piece-card-title) !important;
}

.piece-card-kicker,
.fr-portfolio-card-cat,
.fr-card-copy span.piece-card-kicker,
.fr-portfolio-card-body .piece-card-kicker,
.related-card .piece-card-kicker,
.piece-related-card .piece-card-kicker {
  margin: 0 !important;
  color: var(--piece-card-muted) !important;
  font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: clamp(.82rem, .78rem + .16vw, .94rem) !important;
  font-weight: 650 !important;
  line-height: 1.22 !important;
  letter-spacing: .005em !important;
  text-transform: none !important;
}

.piece-card-title,
.fr-card-copy h3,
.fr-card-copy h3.piece-card-title,
.fr-portfolio-card-body h3,
.fr-portfolio-card-body h3.piece-card-title,
.related-card h3,
.related-card h3.piece-card-title,
.piece-related-card h3,
.piece-related-card h3.piece-card-title {
  margin: .12rem 0 0 !important;
  color: var(--piece-card-title) !important;
  font-family: var(--font-display, 'Playfair Display', Georgia, 'Times New Roman', serif) !important;
  font-size: clamp(1.42rem, 1.12rem + .95vw, 1.9rem) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

.piece-card-description,
.fr-portfolio-card-desc,
.fr-card-copy p.piece-card-description,
.fr-card-copy p:not(.piece-card-kicker),
.fr-portfolio-card-body p.fr-portfolio-card-desc,
.related-card .piece-card-description,
.piece-related-card .piece-card-description {
  margin: 0 !important;
  color: var(--piece-card-text) !important;
  font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: clamp(.95rem, .90rem + .18vw, 1.04rem) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
  min-height: 4.55rem !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Ações: dois botões consistentes, sem quebrar texto */
.piece-card-actions,
.fr-card-copy .piece-card-actions,
.fr-portfolio-card-actions,
.fr-portfolio-card-actions.piece-card-actions,
.related-card .piece-card-actions,
.piece-related-card .piece-card-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: .70rem !important;
  width: 100% !important;
  margin: .20rem 0 0 !important;
  padding: 0 !important;
}

.piece-card-actions a,
.fr-card-copy .piece-card-actions a,
.fr-portfolio-card-actions a,
.related-card .piece-card-actions a,
.piece-related-card .piece-card-actions a,
.fr-card-btn,
.card-action-btn,
.card-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.78rem !important;
  padding: .72rem .95rem !important;
  border-radius: 999px !important;
  font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: .86rem !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-decoration: none !important;
  max-width: none !important;
  position: relative !important;
  z-index: 2 !important;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

.piece-card-actions a:first-child,
.fr-card-copy .piece-card-actions a:first-child,
.fr-portfolio-card-actions a:first-child,
.related-card .piece-card-actions a:first-child,
.piece-related-card .piece-card-actions a:first-child,
.fr-card-btn-primary,
.card-action-btn {
  flex: 1 1 46% !important;
  background: var(--piece-card-primary) !important;
  color: #fff !important;
  border: 1px solid var(--piece-card-primary) !important;
}

.piece-card-actions a:nth-child(n+2),
.fr-card-copy .piece-card-actions a:nth-child(n+2),
.fr-portfolio-card-actions a:nth-child(n+2),
.related-card .piece-card-actions a:nth-child(n+2),
.piece-related-card .piece-card-actions a:nth-child(n+2),
.fr-card-btn-secondary,
.card-link-btn {
  flex: 1 1 54% !important;
  background: rgba(255, 255, 255, .96) !important;
  color: var(--piece-card-primary) !important;
  border: 1px solid var(--piece-card-outline) !important;
}

.piece-card-actions a:hover,
.fr-card-copy .piece-card-actions a:hover,
.fr-portfolio-card-actions a:hover,
.related-card .piece-card-actions a:hover,
.piece-related-card .piece-card-actions a:hover,
.fr-card-btn:hover,
.card-action-btn:hover,
.card-link-btn:hover {
  transform: translateY(-1px) !important;
}

.piece-card-actions a:first-child:hover,
.fr-card-btn-primary:hover,
.card-action-btn:hover {
  background: var(--piece-card-primary-hover) !important;
}

/* Grids: cards da mesma altura e sem sobras estranhas */
.fr-portfolio-grid,
.fr-portfolio-grid-v9,
.related-grid,
.related-pieces-grid,
.pieces-grid,
.portfolio-grid {
  align-items: stretch !important;
}

.fr-portfolio-grid > *,
.fr-portfolio-grid-v9 > *,
.related-grid > *,
.related-pieces-grid > *,
.pieces-grid > *,
.portfolio-grid > * {
  min-width: 0 !important;
}

@media (max-width: 768px) {
  :root {
    --piece-card-radius: 1.55rem;
    --piece-ratio: 4 / 4.25;
    --piece-pos: 50% 26%;
  }

  article.piece-card-unified,
  article.fr-portfolio-card.piece-card-unified,
  article.fr-portfolio-card-v9.piece-card-unified,
  article.portfolio-card.piece-card-unified,
  article.related-card.piece-card-unified,
  article.piece-related-card {
    border-radius: var(--piece-card-radius) !important;
  }

  .piece-card-body,
  .fr-card-copy.piece-card-body,
  .fr-portfolio-card-body.piece-card-body,
  .fr-card-copy,
  .fr-portfolio-card-body,
  .related-card .piece-card-body,
  .piece-related-card .piece-card-body {
    padding: 1.28rem 1.25rem 1.35rem !important;
    gap: .76rem !important;
  }

  .piece-card-title,
  .fr-card-copy h3,
  .fr-portfolio-card-body h3,
  .related-card h3,
  .piece-related-card h3 {
    font-size: clamp(1.45rem, 6.4vw, 1.85rem) !important;
    line-height: 1.08 !important;
  }

  .piece-card-description,
  .fr-portfolio-card-desc,
  .fr-card-copy p.piece-card-description,
  .fr-card-copy p:not(.piece-card-kicker),
  .fr-portfolio-card-body p.fr-portfolio-card-desc,
  .related-card .piece-card-description,
  .piece-related-card .piece-card-description {
    font-size: .96rem !important;
    line-height: 1.56 !important;
    min-height: 4.55rem !important;
  }

  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions {
    gap: .62rem !important;
  }

  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a,
  .fr-card-btn,
  .card-action-btn,
  .card-link-btn {
    min-height: 2.75rem !important;
    padding: .70rem .78rem !important;
    font-size: .84rem !important;
  }
}

@media (max-width: 380px) {
  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions {
    flex-direction: column !important;
  }

  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a,
  .fr-card-btn,
  .card-action-btn,
  .card-link-btn {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
}


/* ===== geo-seo.css ===== */
/* Filó Rendeira — camada GEO/SEO semântico: guia de compra infantil e links editoriais */
.geo-guide-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 10%,rgba(250,218,221,.88),transparent 24rem),linear-gradient(135deg,#fffdfc 0%,#faf9f6 70%,#fff 100%);padding-top:9rem;padding-bottom:5rem}
.geo-guide-shell{width:min(1180px,calc(100vw - 2rem));margin:0 auto}
.geo-eyebrow{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(216,167,177,.34);background:rgba(255,255,255,.72);border-radius:999px;padding:.55rem .85rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--brand-pink-dark,#d8a7b1)}
.geo-guide-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,7vw,6.8rem);line-height:.94;letter-spacing:-.045em;color:var(--brand-brown,#4a3728);margin:.95rem 0 1.1rem}
.geo-guide-lead{font-size:clamp(1.05rem,1.45vw,1.25rem);line-height:1.85;max-width:760px;color:rgba(74,55,40,.78)}
.geo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.geo-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.geo-card{background:rgba(255,255,255,.84);border:1px solid rgba(216,167,177,.25);border-radius:1.65rem;box-shadow:0 24px 70px rgba(74,55,40,.08);padding:1.35rem}
.geo-card strong,.geo-card h3{color:var(--brand-brown,#4a3728)}
.geo-section{padding:5rem 0}
.geo-section h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;letter-spacing:-.03em;color:var(--brand-brown,#4a3728)}
.geo-section h3{font-family:'Playfair Display',serif;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.15;margin-bottom:.7rem;color:var(--brand-brown,#4a3728)}
.geo-section p,.geo-section li{line-height:1.75;color:rgba(74,55,40,.78)}
.geo-pill-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.1rem}.geo-pill-list span{border-radius:999px;background:rgba(250,218,221,.44);border:1px solid rgba(216,167,177,.28);padding:.52rem .78rem;font-size:.82rem;font-weight:700;color:rgba(74,55,40,.78)}
.geo-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:1.25rem;border:1px solid rgba(216,167,177,.24);background:white}.geo-table th,.geo-table td{padding:1rem;border-bottom:1px solid rgba(216,167,177,.18);text-align:left;vertical-align:top}.geo-table th{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-pink-dark,#d8a7b1);background:rgba(250,218,221,.24)}.geo-table tr:last-child td{border-bottom:0}
.geo-answer{border-left:4px solid var(--brand-pink-dark,#d8a7b1);padding:1rem 1.2rem;background:rgba(250,218,221,.18);border-radius:0 1.25rem 1.25rem 0;margin:1rem 0;color:rgba(74,55,40,.82)}
.geo-home-callout{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(250,218,221,.24));border:1px solid rgba(216,167,177,.24);border-radius:2rem;box-shadow:0 28px 80px rgba(74,55,40,.08);padding:clamp(1.4rem,3vw,2.4rem)}
.geo-home-mini{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--brand-pink-dark,#d8a7b1)}
.geo-cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.35rem}.geo-cta-row a{text-decoration:none}
@media(max-width:900px){.geo-grid,.geo-grid-2{grid-template-columns:1fr}.geo-guide-hero{padding-top:7.5rem}.geo-section{padding:3.8rem 0}.geo-table{font-size:.92rem}.geo-table th,.geo-table td{padding:.85rem}}


/* ===== filo-v2.css ===== */
/* Filó Rendeira 2026 — sistema visual unificado para catálogo sob encomenda. */
:root {
  --fr-rose-900: #733d4b;
  --fr-rose-800: #874b5a;
  --fr-rose-700: #9d5d6b;
  --fr-rose-500: #c98c98;
  --fr-rose-300: #e3bcc4;
  --fr-rose-100: #f4e3e6;
  --fr-cream: #fbf8f4;
  --fr-paper: #fffdfb;
  --fr-ink: #352724;
  --fr-muted: #705f59;
  --fr-gold: #b79761;
  --fr-line: rgba(115, 61, 75, .16);
  --fr-shadow-sm: 0 12px 34px rgba(53, 39, 36, .08);
  --fr-shadow-lg: 0 28px 80px rgba(53, 39, 36, .13);
  --fr-radius-sm: 16px;
  --fr-radius-md: 24px;
  --fr-radius-lg: 36px;
  --brand-offwhite: var(--fr-cream);
  --brand-pink-light: var(--fr-rose-100);
  --brand-pink-dark: var(--fr-rose-700);
  --brand-brown: var(--fr-ink);
}

html { scroll-padding-top: 116px; }
body.fr-v2 {
  margin: 0;
  background: var(--fr-cream);
  color: var(--fr-ink);
  font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
body.fr-v2::before {
  content: "";
  position: fixed;
  inset: 0 0 auto;
  height: 5px;
  z-index: 2147483646;
  background: linear-gradient(90deg, var(--fr-rose-900), var(--fr-rose-500), var(--fr-gold));
}
body.fr-v2 h1,
body.fr-v2 h2,
body.fr-v2 h3,
body.fr-v2 .font-serif { font-family: "Playfair Display", Georgia, serif; }
body.fr-v2 img { max-width: 100%; }
body.fr-v2 a { text-underline-offset: .2em; }

/* Navegação única. */
#navbar.fr2-navbar {
  position: fixed !important;
  inset: 0 0 auto !important;
  z-index: 2147483000 !important;
  padding: 17px clamp(14px, 3vw, 40px) 0 !important;
  pointer-events: none;
}
.fr2-nav-shell {
  width: min(1320px, 100%);
  min-height: 76px;
  margin: 0 auto;
  padding: 10px 12px 10px 22px;
  display: flex;
  align-items: center;
  gap: 22px;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 24px;
  background: rgba(255, 253, 251, .92);
  box-shadow: 0 18px 60px rgba(53, 39, 36, .11);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  pointer-events: auto;
}
.fr2-brand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--fr-ink) !important;
  text-decoration: none !important;
}
.fr2-brand-mark {
  width: 47px;
  height: 47px;
  display: grid;
  place-items: center;
  border-radius: 15px 15px 15px 4px;
  color: #fff;
  background: linear-gradient(145deg, var(--fr-rose-800), var(--fr-rose-500));
  font: italic 700 29px/1 "Playfair Display", serif;
  box-shadow: 0 10px 22px rgba(135, 75, 90, .24);
}
.fr2-brand-copy { display: grid; line-height: 1.03; }
.fr2-brand-copy strong { font: italic 700 clamp(20px, 2vw, 27px)/1 "Playfair Display", serif; }
.fr2-brand-copy small { margin-top: 6px; color: var(--fr-rose-700); font-size: 9px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.fr2-nav-links {
  margin-left: auto;
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(12px, 1.35vw, 25px);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.fr2-nav-links > a,
.fr2-nav-links summary {
  padding: 10px 0;
  color: var(--fr-ink) !important;
  text-decoration: none !important;
  cursor: pointer;
  white-space: nowrap;
}
.fr2-nav-links > a:hover,
.fr2-nav-links summary:hover { color: var(--fr-rose-700) !important; }
.fr2-nav-dropdown { position: relative; }
.fr2-nav-dropdown summary { list-style: none; }
.fr2-nav-dropdown summary::-webkit-details-marker { display: none; }
.fr2-nav-dropdown summary::after { content: "⌄"; margin-left: 6px; color: var(--fr-rose-700); }
.fr2-nav-dropdown-panel {
  position: absolute;
  top: calc(100% + 13px);
  left: 50%;
  width: 246px;
  padding: 10px;
  display: grid;
  gap: 3px;
  transform: translateX(-50%);
  border: 1px solid var(--fr-line);
  border-radius: 19px;
  background: #fff;
  box-shadow: var(--fr-shadow-lg);
}
.fr2-nav-dropdown-panel a {
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--fr-ink) !important;
  text-decoration: none !important;
  font-size: 12px;
  letter-spacing: .02em;
  text-transform: none;
}
.fr2-nav-dropdown-panel a:hover { background: var(--fr-rose-100); color: var(--fr-rose-900) !important; }
.fr2-nav-cta {
  min-height: 48px;
  padding: 0 19px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  color: #fff !important;
  background: var(--fr-rose-800);
  box-shadow: 0 12px 25px rgba(135, 75, 90, .22);
}
.fr2-menu-toggle {
  display: none;
  width: 52px;
  height: 52px;
  margin-left: auto;
  place-items: center;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  color: var(--fr-ink);
  background: var(--fr-rose-100);
  cursor: pointer;
}
.fr2-menu-toggle span,
.fr2-menu-toggle::before,
.fr2-menu-toggle::after { content: ""; width: 22px; height: 2px; display: block; border-radius: 2px; background: currentColor; }
.fr2-menu-toggle span { margin: 5px 0; }
.fr2-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  padding: 28px 18px;
  display: none;
  overflow-y: auto;
  background: linear-gradient(145deg, #fffdfb, #f6e8ea);
}
.fr2-mobile-menu.is-open { display: block; }
.fr2-mobile-head { width: min(520px, 100%); margin: 0 auto 22px; display: flex; align-items: center; justify-content: space-between; }
.fr2-mobile-close { width: 50px; height: 50px; border: 1px solid var(--fr-line); border-radius: 16px; color: var(--fr-ink); background: #fff; font-size: 28px; cursor: pointer; }
.fr2-mobile-links { width: min(520px, 100%); margin: auto; display: grid; gap: 9px; }
.fr2-mobile-links > a,
.fr2-mobile-links summary { min-height: 52px; padding: 0 18px; display: flex; align-items: center; border: 1px solid var(--fr-line); border-radius: 15px; color: var(--fr-ink); background: rgba(255,255,255,.72); text-decoration: none; font-weight: 700; }
.fr2-mobile-links details[open] summary { border-radius: 15px 15px 0 0; background: var(--fr-rose-100); }
.fr2-mobile-sub { padding: 8px; display: grid; gap: 5px; border: 1px solid var(--fr-line); border-top: 0; border-radius: 0 0 15px 15px; background: #fff; }
.fr2-mobile-sub a { padding: 10px 12px; color: var(--fr-muted); text-decoration: none; }
.fr2-mobile-links .fr2-mobile-cta { justify-content: center; color: #fff; background: var(--fr-rose-800); }
html.fr2-menu-lock { overflow: hidden; }

/* Unificação visual de componentes existentes. */
body.fr-v2 .button-primary,
body.fr-v2 .fr-btn-primary,
body.fr-v2 .fr-card-btn-primary,
body.fr-v2 .card-action-btn {
  min-height: 48px;
  padding: 13px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--fr-rose-800) !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: var(--fr-rose-800) !important;
  box-shadow: 0 12px 26px rgba(135, 75, 90, .2) !important;
  font-family: Montserrat, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .04em;
  text-decoration: none !important;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
body.fr-v2 .button-primary:hover,
body.fr-v2 .fr-btn-primary:hover,
body.fr-v2 .fr-card-btn-primary:hover,
body.fr-v2 .card-action-btn:hover { transform: translateY(-2px); background: var(--fr-rose-900) !important; box-shadow: 0 17px 34px rgba(135,75,90,.27) !important; }
body.fr-v2 .button-outline,
body.fr-v2 .fr-btn-secondary,
body.fr-v2 .fr-card-btn-secondary,
body.fr-v2 .card-link-btn {
  min-height: 48px;
  padding: 13px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--fr-line) !important;
  border-radius: 14px !important;
  color: var(--fr-rose-900) !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none !important;
}
body.fr-v2 .button-outline:hover,
body.fr-v2 .fr-btn-secondary:hover,
body.fr-v2 .fr-card-btn-secondary:hover,
body.fr-v2 .card-link-btn:hover { border-color: var(--fr-rose-500) !important; background: var(--fr-rose-100) !important; }
body.fr-v2 .premium-card,
body.fr-v2 .piece-card,
body.fr-v2 .fr-benefit-card,
body.fr-v2 .fr-support-card,
body.fr-v2 .related-card,
body.fr-v2 .faq-item {
  border: 1px solid var(--fr-line) !important;
  border-radius: var(--fr-radius-md) !important;
  background: rgba(255, 253, 251, .92) !important;
  box-shadow: var(--fr-shadow-sm) !important;
}
body.fr-v2 .fr-kicker-pill,
body.fr-v2 .fr-mini-label,
body.fr-v2 .mini-label-premium,
body.fr-v2 .piece-kicker,
body.fr-v2 .seo-kicker,
body.fr-v2 .geo-eyebrow {
  color: var(--fr-rose-800) !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .17em !important;
}

/* Página inicial e catálogo. */
body.fr-v2 .fr-model-hero { padding-top: clamp(132px, 13vw, 178px) !important; background: radial-gradient(circle at 80% 14%, rgba(227,188,196,.5), transparent 35%), linear-gradient(180deg, #fffdfb, var(--fr-cream)); }
body.fr-v2 .fr-model-title { max-width: 11ch; color: var(--fr-ink); font-size: clamp(44px, 6.2vw, 88px); line-height: .96; letter-spacing: -.045em; }
body.fr-v2 .fr-model-subtitle { max-width: 600px; color: var(--fr-muted); font-size: clamp(16px, 1.5vw, 20px); }
body.fr-v2 .fr-hero-frame { border: 9px solid rgba(255,255,255,.8); border-radius: 36px 36px 36px 10px; box-shadow: var(--fr-shadow-lg); }
body.fr-v2 .fr-signature-strip { background: var(--fr-ink) !important; color: #fff; }
body.fr-v2 .fr-model-section,
body.fr-v2 .section-padding { position: relative; }
body.fr-v2 .fr-section-head h2,
body.fr-v2 .fr-benefits-head h2,
body.fr-v2 .fr-support-head h2 { color: var(--fr-ink); font-size: clamp(34px, 4.6vw, 62px); line-height: 1.02; letter-spacing: -.03em; }
body.fr-v2 .portfolio-grid { align-items: stretch; }
body.fr-v2 .portfolio-card,
body.fr-v2 .piece-card-unified,
body.fr-v2 .fr-portfolio-card-v9 {
  overflow: hidden;
  border: 1px solid var(--fr-line) !important;
  border-radius: 24px 24px 24px 8px !important;
  background: var(--fr-paper) !important;
  box-shadow: var(--fr-shadow-sm) !important;
  transition: transform .25s ease, box-shadow .25s ease;
}
body.fr-v2 .portfolio-card:hover,
body.fr-v2 .piece-card-unified:hover { transform: translateY(-5px); box-shadow: var(--fr-shadow-lg) !important; }
body.fr-v2 .piece-card-media,
body.fr-v2 .fr-portfolio-card-img { overflow: hidden; background: #efe9e5; }
body.fr-v2 .piece-card-media img,
body.fr-v2 .fr-portfolio-card-img img { transition: transform .55s ease; }
body.fr-v2 .portfolio-card:hover img { transform: scale(1.035); }
body.fr-v2 .piece-card-kicker,
body.fr-v2 .fr-portfolio-card-cat { color: var(--fr-rose-700) !important; }
body.fr-v2 .piece-card-title { color: var(--fr-ink) !important; font-size: clamp(21px, 2vw, 28px) !important; line-height: 1.08 !important; }
body.fr-v2 .piece-card-description { color: var(--fr-muted) !important; }
body.fr-v2 .portfolio-filter-btn { border: 1px solid var(--fr-line) !important; color: var(--fr-ink) !important; background: #fff !important; }
body.fr-v2 .portfolio-filter-btn.active { color: #fff !important; background: var(--fr-rose-800) !important; }

/* Vitrine de guias. */
.fr2-guide-showcase { padding: clamp(70px, 8vw, 120px) 24px; background: linear-gradient(140deg, var(--fr-ink), #51393b); color: #fff; }
.fr2-guide-wrap { width: min(1240px, 100%); margin: auto; }
.fr2-guide-head { margin-bottom: 34px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr); gap: 28px; align-items: end; }
.fr2-guide-head h2 { margin: 8px 0 0; max-width: 760px; color: #fff; font-size: clamp(38px, 5vw, 68px); line-height: .98; letter-spacing: -.035em; }
.fr2-guide-head p { margin: 0; color: rgba(255,255,255,.72); }
.fr2-guide-label { color: var(--fr-rose-300); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.fr2-guide-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.fr2-guide-card { min-height: 240px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(255,255,255,.13); border-radius: 23px 23px 23px 7px; color: #fff; background: rgba(255,255,255,.07); text-decoration: none; transition: transform .2s ease, background .2s ease; }
.fr2-guide-card:hover { transform: translateY(-4px); background: rgba(255,255,255,.12); }
.fr2-guide-card span { color: var(--fr-rose-300); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.fr2-guide-card h3 { margin: auto 0 14px; color: #fff; font-size: 27px; line-height: 1.05; }
.fr2-guide-card strong { font-size: 12px; letter-spacing: .05em; }
.fr2-guide-all { margin-top: 25px; display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 700; }

/* Guias editoriais. */
.fr2-guide-hero { padding: 158px 24px 78px; background: radial-gradient(circle at 85% 15%, rgba(227,188,196,.6), transparent 30%), linear-gradient(180deg, #fffdfb, #f8edef); }
.fr2-guide-hero-inner { width: min(1120px, 100%); margin: auto; }
.fr2-breadcrumbs { margin-bottom: 28px; display: flex; flex-wrap: wrap; gap: 8px; color: var(--fr-muted); font-size: 12px; }
.fr2-breadcrumbs a { color: var(--fr-rose-800); }
.fr2-guide-hero h1 { max-width: 950px; margin: 12px 0 22px; font-size: clamp(43px, 7vw, 82px); line-height: .98; letter-spacing: -.045em; }
.fr2-guide-deck { max-width: 790px; margin: 0; color: var(--fr-muted); font-size: clamp(17px, 2vw, 22px); }
.fr2-guide-meta { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 8px; }
.fr2-guide-meta span { padding: 8px 11px; border: 1px solid var(--fr-line); border-radius: 999px; color: var(--fr-rose-800); background: rgba(255,255,255,.7); font-size: 11px; font-weight: 700; }
.fr2-article-shell { width: min(1120px, calc(100% - 36px)); margin: 0 auto; padding: 72px 0 95px; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: clamp(38px, 7vw, 90px); align-items: start; }
.fr2-article { min-width: 0; }
.fr2-article h2 { margin: 2.4em 0 .55em; font-size: clamp(31px, 4vw, 47px); line-height: 1.06; letter-spacing: -.025em; }
.fr2-article h2:first-child { margin-top: 0; }
.fr2-article h3 { margin: 1.7em 0 .4em; font-size: 25px; line-height: 1.15; }
.fr2-article p { color: #544540; font-size: 17px; line-height: 1.82; }
.fr2-article ul,
.fr2-article ol { margin: 1.3rem 0; padding-left: 1.3rem; color: #544540; }
.fr2-article li { margin: .55rem 0; padding-left: .25rem; }
.fr2-article-callout { margin: 30px 0; padding: 25px; border-left: 4px solid var(--fr-gold); border-radius: 0 19px 19px 0; background: #f7f0e7; }
.fr2-article-callout strong { display: block; margin-bottom: 6px; color: var(--fr-ink); font-family: "Playfair Display", serif; font-size: 22px; }
.fr2-article-aside { position: sticky; top: 118px; display: grid; gap: 15px; }
.fr2-aside-card { padding: 21px; border: 1px solid var(--fr-line); border-radius: 21px; background: #fff; box-shadow: var(--fr-shadow-sm); }
.fr2-aside-card h2,
.fr2-aside-card h3 { margin: 0 0 10px; font-size: 23px; line-height: 1.1; }
.fr2-aside-card p { margin: 0 0 15px; color: var(--fr-muted); font-size: 13px; line-height: 1.6; }
.fr2-aside-links { display: grid; gap: 8px; }
.fr2-aside-links a { padding: 10px 0; border-bottom: 1px solid var(--fr-line); color: var(--fr-rose-800); font-size: 13px; font-weight: 700; text-decoration: none; }
.fr2-article-faq { margin-top: 68px; }
.fr2-article-faq details { margin: 10px 0; padding: 0 20px; border: 1px solid var(--fr-line); border-radius: 17px; background: #fff; }
.fr2-article-faq summary { padding: 18px 0; color: var(--fr-ink); font-weight: 700; cursor: pointer; }
.fr2-article-faq p { margin: 0 0 20px; font-size: 15px; }
.fr2-guide-index { padding: 160px 24px 100px; background: linear-gradient(180deg, #fffdfb, var(--fr-cream)); }
.fr2-guide-index-inner { width: min(1240px, 100%); margin: auto; }
.fr2-guide-index h1 { max-width: 860px; margin: 12px 0 18px; font-size: clamp(48px, 7vw, 86px); line-height: .96; letter-spacing: -.045em; }
.fr2-guide-index-lead { max-width: 720px; margin: 0 0 48px; color: var(--fr-muted); font-size: 19px; }
.fr2-guide-index-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.fr2-guide-index-card { min-height: 300px; padding: 27px; display: flex; flex-direction: column; border: 1px solid var(--fr-line); border-radius: 25px 25px 25px 8px; color: var(--fr-ink); background: #fff; box-shadow: var(--fr-shadow-sm); text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; }
.fr2-guide-index-card:hover { transform: translateY(-5px); box-shadow: var(--fr-shadow-lg); }
.fr2-guide-index-card span { color: var(--fr-rose-700); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.fr2-guide-index-card h2 { margin: auto 0 14px; font-size: 31px; line-height: 1.04; }
.fr2-guide-index-card p { margin: 0 0 22px; color: var(--fr-muted); font-size: 14px; }
.fr2-guide-index-card strong { color: var(--fr-rose-800); font-size: 12px; }

/* FAQ completa. */
.fr2-faq-section { padding: 78px 24px 105px; background: var(--fr-cream); }
.fr2-faq-wrap { width: min(1080px, 100%); margin: auto; }
.fr2-faq-intro { max-width: 730px; margin: 0 auto 42px; text-align: center; }
.fr2-faq-intro h2 { margin: 8px 0 14px; font-size: clamp(40px, 5.5vw, 66px); line-height: 1; }
.fr2-faq-intro p { color: var(--fr-muted); }
.fr2-faq-category { margin-top: 44px; }
.fr2-faq-category h3 { margin-bottom: 15px; color: var(--fr-rose-800); font: 700 13px/1.2 Montserrat, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.fr2-faq-list { display: grid; gap: 10px; }
.fr2-faq-list details { padding: 0 22px; border: 1px solid var(--fr-line); border-radius: 17px; background: #fff; box-shadow: 0 8px 24px rgba(53,39,36,.045); }
.fr2-faq-list summary { padding: 20px 30px 20px 0; position: relative; color: var(--fr-ink); font-weight: 700; cursor: pointer; list-style: none; }
.fr2-faq-list summary::after { content: "+"; position: absolute; right: 0; top: 16px; color: var(--fr-rose-700); font-size: 25px; font-weight: 400; }
.fr2-faq-list details[open] summary::after { content: "−"; }
.fr2-faq-list details p { margin: 0 0 22px; color: var(--fr-muted); }

/* Formulário e páginas de produto. */
body.fr-v2 .fr-budget-section { background: linear-gradient(135deg, var(--fr-ink), #503638) !important; }
body.fr-v2 .fr-budget-form-shell > div { border-radius: 28px 28px 28px 9px !important; }
body.fr-v2 .fr-budget-form-shell .bg-\[var\(--brand-pink-dark\)\] { background: var(--fr-rose-800) !important; }
body.fr-v2 .form-input { min-height: 50px; border: 1px solid var(--fr-line) !important; border-radius: 13px !important; color: var(--fr-ink) !important; background: #fff !important; box-shadow: none !important; }
body.fr-v2 .form-input:focus { outline: 3px solid rgba(201,140,152,.2) !important; border-color: var(--fr-rose-500) !important; }
body.fr-v2 .location-type-option,
body.fr-v2 .peca-option,
body.fr-v2 .upsell-box { border-color: var(--fr-line) !important; border-radius: 15px !important; }
body.fr-v2 .location-type-option.active,
body.fr-v2 .peca-option.active { border-color: var(--fr-rose-700) !important; background: var(--fr-rose-100) !important; }
body.fr-v2 .piece-hero,
body.fr-v2 .fr-piece-hero { padding-top: 145px !important; }
body.fr-v2 .piece-carousel,
body.fr-v2 .filo-carousel { border-radius: 29px 29px 29px 8px !important; box-shadow: var(--fr-shadow-lg); }
body.fr-v2 .floating-whatsapp-smart { right: 18px !important; bottom: 18px !important; min-height: 57px; border: 3px solid rgba(255,255,255,.9) !important; border-radius: 18px !important; box-shadow: 0 18px 45px rgba(18,121,62,.28) !important; }

/* Rodapé único. */
.fr2-footer { padding: 78px 24px 28px; color: rgba(255,255,255,.78); background: #2d2321; }
.fr2-footer-inner { width: min(1240px, 100%); margin: auto; }
.fr2-footer-grid { display: grid; grid-template-columns: 1.25fr .75fr .75fr .8fr; gap: clamp(28px, 5vw, 65px); }
.fr2-footer-brand { color: #fff; }
.fr2-footer-brand .fr2-brand-mark { margin-bottom: 18px; }
.fr2-footer-brand h2 { margin: 0 0 13px; color: #fff; font-size: 37px; font-style: italic; }
.fr2-footer-brand p { max-width: 390px; color: rgba(255,255,255,.64); }
.fr2-footer h3 { margin: 7px 0 17px; color: #fff; font: 700 12px/1.2 Montserrat, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.fr2-footer-links { display: grid; gap: 10px; }
.fr2-footer-links a { color: rgba(255,255,255,.7); text-decoration: none; font-size: 13px; }
.fr2-footer-links a:hover { color: var(--fr-rose-300); }
.fr2-footer-cta { margin-top: 20px; display: inline-flex; padding: 12px 17px; border-radius: 13px; color: #fff; background: var(--fr-rose-700); text-decoration: none; font-size: 12px; font-weight: 700; }
.fr2-footer-bottom { margin-top: 58px; padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.48); font-size: 12px; }
.fr2-footer-bottom a { color: inherit; }

/* Menos interrupções: o atendimento fica nos CTAs da página. */
#exit-popup,
#welcome-popup,
.welcome-popup { display: none !important; }

@media (max-width: 1120px) {
  .fr2-nav-links { display: none !important; }
  .fr2-menu-toggle { display: grid; }
  .fr2-guide-grid { grid-template-columns: repeat(2, 1fr); }
  .fr2-guide-index-grid { grid-template-columns: repeat(2, 1fr); }
  .fr2-footer-grid { grid-template-columns: 1.25fr 1fr 1fr; }
  .fr2-footer-grid > :last-child { grid-column: 2 / 4; }
}
@media (max-width: 820px) {
  #navbar.fr2-navbar { padding: 11px 10px 0 !important; }
  .fr2-nav-shell { min-height: 68px; padding: 8px 9px 8px 14px; border-radius: 19px; }
  .fr2-brand-mark { width: 43px; height: 43px; }
  .fr2-brand-copy strong { font-size: 21px; }
  .fr2-brand-copy small { font-size: 8px; }
  .fr2-menu-toggle { width: 48px; height: 48px; }
  .fr2-guide-head { grid-template-columns: 1fr; }
  .fr2-article-shell { grid-template-columns: 1fr; }
  .fr2-article-aside { position: static; grid-template-columns: repeat(2, 1fr); }
  .fr2-guide-index-grid { grid-template-columns: 1fr; }
  .fr2-footer-grid { grid-template-columns: 1fr 1fr; }
  .fr2-footer-grid > :last-child { grid-column: auto; }
}
@media (max-width: 580px) {
  .fr2-brand-copy small { display: none; }
  body.fr-v2 .fr-model-title { font-size: clamp(42px, 14vw, 62px); }
  .fr2-guide-grid { grid-template-columns: 1fr; }
  .fr2-guide-card { min-height: 200px; }
  .fr2-article-aside { grid-template-columns: 1fr; }
  .fr2-guide-hero { padding-top: 130px; }
  .fr2-guide-hero h1 { font-size: clamp(40px, 12vw, 59px); }
  .fr2-article-shell { width: min(100% - 28px, 1120px); padding-top: 48px; }
  .fr2-guide-index { padding: 132px 16px 75px; }
  .fr2-guide-index-card { min-height: 255px; }
  .fr2-footer-grid { grid-template-columns: 1fr; }
  .fr2-footer-bottom { flex-direction: column; }
  body.fr-v2 .fr-budget-form-shell form { padding: 24px 17px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
