/* Sexylove — tema filho do Classic. Paleta: bordô, pérola, champanhe, rosa antigo, dourado */
:root {
  --sl-bordo: #6D1F3C;
  --sl-bordo-escuro: #561730;
  --sl-rosa: #C98DA0;
  --sl-champanhe: #EEDCC9;
  --sl-perola: #FBF6F2;
  --sl-taupe: #A8988C;
  --sl-dourado: #C9A96B;
  --sl-texto: #2B2024;
  --sl-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sl-sans: 'Jost', 'Helvetica Neue', Arial, sans-serif;
}

body, #wrapper, #content-wrapper { background: var(--sl-perola); color: var(--sl-texto); font-family: var(--sl-sans); font-weight: 400; }
#wrapper { padding-top: 1.5rem; }
h1, h2, h3, h4, .h1, .h2, .h3, .h4, .products-section-title, .page-heading, .block-title {
  font-family: var(--sl-serif); font-weight: 500; color: var(--sl-bordo); letter-spacing: .01em; text-transform: none;
}
h1, .h1 { font-size: 2.4rem; }
a { color: var(--sl-bordo); }
a:hover { color: var(--sl-rosa); }

/* Barra superior e cabeçalho */
#header { background: var(--sl-perola); box-shadow: none; border-bottom: 1px solid var(--sl-champanhe); }
#header .header-nav { background: var(--sl-bordo); border: 0; max-height: none; padding: .35rem 0; }
#header .header-nav, #header .header-nav a, #header .header-nav .material-icons, #header .header-nav span { color: var(--sl-champanhe); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; }
#header .header-nav a:hover { color: #fff; }
#header .header-top { background: var(--sl-perola); padding: 1.2rem 0 .6rem; }
#_desktop_logo { text-align: center; }
#_desktop_logo img, #header .logo { max-height: 74px; width: auto; }
#header .header-top .menu { margin-top: .5rem; }
#_desktop_top_menu .top-menu[data-depth="0"] > li > a { font-family: var(--sl-sans); font-weight: 400; font-size: .86rem; letter-spacing: .16em; text-transform: uppercase; color: var(--sl-bordo); padding: .6rem .9rem; }
#_desktop_top_menu .top-menu a:hover, #_desktop_top_menu .top-menu li.current > a { color: var(--sl-rosa); }
#search_widget form input[type=text] { background: #fff; border: 1px solid var(--sl-champanhe); border-radius: 0; }
#search_widget form i { color: var(--sl-bordo); }

/* Botões */
.btn, .btn-primary, .btn-secondary, .btn-tertiary { border-radius: 0; font-family: var(--sl-sans); letter-spacing: .14em; text-transform: uppercase; font-size: .82rem; font-weight: 500; }
.btn-primary { background: var(--sl-bordo); border: 1px solid var(--sl-bordo); color: var(--sl-perola); }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background: var(--sl-bordo-escuro); border-color: var(--sl-bordo-escuro); color: #fff; }
.btn-secondary, .btn-tertiary { background: transparent; border: 1px solid var(--sl-bordo); color: var(--sl-bordo); }
.btn-secondary:hover, .btn-tertiary:hover { background: var(--sl-champanhe); color: var(--sl-bordo); border-color: var(--sl-bordo); }

/* Produtos */
.product-miniature .thumbnail-container { background: #fff; border: 1px solid var(--sl-champanhe); box-shadow: none; border-radius: 0; }
.product-miniature .thumbnail-container:hover { box-shadow: 0 6px 22px rgba(109, 31, 60, .10); }
.product-miniature .product-title a { font-family: var(--sl-serif); font-size: 1.15rem; color: var(--sl-bordo); text-transform: none; }
.product-price-and-shipping .price, .current-price .price, .product-price { color: var(--sl-bordo); font-weight: 500; }
.product-flag { background: var(--sl-dourado); color: #fff; border-radius: 0; letter-spacing: .1em; text-transform: uppercase; font-size: .7rem; }
.product-flag.discount, .product-flag.discount-percentage, .product-flag.discount-amount, .product-flag.on-sale { background: var(--sl-rosa); }
.featured-products .products-section-title, .new-products .products-section-title { text-align: center; font-size: 2.2rem; margin-bottom: 1.8rem; }
.featured-products .products-section-title::after, .new-products .products-section-title::after { content: ''; display: block; width: 56px; height: 1px; background: var(--sl-dourado); margin: .8rem auto 0; }
.breadcrumb { background: transparent; }
.breadcrumb li a, .breadcrumb li::after { color: var(--sl-taupe); }
.card, .block-categories, .facet-title, .block-category { border-radius: 0; box-shadow: none; }
.page-header h1, #js-product-list-header h1 { text-align: center; }
.badge-success, .bg-success { background: var(--sl-rosa) !important; }

/* Rodapé */
#footer, .footer-container { background: var(--sl-champanhe); color: var(--sl-texto); box-shadow: none; }
.footer-container { padding-top: 3rem; border-top: 1px solid var(--sl-dourado); }
.footer-container .h3, .footer-container .h4, .footer-container .block-contact-title, .footer-container .links .h3 { font-family: var(--sl-serif); color: var(--sl-bordo); font-size: 1.4rem; text-transform: none; }
.footer-container a, .footer-container li a { color: var(--sl-texto); }
.footer-container a:hover { color: var(--sl-bordo); }
.block_newsletter { background: transparent; }
.block_newsletter .btn-primary { border-radius: 0; }

/* Formulários */
.form-control, .custom-select, input[type=text], input[type=email], input[type=password] { border-radius: 0; border-color: var(--sl-champanhe); }
.form-control:focus { border-color: var(--sl-rosa); box-shadow: 0 0 0 .1rem rgba(201, 141, 160, .25); }

/* Banner de entrega discreta (home) */
.sl-hero { background: var(--sl-champanhe); padding: 4.5rem 1.5rem; text-align: center; margin-bottom: 2rem; }
.sl-hero .sl-eyebrow { font-family: var(--sl-sans); font-size: .8rem; letter-spacing: .3em; text-transform: uppercase; color: var(--sl-dourado); }
.sl-hero h1 { font-size: clamp(2.4rem, 6vw, 4.2rem); line-height: 1.05; margin: .6rem 0 1rem; }
.sl-hero p { max-width: 560px; margin: 0 auto 1.8rem; font-weight: 300; font-size: 1.1rem; }
.sl-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin: 0 0 2.5rem; }
.sl-cats a { display: flex; align-items: flex-end; min-height: 200px; padding: 1.2rem; background: var(--sl-bordo); color: var(--sl-perola); font-family: var(--sl-serif); font-size: 1.5rem; text-decoration: none; }
.sl-cats a:nth-child(2) { background: var(--sl-rosa); color: var(--sl-bordo-escuro); }
.sl-cats a:nth-child(3) { background: var(--sl-taupe); color: #fff; }
.sl-cats a:hover { opacity: .92; color: #fff; }
.sl-valores { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; text-align: center; margin: 2rem 0 3rem; font-size: .9rem; letter-spacing: .06em; color: var(--sl-bordo); }

/* Verificação +18 */
#sl-age-gate { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; background: rgba(86, 23, 48, .96); padding: 1rem; }
#sl-age-gate.sl-on { display: flex; }
#sl-age-gate .sl-box { background: var(--sl-perola); max-width: 460px; width: 100%; padding: 2.6rem 2rem; text-align: center; border-top: 3px solid var(--sl-dourado); }
#sl-age-gate h2 { font-size: 2rem; margin-bottom: .6rem; }
#sl-age-gate p { font-weight: 300; margin-bottom: 1.6rem; }
#sl-age-gate .sl-btns { display: flex; gap: .8rem; justify-content: center; flex-wrap: wrap; }
body.sl-locked { overflow: hidden; }

@media (max-width: 767px) {
  h1, .h1 { font-size: 1.9rem; }
  .sl-hero { padding: 3rem 1rem; }
}

/* Correções de cabeçalho */
#header .header-nav .blockcart, #header .header-nav .blockcart.inactive, #header .blockcart { background: transparent !important; }
#header .header-nav .blockcart a, #header .header-nav .blockcart .header, #header .header-nav .blockcart span, #header .header-nav .blockcart .material-icons { color: var(--sl-champanhe) !important; }
#header .header-nav .blockcart:hover a { color: #fff !important; }
#content.page-home, #wrapper .page-home, #main .page-content, #content { background: transparent; box-shadow: none; }
#header .header-nav .user-info a, #header .header-nav #_desktop_language_selector * { color: var(--sl-champanhe); }

/* Ícones Material: nunca em maiúsculas (quebra as ligaduras) */
.material-icons, #header .header-nav .material-icons { text-transform: none !important; letter-spacing: normal !important; font-size: 22px; }
#_desktop_logo img, #header .logo { max-height: 90px; }

/* ===== Cabeçalho Sexylove (desktop): menu | logótipo | ferramentas ===== */
#header .header-nav { padding: .45rem 0; }
#header .header-nav .sl-topbar { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 0 15px; }
#header .header-nav .sl-topbar > div { display: flex; align-items: center; gap: .5rem; }
#header .header-nav .sl-topbar .material-icons { font-size: 18px; color: var(--sl-dourado) !important; }
@media (min-width: 768px) {
  #header .header-top { padding: 1.4rem 0 1rem; }
  #header .header-top .sl-headrow { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin: 0; }
  #header .header-top .header-top-right { display: contents; }
  #header .header-top #_desktop_logo { grid-column: 2; grid-row: 1; width: auto; max-width: none; flex: none; padding: 0 2rem; }
  #header .header-top #_desktop_logo h1 { margin: 0; }
  #header .header-top #_desktop_top_menu { grid-column: 1; grid-row: 1; justify-self: start; width: auto; padding: 0; }
  #header .header-top .sl-tools { grid-column: 3; grid-row: 1; justify-self: end; display: flex; align-items: center; gap: .3rem; }
  #header .sl-tools .material-icons { color: var(--sl-bordo) !important; font-size: 26px; }
  #header .sl-tools a, #header .sl-tools span, #header .sl-tools .expand-more { color: var(--sl-bordo) !important; }
  #header .sl-tools #_desktop_user_info .user-info a span, #header .sl-tools .blockcart .header span.hidden-sm-down { display: none; }
  #header .sl-tools #_desktop_user_info { margin: 0; }
  #header .sl-tools .blockcart { background: transparent !important; padding: 0; margin: 0; height: auto; }
  #header .sl-tools .blockcart .header { display: flex; align-items: center; }
  #header .sl-tools .blockcart .cart-products-count { display: inline-flex !important; align-items: center; justify-content: center; min-width: 20px; height: 20px; border-radius: 50%; background: var(--sl-bordo); color: #fff !important; font-size: .7rem; letter-spacing: 0; margin-left: -8px; margin-top: -14px; }
  #header .sl-tools .language-selector { font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }
  #header .sl-tools .language-selector .expand-more { font-size: .8rem; }
  /* Pesquisa só com ícone; abre ao passar/focar */
  #header .sl-tools #search_widget { float: none; min-width: 0; width: auto; display: flex; align-items: center; margin: 0; }
  #header .sl-tools #search_widget form { display: flex; align-items: center; margin: 0; }
  #header .sl-tools #search_widget input[type=text] { width: 0; padding: 0; border: 0; background: transparent; transition: width .25s, padding .25s; }
  #header .sl-tools #search_widget:hover input[type=text], #header .sl-tools #search_widget input[type=text]:focus { width: 190px; padding: .35rem .6rem; border: 1px solid var(--sl-champanhe); background: #fff; }
  #header .sl-tools #search_widget button[type=submit] { position: static; order: -1; padding: 0 .4rem; background: transparent; }
  #header .sl-tools #search_widget button[type=submit] i { color: var(--sl-bordo); font-size: 26px; }
}
#_desktop_top_menu .top-menu[data-depth="0"] { display: flex; }

/* ===== Home: banner com fotografia e categorias ===== */
.sl-hero { position: relative; overflow: hidden; background: var(--sl-champanhe) center right / cover no-repeat; text-align: left; padding: 6rem 4rem; min-height: 440px; display: flex; flex-direction: column; justify-content: center; margin-bottom: 1.5rem; }
.sl-hero.sl-hero-img { background-image: linear-gradient(90deg, rgba(251,246,242,.92) 0%, rgba(251,246,242,.78) 32%, rgba(251,246,242,0) 62%), var(--sl-hero-url); }
.sl-hero .sl-eyebrow { display: flex; align-items: center; gap: 1rem; }
.sl-hero .sl-eyebrow::after { content: ''; width: 64px; height: 1px; background: var(--sl-dourado); }
.sl-hero h1 { max-width: 640px; }
.sl-hero p { margin: 0 0 1.8rem; max-width: 440px; }
.sl-hero .btn { align-self: flex-start; padding: 1rem 2.4rem; }
.sl-hero .sl-keywords { position: absolute; right: 3rem; bottom: 3rem; text-align: right; font-size: .78rem; letter-spacing: .3em; text-transform: uppercase; color: #fff; line-height: 2; text-shadow: 0 1px 8px rgba(86,23,48,.5); }
.sl-cats a { position: relative; overflow: hidden; background-size: cover; background-position: center; min-height: 240px; align-items: flex-end; justify-content: space-between; color: #fff; text-shadow: 0 1px 10px rgba(0,0,0,.45); }
.sl-cats a::before { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(60,12,30,.72) 0%, rgba(60,12,30,0) 55%); }
.sl-cats a span, .sl-cats a i { position: relative; }
.sl-cats a i { border: 1px solid var(--sl-dourado); border-radius: 50%; padding: .35rem; color: var(--sl-dourado); font-size: 20px; }
.sl-cats a:nth-child(2), .sl-cats a:nth-child(3) { color: #fff; }
@media (max-width: 767px) { .sl-hero { padding: 3rem 1.4rem; min-height: 360px; } .sl-hero .sl-keywords { display: none; } .sl-hero.sl-hero-img { background-image: linear-gradient(0deg, rgba(251,246,242,.9) 0%, rgba(251,246,242,.6) 100%), var(--sl-hero-url); } }

/* ===== Ajustes de layout (home em largura total, cabeçalho em grelha) ===== */
@media (min-width: 768px) { #header .header-top .sl-headrow { display: grid !important; grid-template-columns: 1fr auto 1fr; } }
#custom-text, .custom-text, .page-home .custom-text { background: transparent !important; padding: 0 !important; margin: 0 !important; text-align: left; }
.page-index #wrapper { padding-top: 0; }
.page-index #wrapper > .container { max-width: none; width: 100%; padding: 0; }
.page-index #content-wrapper { padding: 0; }
.page-index #content, .page-index #main { padding: 0; }
.page-index .sl-cats, .page-index .sl-valores, .page-index .featured-products, .page-index .new-products { max-width: 1240px; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
.page-index .sl-cats { margin-top: 1.5rem; }
.sl-hero { margin-bottom: 0; padding: 6rem max(4rem, calc((100% - 1240px) / 2 + 1rem)); }
.sl-hero .sl-keywords { right: max(3rem, calc((100% - 1240px) / 2 + 1rem)); }

/* Pesquisa: ícone que abre o campo */
@media (min-width: 768px) {
  #header .sl-tools #search_widget form i.search { position: static !important; display: inline-block; order: -1; color: var(--sl-bordo) !important; font-size: 26px; padding: 0 .3rem; cursor: pointer; line-height: 1; }
  #header .sl-tools #search_widget form { position: relative; }
}
