/*!
Theme Name: Moda Cruz
Author: Moda Cruz
Description: Tema WordPress customizado para o e-commerce Moda Cruz.
Version: 1.0.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: moda-cruz
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Moda Cruz is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
    border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
    color: #404040;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
}

p {
    margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

address {
    margin: 0 0 1.5em;
}

pre {
    background: #eee;
    font-family: "Courier 10 Pitch", courier, monospace;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code,
kbd,
tt,
var {
    font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    background: #fff9c0;
    text-decoration: none;
}

big {
    font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
    background: #fff;
}

hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em;
}

ul,
ol {
    margin: 0 0 1.5em 3em;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li>ul,
li>ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

dt {
    font-weight: 700;
}

dd {
    margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
    max-width: 100%;
}

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

figure {
    margin: 1em 0;
}

table {
    margin: 0 0 1.5em;
    width: 100%;
}

/* Links
--------------------------------------------- */
a {
    color: #4169e1;
}

a:visited {
    color: #800080;
}

a:hover,
a:focus,
a:active {
    color: #191970;
}

a:focus {
    outline: thin dotted;
}

a:hover,
a:active {
    outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    border: 1px solid;
    border-color: #ccc #ccc #bbb;
    border-radius: 3px;
    background: #e6e6e6;
    color: rgba(0, 0, 0, 0.8);
    line-height: 1;
    padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
    border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
    color: #666;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
    color: #111;
}

select {
    border: 1px solid #ccc;
}

textarea {
    width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
    display: block;
    width: 100%;
}

.main-navigation ul {
    display: none;
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.main-navigation ul ul {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    float: left;
    position: absolute;
    top: 100%;
    left: -999em;
    z-index: 99999;
}

.main-navigation ul ul ul {
    left: -999em;
    top: 0;
}

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focus>ul {
    display: block;
    left: auto;
}

.main-navigation ul ul a {
    width: 200px;
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focus>ul {
    left: auto;
}

.main-navigation li {
    position: relative;
}

.main-navigation a {
    display: block;
    text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
    display: block;
}

@media screen and (min-width: 37.5em) {

    .menu-toggle {
        display: none;
    }

    .main-navigation ul {
        display: flex;
    }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
    margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
    display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    text-align: end;
    flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
    display: block;
}

.post,
.page {
    margin: 0 0 1.5em;
}

.updated:not(.published) {
    display: none;
}

.page-content,
.entry-content,
.entry-summary {
    margin: 1.5em 0 0;
}

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
    margin: 0 0 1.5em;
}

.widget select {
    max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
    display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    margin: 0.8075em 0;
}

.wp-caption-text {
    text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
    margin-bottom: 1.5em;
    display: grid;
    grid-gap: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    width: 100%;
}

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

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

.gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
    grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
    grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
    grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
    grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
    display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
    display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
    display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
    outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

    /*rtl:ignore*/
    float: left;

    /*rtl:ignore*/
    margin-right: 1.5em;
    margin-bottom: 1.5em;
}

.alignright {

    /*rtl:ignore*/
    float: right;

    /*rtl:ignore*/
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
}

/* Custom Front Page Styles
--------------------------------------------- */
.hero-section {
    position: relative;
    background: url('https://images.unsplash.com/photo-1594938298603-c8148c4dae35?auto=format&fit=crop&q=80&w=2000') center/cover no-repeat;
    height: 80vh;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    /* Escurece a imagem para o texto sobressair */
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    padding: 0 20px;
}

.hero-content h1 {
    font-size: 3.5rem;
    margin-bottom: 20px;
    color: #fff;
}

.hero-content p {
    font-size: 1.25rem;
    margin-bottom: 30px;
}

.btn-hero {
    display: inline-block;
    background-color: #d4af37;
    /* Dourado */
    color: #111;
    padding: 15px 30px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.1rem;
    border-radius: 4px;
    transition: background-color 0.3s;
}

.btn-hero:hover {
    background-color: #ffd700;
    color: #111;
}

.section-padding {
    padding: 60px 0;
}

.section-title {
    text-align: center;
    margin-bottom: 40px;
    font-size: 2.2rem;
    color: #333;
}

/* Benefits Strip */
.benefits-strip {
    background-color: #fff;
    padding: 30px 0;
    font-family: 'Inter', sans-serif;
}

.benefits-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: center;
}

.benefit-card {
    display: flex;
    align-items: center;
    gap: 15px;
}

.benefit-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    color: #4b5563;
    /* Dark gray */
    border: 1.5px solid #cbd5e1;
    border-radius: 50%;
}

.benefit-icon svg {
    width: 24px;
    height: 24px;
}

.benefit-text {
    display: flex;
    flex-direction: column;
}

.benefit-text strong {
    font-size: 13px;
    color: #111;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 3px;
}

.benefit-text span {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.3;
}

@media (max-width: 991px) {
    .benefits-grid-4 {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}

@media (max-width: 576px) {
    .benefits-grid-4 {
        grid-template-columns: 1fr;
    }
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header General Styles
--------------------------------------------- */
.site-header {
    background-color: #fff;
    border-bottom: 1px solid #eaeaea;
    font-family: 'Inter', sans-serif;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.mc-promo-bar {
    background: #111;
    color: #fff;
    font-family: 'Inter', sans-serif;
}

.mc-promo-bar__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 12px;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.mc-promo-bar__intro {
    color: #fff;
    font-weight: 700;
}

.mc-promo-bar__message {
    color: #e7e7e7;
    font-weight: 500;
    letter-spacing: .04em;
    text-transform: none;
}

.mc-promo-bar__offer {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    white-space: nowrap;
}

.mc-promo-bar__method {
    font-weight: 500;
}

.mc-promo-bar__offer strong {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
}

.mc-promo-bar__exception {
    color: #cfcfcf;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .04em;
    text-transform: none;
    white-space: nowrap;
}

.mc-promo-bar__exception strong {
    color: #fff;
    font-weight: 700;
}

.mc-promo-bar__offer--pix strong {
    color: #9de3d0;
}

.mc-promo-bar__divider {
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, .28);
}

.admin-bar .site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .site-header {
        top: 46px;
    }

    .mc-promo-bar__inner {
        min-height: 52px;
        gap: 10px;
        padding-top: 8px;
        padding-bottom: 8px;
        font-size: 9px;
        letter-spacing: .06em;
        flex-wrap: wrap;
        align-content: center;
    }

    .mc-promo-bar__intro {
        flex-basis: auto;
    }

    .mc-promo-bar__message {
        font-size: 10px;
        text-align: center;
    }

    .mc-promo-bar__offer strong {
        font-size: 11px;
    }

    .mc-promo-bar__exception {
        flex-basis: 100%;
        font-size: 10px;
        text-align: center;
    }
}

.custom-logo {
    max-width: 160px;
    height: auto;
    display: block;
}

/* Desktop Header */
.header-desktop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
}

.header-left {
    flex-shrink: 0;
    margin-right: 60px;
    /* Ajuste perfeito de espaçamento entre logo e menu */
}

.header-center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    gap: 40px;
}

.main-navigation ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 25px;
}

.main-navigation a {
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.5px;
}

.main-navigation a:hover {
    color: #666;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 30px;
    flex-shrink: 0;
}

.header-search form {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    padding: 5px 10px;
    border-radius: 2px;
    width: 250px;
}

input[type="search"].search-field {
    border: none !important;
    outline: none !important;
    padding: 5px;
    flex-grow: 1;
    background: transparent !important;
    font-size: 13px;
    appearance: none;
    box-shadow: none !important;
}

.search-submit {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.header-icons {
    display: flex;
    align-items: center;
    gap: 18px;
}

.icon-link {
    color: #222;
    text-decoration: none;
    display: flex;
    transition: color 0.2s;
}

.icon-link:hover {
    color: #777;
}

/* Mobile Header */
.header-mobile-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
}

.header-mobile-bottom {
    padding: 0 20px 15px;
}

.header-mobile .menu-toggle {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
}

.header-mobile .custom-logo {
    max-width: 140px;
}

.header-mobile .header-search form {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    padding: 8px 12px;
    border-radius: 2px;
    width: 100%;
}

.hide-on-mobile {
    display: flex;
}

.hide-on-desktop {
    display: none;
}

/* Offcanvas Menu Styles */
.mobile-offcanvas {
    position: fixed;
    top: 0;
    left: -100%;
    width: 85%;
    max-width: 400px;
    height: 100vh;
    background: #fff;
    z-index: 99999;
    transition: left 0.3s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

.mobile-offcanvas.active {
    left: 0;
}

.offcanvas-header {
    position: relative;
    display: flex;
    align-items: center;
    padding: 20px 50px 20px 20px;
    border-bottom: 1px solid #eaeaea;
}

.offcanvas-header .site-branding {
    margin: 0 0 0 -15px !important;
    /* Puxa fisicamente a logo para compensar o espaço transparente na imagem */
    padding: 0 !important;
    text-align: left !important;
    width: auto !important;
    left: auto !important;
    position: static !important;
    transform: none !important;
}

.offcanvas-header .custom-logo {
    max-width: 140px;
    margin: 0 !important;
    display: block !important;
}

.offcanvas-close {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    background: none;
    border: none;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    color: #000;
    padding: 0;
    margin: 0 !important;
}

.offcanvas-body {
    flex-grow: 1;
    overflow-y: auto;
}

.offcanvas-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.offcanvas-nav li {
    border-bottom: 1px solid #eaeaea;
}

.offcanvas-nav a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    color: #111;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.offcanvas-footer {
    background-color: #f7f7f9;
    padding: 0 20px;
}

.offcanvas-bottom-link {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    color: #111;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    border-bottom: 1px solid #eaeaea;
}

.offcanvas-bottom-link:last-child {
    border-bottom: none;
}

.mobile-menu-trigger {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

@media screen and (max-width: 1024px) {
    .hide-on-mobile {
        display: none !important;
    }

    .hide-on-desktop {
        display: block;
    }

    .header-icons {
        gap: 10px;
    }

    .header-mobile-top .site-branding {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    .header-mobile-top .custom-logo {
        max-width: 120px;
    }

    .header-mobile-top .main-navigation,
    .header-mobile-top .header-icons {
        position: relative;
        z-index: 10;
    }
}

/* Footer Styles */
.site-footer {
    display: block;
    width: 100%;
}

.footer-top {
    background-color: #fff;
    color: #111;
    /* Black text */
    padding: 60px 0 40px;
    font-family: 'Inter', sans-serif;
    border-top: 1px solid #eaeaea;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.footer-widget h4 {
    color: #000;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.footer-widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-widget ul li {
    margin-bottom: 12px;
}

.footer-widget ul li a {
    color: #555;
    text-decoration: none;
    font-size: 13px;
    transition: color 0.3s;
}

.footer-widget ul li a:hover {
    color: #000;
}

.footer-social {
    display: flex;
    gap: 15px;
    margin-top: 25px;
    margin-bottom: 10px;
}

.footer-social a {
    color: #111;
    transition: transform 0.3s;
}

.footer-social a:hover {
    transform: scale(1.1);
}

.tag-h {
    font-size: 13px;
    font-weight: 600;
    color: #111;
}

.footer-contact p {
    color: #555;
    font-size: 13px;
    margin-bottom: 5px;
    line-height: 1.5;
}

.footer-contact strong {
    color: #000;
    font-weight: 600;
}

.payment-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pay-icon {
    background: #f4f4f4;
    color: #111;
    border: 1px solid #ddd;
    font-size: 10px;
    font-weight: 700;
    padding: 5px 8px;
    border-radius: 3px;
    text-transform: uppercase;
}

.security-seal {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #fdfdfd;
    border: 1px solid #eaeaea;
    padding: 10px 15px;
    border-radius: 5px;
    width: fit-content;
}

.security-seal svg {
    color: #000;
    /* Black lock */
}

.security-seal div {
    display: flex;
    flex-direction: column;
}

.security-seal strong {
    font-size: 12px;
    color: #000;
    line-height: 1.2;
}

.security-seal span {
    font-size: 9px;
    color: #666;
}

.footer-bottom {
    background-color: #fafafa;
    padding: 30px 0;
    text-align: center;
    border-top: 1px solid #eaeaea;
}

.footer-bottom p {
    color: #666;
    font-size: 11px;
    margin-bottom: 8px;
    line-height: 1.6;
    font-family: 'Inter', sans-serif;
}

.footer-bottom p:last-child {
    margin-bottom: 0;
}

/* Responsive Footer */
@media (max-width: 991px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer-bottom {
        padding: 20px 0;
    }
}

/* Lookbook Categories (5 Columns) */
.lookbook-categories {
    padding: 15px 0 60px 0;
    font-family: 'Inter', sans-serif;
}

.lookbook-grid-5 {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
}

.lookbook-card {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    text-decoration: none;
    background-color: #f1f1f1;
}

.lookbook-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.5s ease;
}

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

.lookbook-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, transparent 100%);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 25px 20px;
}

.lookbook-info {
    color: #fff;
    flex-grow: 1;
}

.lookbook-info h4 {
    font-size: 20px;
    font-weight: 300;
    margin: 0 0 4px 0;
    color: #fff;
    letter-spacing: -0.5px;
}

.lookbook-info p {
    font-size: 13px;
    color: #e5e7eb;
    font-weight: 300;
    margin: 0;
}

.lookbook-arrow {
    color: #fff;
    opacity: 0.7;
    transition: opacity 0.3s, transform 0.3s;
}

.lookbook-card:hover .lookbook-arrow {
    opacity: 1;
    transform: translateX(4px);
}

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

@media (max-width: 768px) {
    .lookbook-grid-5 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .lookbook-grid-5 {
        grid-template-columns: 1fr;
    }
}

/* -------------------------------------------------------------------------
   Home mobile — hero em retrato e navegação compacta entre benefícios e
   categorias. Mantém a composição ampla no desktop sem distorcer as imagens.
   ------------------------------------------------------------------------- */
.home-main-slider {
    width: 100%;
    overflow: hidden;
    background: #111;
}

.home-main-slider__link,
.home-main-slider__picture,
.home-main-slider__image {
    display: block;
    width: 100%;
}

.home-main-slider__image {
    height: auto;
}

.middle-banner,
.middle-banner__link,
.middle-banner__picture,
.middle-banner__image {
    display: block;
    width: 100%;
}

.middle-banner {
    overflow: hidden;
}

.middle-banner__image {
    height: auto;
}

/* Mantém os banners estáveis em telas desktop, sem deformar as imagens. */
@media (min-width: 769px) {
    .mc-home .home-main-slider {
        height: 600px;
    }

    .mc-home .home-main-slider__link,
    .mc-home .home-main-slider__picture,
    .mc-home .home-main-slider__image {
        height: 100%;
    }

    .mc-home .home-main-slider__image {
        object-fit: cover;
        object-position: center;
    }

    .mc-home .middle-banner {
        height: 400px;
    }

    .mc-home .middle-banner__link,
    .mc-home .middle-banner__picture,
    .mc-home .middle-banner__image {
        height: 100%;
    }

    .mc-home .middle-banner__image {
        object-fit: cover;
        object-position: center;
    }
}

@media (max-width: 576px) {
    .mc-home .home-main-slider {
        aspect-ratio: 4 / 5;
    }

    .mc-home .home-main-slider__link,
    .mc-home .home-main-slider__picture,
    .mc-home .home-main-slider__image {
        height: 100%;
    }

    .mc-home .home-main-slider__image {
        object-fit: cover;
        object-position: 68% center;
    }

    .mc-home .benefits-strip {
        padding: 16px 0 12px;
    }

    .mc-home .benefits-grid-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        align-items: stretch;
    }

    .mc-home .benefit-card {
        min-height: 118px;
        padding: 14px 8px 12px;
        flex-direction: column;
        justify-content: flex-start;
        gap: 8px;
        text-align: center;
    }

    .mc-home .benefit-card + .benefit-card {
        border-top: 0;
        border-left: 1px solid #eeeeee;
    }

    .mc-home .benefit-icon {
        width: 38px;
        height: 38px;
        border-color: #d8dee6;
    }

    .mc-home .benefit-icon svg {
        width: 19px;
        height: 19px;
    }

    .mc-home .benefit-text strong {
        margin-bottom: 2px;
        font-size: 11px;
        letter-spacing: 0;
        line-height: 1.2;
    }

    .mc-home .benefit-text span {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 11px;
        line-height: 1.28;
    }

    .mc-home .lookbook-categories {
        padding: 6px 0 28px;
    }

    .mc-home .lookbook-grid-5 {
        display: flex;
        grid-template-columns: none;
        gap: 10px;
        margin-right: -20px;
        padding: 0 20px 6px 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .mc-home .lookbook-grid-5::-webkit-scrollbar {
        display: none;
    }

    .mc-home .lookbook-card {
        flex: 0 0 136px;
        aspect-ratio: 4 / 5;
        scroll-snap-align: start;
    }

    .mc-home .lookbook-overlay {
        height: 52%;
        padding: 13px 11px;
    }

    .mc-home .lookbook-info h4 {
        margin: 0;
        font-size: 15px;
        font-weight: 600;
        letter-spacing: -0.02em;
    }

    .mc-home .lookbook-info p {
        display: none;
    }

    .mc-home .lookbook-arrow {
        display: grid;
        width: 24px;
        height: 24px;
        place-items: center;
    }

    .mc-home .lookbook-arrow svg {
        width: 16px;
        height: 16px;
    }
}

/* Home Bestsellers Carousel */
.bestsellers-carousel {
    background-color: #fff;
}

.section-header-carousel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    border-bottom: 2px solid #eaeaea;
    padding-bottom: 10px;
}

.section-header-carousel .section-title {
    margin-bottom: 0;
    text-align: left;
    font-size: 24px;
    font-weight: 700;
}

.carousel-nav {
    display: flex;
    gap: 8px;
}

.carousel-nav button {
    background: transparent;
    border: 1px solid #ccc;
    color: #111;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    /* Ajustado para centralizar seta */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    transition: all 0.3s ease;
}

.carousel-nav button:hover {
    background: #111;
    color: #fff;
    border-color: #111;
}

/* Override WooCommerce Grid for Carousel */
.carousel-container .woocommerce {
    margin: 0 -10px !important;
}

.carousel-container .woocommerce ul.products,
.carousel-container ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding-bottom: 20px !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
    gap: 0 !important;
    /* Desabilita gap nativo */
}

.carousel-container .woocommerce ul.products::before,
.carousel-container .woocommerce ul.products::after {
    display: none !important;
}

/* Remove Scrollbar for Carousel */
.carousel-container .woocommerce ul.products::-webkit-scrollbar,
.carousel-container ul.products::-webkit-scrollbar {
    display: none;
}

.carousel-container .woocommerce ul.products,
.carousel-container ul.products {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

/* Base item size logic, overrides WooCommerce columns */
.carousel-container ul.products li.product {
    flex: 0 0 25% !important;
    max-width: 25% !important;
    width: 25% !important;
    scroll-snap-align: start;
    margin: 0 !important;
    padding: 0 10px !important;
    /* Cria o espaçamento interno visual seguro */
    clear: none !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    align-self: stretch;
    box-sizing: border-box !important;
}

/* Força empurrar o botão e alinhamento do texto */
.carousel-container ul.products li.product .button {
    margin-top: auto !important;
}

/* Oculta os quadradinhos de cor neste carrossel específico */
.bestsellers-carousel .moda_cruz_product_swatches,
.bestsellers-carousel .product-swatches {
    display: none !important;
}

@media (max-width: 991px) {
    .carousel-container ul.products li.product {
        flex: 0 0 33.333% !important;
        max-width: 33.333% !important;
        width: 33.333% !important;
    }
}

@media (max-width: 768px) {
    .carousel-container ul.products li.product {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
}

@media (max-width: 480px) {
    .carousel-container ul.products li.product {
        flex: 0 0 80% !important;
        max-width: 80% !important;
        width: 80% !important;
    }
}

/* ================================================================
   Live Search Dropdown
   ================================================================ */

.mc-live-search-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    z-index: 99999;
    overflow: hidden;
    animation: mc-dropdown-in 0.18s ease;
    min-width: 320px;
}

@keyframes mc-dropdown-in {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mc-live-search-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 14px;
    text-decoration: none;
    color: #111;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.15s;
    cursor: pointer;
}

.mc-live-search-item:last-of-type {
    border-bottom: none;
}

.mc-live-search-item:hover,
.mc-live-search-item.is-active {
    background: #f9fafb;
}

.mc-lsi-thumb {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
    background: #f3f4f6;
}

.mc-lsi-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    overflow: hidden;
}

.mc-lsi-title {
    font-size: 13px;
    font-weight: 600;
    color: #111;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: 'Inter', sans-serif;
}

.mc-lsi-price {
    font-size: 13px;
    font-weight: 700;
    color: #111;
    font-family: 'Inter', sans-serif;
}

.mc-lsi-price ins {
    background: transparent;
    text-decoration: none;
}

.mc-live-search-all {
    display: block;
    padding: 10px 14px;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    color: #6b7280;
    text-decoration: none;
    text-align: center;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    transition: background 0.15s, color 0.15s;
    letter-spacing: 0.3px;
}

.mc-live-search-all:hover {
    background: #f3f4f6;
    color: #111;
}

.mc-live-search-empty {
    padding: 18px 14px;
    font-size: 13px;
    color: #9ca3af;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

/* Loading dots spinner */
.mc-live-search-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 20px;
}

.mc-live-search-loading span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #9ca3af;
    animation: mc-bounce 0.8s infinite alternate;
    display: inline-block;
}

.mc-live-search-loading span:nth-child(2) {
    animation-delay: 0.2s;
}

.mc-live-search-loading span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes mc-bounce {
    from {
        transform: translateY(0);
        opacity: 0.5;
    }

    to {
        transform: translateY(-6px);
        opacity: 1;
    }
}

/* ================================================================
   Search Results Page
   ================================================================ */

.search-results-page {
    padding: 40px 0 80px;
    min-height: 60vh;
    font-family: 'Inter', sans-serif;
}

/* Header */
.search-results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    padding-bottom: 28px;
    margin-bottom: 36px;
    border-bottom: 1px solid #eaeaea;
}

.search-results-title-wrap {}

.search-results-title {
    font-size: 26px;
    font-weight: 700;
    color: #111;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.search-results-title .search-term {
    font-style: italic;
    color: #4b5563;
}

.search-results-count {
    font-size: 13px;
    color: #6b7280;
    margin: 0;
}

/* Inline search form on results page — hidden */
.search-results-form {
    display: none !important;
}

.search-results-form-hidden {
    display: flex;
    align-items: center;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    overflow: hidden;
    min-width: 280px;
    max-width: 360px;
    flex-shrink: 0;
}

.search-results-field {
    border: none !important;
    outline: none !important;
    padding: 10px 14px !important;
    flex-grow: 1;
    background: transparent !important;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    color: #111;
    box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
}

.search-results-submit {
    background: #111 !important;
    border: none !important;
    color: #fff !important;
    padding: 10px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: 'Inter', sans-serif !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    letter-spacing: 0.3px !important;
    text-transform: none !important;
    white-space: nowrap !important;
    border-radius: 0 !important;
}

.search-results-submit:hover {
    background: #333 !important;
}

/* Products grid on search page */
.search-products-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    float: none !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.search-products-grid li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

@media (max-width: 1024px) {
    .search-products-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .search-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .search-results-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .search-results-form {
        max-width: 100%;
        width: 100%;
    }

    .search-results-title {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .search-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
}

/* Pagination */
.search-pagination {
    margin-top: 48px;
    display: flex;
    justify-content: center;
    gap: 6px;
}

.search-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #111;
    text-decoration: none;
    transition: all 0.2s;
}

.search-pagination .page-numbers:hover,
.search-pagination .page-numbers.current {
    background: #111;
    color: #fff;
    border-color: #111;
}

.search-pagination .page-numbers.dots {
    border: none;
    color: #9ca3af;
}

/* No results state */
div.search-no-results {
    text-align: center;
    padding: 80px 20px;
}

.no-results-icon {
    margin-bottom: 20px;
}

.search-no-results h2 {
    font-size: 22px;
    font-weight: 700;
    color: #111;
    margin: 0 0 12px;
}

.search-no-results p {
    font-size: 15px;
    color: #6b7280;
    margin: 0 0 10px;
}

.search-suggestions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 28px;
}

.suggestion-tag {
    display: inline-block;
    padding: 9px 20px;
    border: 1px solid #d1d5db;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    color: #111 !important;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s;
}

.suggestion-tag:visited {
    color: #111 !important;
}

.suggestion-tag:hover {
    background: #111;
    color: #fff !important;
    border-color: #111;
}

/* ================================================================
   Minha Conta — Login / Registro Page
   ================================================================ */

/* Reset woocommerce container for all account pages */
.woocommerce-account #primary.site-main .woocommerce {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Center login/register block only when NOT logged in */
body.woocommerce-account:not(.logged-in) #primary.site-main .woocommerce {
    display: flex !important;
    justify-content: center !important;
}

.mc-account-page {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 80px 40px 100px;
    font-family: 'Inter', sans-serif;
    box-sizing: border-box;
}

/* Two-column grid: login | divider | register */
.mc-account-grid {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 0;
    align-items: start;
}

/* Vertical divider */
.mc-account-divider {
    background-color: #e5e7eb;
    width: 1px;
    align-self: stretch;
    min-height: 460px;
}

/* Each column gets equal horizontal padding */
.mc-account-col {
    padding: 0 50px;
}

.mc-account-login {
    padding-left: 0;
}

.mc-account-register {
    padding-right: 0;
}

/* Title */
.mc-account-title {
    font-size: 20px;
    font-weight: 800;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px;
    line-height: 1.25;
}

/* Subtitle */
.mc-account-subtitle {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0 0 28px;
}

/* Field groups */
.mc-field-group {
    margin: 0 0 18px !important;
    padding: 0 !important;
}

/* Labels — force override WooCommerce red/orange required style */
.mc-label,
.mc-account-page label.mc-label {
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #111 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin-bottom: 7px !important;
}

/* Kill WooCommerce required asterisk red color */
.mc-account-page .required,
.mc-account-page label .required,
.mc-account-page .mc-label .required {
    color: #111 !important;
    font-size: 11px !important;
}

/* Inputs */
.mc-input,
.mc-account-page input[type="text"],
.mc-account-page input[type="email"],
.mc-account-page input[type="password"] {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 3px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    color: #111 !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s !important;
    box-sizing: border-box !important;
}

.mc-input:focus,
.mc-account-page input[type="text"]:focus,
.mc-account-page input[type="email"]:focus,
.mc-account-page input[type="password"]:focus {
    border-color: #111 !important;
    box-shadow: none !important;
}

/* Hide WooCommerce show/hide password toggle button */
.mc-account-page .show-password-input,
.mc-account-page span.show-password-input,
.woocommerce-form-login .show-password-input,
.woocommerce-form-register .show-password-input {
    display: none !important;
}

/* Primary button */
.mc-btn {
    display: inline-block;
    padding: 12px 28px;
    font-size: 12px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    border: 2px solid #111;
    line-height: 1;
    white-space: nowrap;
}

.mc-btn-primary {
    background: #111 !important;
    color: #fff !important;
    border-color: #111 !important;
}

.mc-btn-primary:hover {
    background: #333 !important;
    border-color: #333 !important;
    color: #fff !important;
}

/* Outline button (chave de acesso por e-mail) */
.mc-btn-outline {
    background: #fff !important;
    color: #111 !important;
    border: 1.5px solid #d1d5db !important;
    width: 100%;
    text-align: center;
    justify-content: center;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    letter-spacing: 1px;
    font-size: 11px;
    padding: 13px 20px !important;
}

.mc-btn-outline:hover {
    border-color: #111 !important;
    color: #111 !important;
    background: #f9fafb !important;
}

form.mc-magic-form {
    margin-bottom: 0;
}

/* "Ou entre com seu email e senha." divider text */
.mc-divider-text {
    font-size: 13px;
    color: #6b7280;
    text-align: center;
    margin: 0 0 22px;
}

.mc-divider-text strong {
    color: #111;
}

/* Login footer: links left, button right — side by side */
.mc-login-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-top: 20px;
}

.mc-login-links {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}

.mc-link {
    font-size: 12px;
    color: #6b7280;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-family: 'Inter', sans-serif;
    transition: color 0.2s;
}

.mc-link:hover {
    color: #111;
}

.mc-link:visited {
    color: #6b7280;
}

/* Register footer — button right-aligned */
.mc-register-footer {
    margin-top: 24px;
    display: flex;
    justify-content: flex-end;
}

/* Hint below register form */
.mc-register-hint {
    font-size: 11px;
    color: #9ca3af;
    margin: 8px 0 0;
    line-height: 1.5;
}

/* Magic link sent notice */
.mc-magic-sent-notice {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
    border-radius: 4px;
    padding: 12px 16px;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    margin-bottom: 24px;
}

/* WooCommerce notices inside account page */
.mc-account-page .woocommerce-error,
.mc-account-page .woocommerce-message,
.mc-account-page .woocommerce-info {
    margin-bottom: 24px;
    border-radius: 3px;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
}

/* Privacy policy text */
.mc-account-page .woocommerce-privacy-policy-text {
    font-size: 11px;
    color: #9ca3af;
    margin-top: 10px;
    line-height: 1.5;
}

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 860px) {
    .mc-account-page {
        padding: 50px 24px 80px;
    }

    .mc-account-grid {
        grid-template-columns: 1fr;
    }

    .mc-account-divider {
        width: 100%;
        height: 1px;
        min-height: 0;
        margin: 40px 0;
    }

    .mc-account-col,
    .mc-account-login,
    .mc-account-register {
        padding: 0;
    }

    .mc-register-footer {
        justify-content: flex-start;
    }

    .mc-btn {
        width: 100%;
        text-align: center;
        justify-content: center;
        display: flex;
        align-items: center;
    }

    .mc-login-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
}

/* ================================================================
   Modal — Verificação de E-mail / Criar Senha
   ================================================================ */

/* Overlay */
.mc-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 99999;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    backdrop-filter: blur(2px);
}

.mc-modal-overlay.is-open {
    display: flex;
    animation: mc-fade-in 0.2s ease;
}

@keyframes mc-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Modal box */
.mc-modal-box {
    background: #fff;
    border-radius: 4px;
    width: 100%;
    max-width: 580px;
    padding: 48px 44px 40px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
    box-sizing: border-box;
    animation: mc-slide-up 0.25s ease;
    font-family: 'Inter', sans-serif;
}

@keyframes mc-slide-up {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Header */
.mc-modal-header {
    text-align: center;
    margin-bottom: 30px;
}

.mc-modal-title {
    font-size: 18px;
    font-weight: 800;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px;
    line-height: 1.25;
    font-family: 'Inter', sans-serif;
}

.mc-modal-subtitle {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
}

.mc-modal-subtitle strong {
    color: #111;
}

/* Error message */
.mc-modal-error,
.mc-register-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
    border-radius: 3px;
    padding: 10px 14px;
    font-size: 12px;
    font-family: 'Inter', sans-serif;
    margin-bottom: 18px;
    line-height: 1.5;
}

.mc-register-error {
    margin-top: 12px;
}

/* Code input — bigger, centered */
.mc-input-code {
    text-align: center !important;
    letter-spacing: 6px !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    font-family: 'Inter', sans-serif !important;
}

/* Password field with eye button */
.mc-password-group {
    position: relative;
}

.mc-password-group .mc-input {
    padding-right: 44px !important;
}

.mc-toggle-pw {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #9ca3af;
    display: flex;
    align-items: center;
    transition: color 0.15s;
}

.mc-toggle-pw:hover {
    color: #111;
}

/* Modal footer */
.mc-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 28px;
    gap: 16px;
}

.mc-modal-back {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 5px;
    text-decoration: underline;
    text-underline-offset: 2px;
    padding: 0;
    transition: color 0.15s;
}

.mc-modal-back:hover {
    color: #111;
}

.mc-modal-submit {
    min-width: 110px;
}

/* Responsive */
@media (max-width: 640px) {
    .mc-modal-box {
        padding: 36px 24px 30px;
    }

    .mc-modal-footer {
        flex-direction: row;
    }
}

/* Nossas Lojas Grid */
.mc-lojas-container {
    padding: 60px 20px;
    background: #fff;
}

.mc-lojas-header {
    text-align: center;
    margin-bottom: 50px;
}

.mc-page-title {
    font-size: 32px;
    font-weight: 700;
    color: #111;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.mc-page-subtitle {
    font-size: 16px;
    color: #666;
}

.mc-lojas-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
}

.mc-loja-card {
    display: flex;
    flex-direction: column;
    background: #fff;
}

.mc-loja-img {
    width: 100%;
    height: 350px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 20px;
}

.mc-loja-content {
    display: flex;
    flex-direction: column;
}

.mc-loja-title {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #111;
    margin: 0 0 10px 0;
}

.mc-loja-info {
    margin-bottom: 20px;
}

.mc-loja-address {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
    line-height: 1.5;
}

.mc-loja-hours {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

.mc-loja-actions {
    margin-top: auto;
    display: flex;
    gap: 15px;
}

.mc-loja-btn {
    display: inline-block;
    padding: 10px 24px;
    border: 1px solid #111;
    color: #111;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    transition: all 0.3s;
}

.mc-loja-btn:hover {
    background: #111;
    color: #fff;
}

@media (max-width: 768px) {
    .mc-lojas-grid {
        grid-template-columns: 1fr;
    }

    .mc-loja-img {
        height: 250px;
    }
}

/* Remover margens conforme solicitado */
.page-content,
.entry-content,
.entry-summary {
    margin: 0 !important;
}

.post,
.page {
    margin: 0 !important;
}

/* =========================================
   Mobile Responsiveness & Visual ID Fixes
   ========================================= */
@media screen and (max-width: 768px) {

    /* 1. Carrinho lateral - Prazo de Entrega (Anexo 1) */
    .mc-shipping-form {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .mc-shipping-form .mc-shipping-input,
    .mc-shipping-form .mc-shipping-btn {
        width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* 2. Minha Conta - Tabela de pedidos e Menu (Anexo 3) */
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100% !important;
        float: none !important;
        margin-bottom: 20px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        padding-bottom: 5px !important;
        -webkit-overflow-scrolling: touch !important;
        border-bottom: 1px solid #e5e5e5;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
        flex: 0 0 auto !important;
        margin-right: 15px !important;
        width: auto !important;
        float: none !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
        float: none !important;
    }

    table.woocommerce-orders-table,
    table.my_account_orders {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        white-space: nowrap !important;
    }

    /* 3. Detalhes do Pedido (Responsivo) */
    .mc-vo-adidas-layout {
        display: flex !important;
        flex-direction: column !important;
    }

    .mc-vo-adidas-left,
    .mc-vo-adidas-right {
        width: 100% !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        border-left: none !important;
    }

    .mc-vo-adidas-status-box {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .status-box-right,
    .status-box-left {
        width: 100% !important;
        text-align: left !important;
    }

    .status-box-right>div {
        text-align: left !important;
    }
}

/* Home mobile: benefícios compactos, legíveis e alinhados à identidade Moda Cruz. */
.lookbook-card {
    border-radius: 5px;
}

@media (min-width: 577px) {
    .mc-home .benefit-card {
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .mc-home .benefits-strip {
        padding: 14px 0;
        border-top: 1px solid #f0f0f0;
        border-bottom: 1px solid #f0f0f0;
    }

    .mc-home .benefits-grid-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        align-items: stretch;
    }

    .mc-home .benefit-card {
        min-height: 126px;
        padding: 12px 7px 10px;
        gap: 12px;
        justify-content: flex-start;
        overflow: hidden;
    }

    .mc-home .benefit-card + .benefit-card {
        border-left: 1px solid #eeeeee;
    }

    .mc-home .benefit-icon {
        width: 40px;
        height: 40px;
    }

    .mc-home .benefit-icon svg {
        width: 19px;
        height: 19px;
    }

    .mc-home .benefit-text {
        width: 100%;
    }

    .mc-home .benefit-text strong {
        display: block;
        min-height: 0;
        margin: 0 0 2px;
        font-size: 10px;
        line-height: 1.15;
        font-weight: 800;
    }

    .mc-home .benefit-text span {
        display: block;
        min-height: 0;
        overflow: visible;
        font-size: 9.5px;
        line-height: 1.2;
        -webkit-line-clamp: unset;
    }

    .mc-home .lookbook-categories {
        padding: 12px 0 28px;
    }

    .mc-home .lookbook-card {
        border-radius: 5px;
    }
}

/* 4. Menu Lateral (Anexo 2) - Cores da Identidade Visual */
.offcanvas-bottom-link {
    color: #111111 !important;
}

.offcanvas-bottom-link svg {
    stroke: currentColor !important;
}

/* =========================================
   Mobile Responsiveness - GRID FIX
   ========================================= */
@media screen and (max-width: 768px) {
    body.logged-in.woocommerce-account #primary.site-main .woocommerce {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        padding: 0 15px !important;
    }

    body.logged-in.woocommerce-account #primary.site-main .woocommerce-MyAccount-navigation,
    body.logged-in.woocommerce-account #primary.site-main .woocommerce-MyAccount-content {
        width: 100% !important;
        margin: 0 !important;
    }

    /* Make sure table is perfectly scrollable and does not overflow parent */
    .woocommerce-MyAccount-content {
        max-width: 100vw;
        overflow-x: hidden;
    }

    table.woocommerce-orders-table,
    table.my_account_orders {
        display: block !important;
        width: 100% !important;
        max-width: 100%;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        white-space: nowrap !important;
        border: none !important;
    }
}
