@charset "UTF-8";
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

:root {
	--st: #00BFFF;
    /*Primary color*/
	--se: #00BFFF;
	/*Secondary color*/
	--th: #5ed7ff;
	/*Accent color*/
	--fo: #212427;
	/*black*/
	--fi: #f4f4f4;
	/*white*/
	--si: #fdfdfd;
    /*off-white*/
}

body {
	font-family: Halyard Text Regular, halyard-text, halyard-display;
	background-color: var(--fi);
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}


.Xsmall {
	font-size: 14px;
}
.small {
	font-size: 16px;
}
.middle {
	font-size: 18px;
}
.large {
	font-size: 24px;
}
.Xlarge {
	font-size: 32px;
}
.XXlarge {
	font-size: 70px;
}

.white {
	color: var(--si);
}
.line-height {
	line-height: 1.2em;
}
.letter-spacing {
	letter-spacing: .5px;
}


.Extra-Light {
	font-weight: 100;
}
.Light {
	font-weight: 200;
}
.Book {
	font-weight: 300;
}
.Regular {
	font-weight: 400;
}
.Medium {
	font-weight: 500;
}
.Semi-Bold {
	font-weight: 600;
}
.Bold {
	font-weight: 700;
}
.Extra-Bold {
	font-weight: 800;
}
.Black {
	font-weight: 900;
}

h1 {
	color: var(--fo);
	font-size: 70px;
	margin: 0 0 0 0;
}

	/*para títulos do tipo - */
h2 {
	line-height: normal;
	font-weight: 500;
	margin: 8px 0 12px 0;
}

	/*para títulos do tipo - */
h4 {
	color: var(--se);
	font-size: 24px;
	line-height: normal;
	font-weight: 500;
	margin: 0px 0px 10px 0px;
}


        /* ---- Hero Banner ---- */
        .banner {
            width: 100%;
            background-color: #212427;
            padding: 4rem 1.5rem 4.5rem;
        }

        .banner__inner {
            max-width: 80rem;
            margin: 0 auto;
            text-align: left;
        }

        .banner__eyebrow {
            display: inline-block;
            font-size: 0.6875rem;
            font-weight: 500;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.45);
            margin-bottom: 1.25rem;
        }

        .banner__heading {
            font-size: clamp(2.5rem, 8vw, 4.5rem);
            font-weight: 300;
            line-height: 1.08;
            color: #ffffff;
            letter-spacing: -0.01em;
            margin-bottom: 1.25rem;
        }

        .banner__sub {
            font-size: 1rem;
            font-weight: 300;
            color: rgba(255,255,255,0.55);
            line-height: 1.65;
            max-width: 28rem;
        }

        /* ---- Product Grid ---- */
        .product-section {
            padding: 3rem 1.5rem 5rem;
            background-color: var(--si);
        }

        .product-container {
            max-width: 80rem;
            margin: 0 auto;
        }

        .section-header {
            display: flex;
            align-items: baseline;
            gap: 1rem;
            margin-bottom: 2rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid #e5e7eb;
        }

        .section-title {
            font-size: 1rem;
            font-weight: 500;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #212427;
        }

        .section-badge {
            font-size: 0.6875rem;
            font-weight: 500;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #9ca3af;
        }

        .product-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        .product-card {
            display: block;
            border-radius: 0.75rem;
            overflow: hidden;
            background: #fff;
            border: 1px solid #f0f0f0;
            transition: box-shadow 0.25s ease, border-color 0.25s ease;
            text-decoration: none;
            color: inherit;
        }

        .product-card:hover {
            box-shadow: 0 8px 28px rgba(0,0,0,0.09);
            border-color: #e0e0e0;
        }

        .product-image-container {
            aspect-ratio: 1/1;
            overflow: hidden;
            background-color: #f4f5f6;
        }

        .product-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.4s ease;
        }

        .product-card:hover .product-image {
            transform: scale(1.04);
        }

        .product-info {
            padding: 1.25rem 1.25rem 1.5rem;
        }

        .product-name {
            font-size: 1rem;
            font-weight: 500;
            color: #212427;
            margin-bottom: 0.3rem;
        }

        .product-category {
            display: block;
            font-size: 0.6875rem;
            color: #9ca3af;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            margin-bottom: 0.75rem;
        }

        .product-price {
            display: block;
            font-size: 0.9375rem;
            font-weight: 400;
            color: #212427;
        }

        .product-badge {
            position: absolute;
            top: 0.75rem;
            left: 0.75rem;
            background: #212427;
            color: #fff;
            font-size: 0.625rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 0.25rem 0.6rem;
            border-radius: 4px;
            z-index: 1;
        }

        .product-image-container {
            position: relative;
        }

        /* Footer Styles */
        .footer {
            padding: 3rem 1.5rem;
        }

        .footer-container {
            max-width: 80rem;
            margin: 0 auto;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 2rem;
            margin-bottom: 2rem;
        }

        .footer-section h3 {
            font-weight: 500;
            color: #000;
            margin-bottom: 1rem;
        }

        .footer-section ul {
            list-style: none;
        }

        .footer-section li {
            margin-bottom: 0.5rem;
        }

        .footer-section a {
            color: #6b7280;
            text-decoration: none;
            transition: color 0.2s ease;
        }

        .footer-section a:hover {
            color: #000;
        }

        .footer-bottom {
            border-top: 1px solid #e5e7eb;
            padding-top: 2rem;
            text-align: center;
            color: #6b7280;
        }
        
.smaller-icon {
    width: 30px;
	height: 30px;
	padding: 10px;
}

.sidebutton {
	display: flex;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	z-index: 1;
	pointer-events: none;
}

.sidebutton-left {
	cursor: pointer;
	display: flex;
	margin: 435px 0px 0px 54px;
	pointer-events: auto;
}

.sidebutton-right {
	cursor: pointer;
	display: flex;
    position: absolute;
    right: 0;
	margin: 435px 54px 0px 0px;
	pointer-events: auto;
	}


        /* Responsive Design */
        @media (min-width: 768px) {
            .product-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .footer-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media (min-width: 1024px) {
            .product-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }
/* Reserve header space so the page doesn't jump while the menu loads (CLS).
   The injected <header> is sticky/in-flow on desktop (~104px); on mobile the
   navbar is fixed and body padding-top handles the spacing, so no reserve. */
#header-placeholder { display: block; }
@media (min-width: 1401px) {
    #header-placeholder { min-height: 86px; }
}

/* Smooth, non-abrupt in-page anchor navigation (e.g. "Conectar" -> #conectar).
   scroll-padding-top offsets the sticky/fixed header so the target section
   lands just below it instead of hidden underneath. Respects reduced-motion. */
html {
    scroll-padding-top: 6rem;
}
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}
