/*
Theme Name: Rara Fashion V4
Theme URI: https://rarafashion.com.br
Author: Rara Fashion
Author URI: https://rarafashion.com.br
Description: Tema customizado de moda feminina de luxo para WordPress + WooCommerce.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rara-fashion-v3
Tags: e-commerce, fashion, luxury, woocommerce, custom-logo, custom-menu
*/

:root {
  --rara-bg: #0f0f0f;
  --rara-bg-soft: #171717;
  --rara-surface: #141414;
  --rara-surface-2: #1d1d1d;
  --rara-text: #f5efe6;
  --rara-text-soft: #dbcdb9;
  --rara-muted: #bba98f;
  --rara-gold: #c8a46b;
  --rara-border: rgba(200,164,107,.18);
  --rara-white: #ffffff;
  --rara-font-body: 'Outfit', Arial, sans-serif;
  --rara-font-display: 'Cormorant Garamond', Georgia, serif;
  --rara-radius: 24px;
  --rara-shadow: 0 18px 60px rgba(0,0,0,.18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--rara-bg);
  color: var(--rara-text);
  font-family: var(--rara-font-body);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
input, select, textarea, button { font: inherit; }

.rara-container { width: min(1200px, 92%); margin: 0 auto; }
.rara-page-shell { min-height: 50vh; }
.rara-kicker {
  display: inline-block; margin: 0 0 14px; color: var(--rara-gold);
  text-transform: uppercase; letter-spacing: .28em; font-size: 12px;
}
.rara-link { color: var(--rara-gold); border-bottom: 1px solid rgba(200,164,107,.35); padding-bottom: 2px; }
.rara-link:hover { opacity: .85; }
.rara-empty-state { text-align: center; color: var(--rara-text-soft); padding: 24px 0 60px; }

.rara-site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(12,12,12,.86); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--rara-border);
}
.rara-header-row {
  display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 84px;
}
.rara-brand { font-family: var(--rara-font-display); font-size: 34px; letter-spacing: .04em; }
.rara-brand img { max-height: 54px; width: auto; }
.rara-menu, .rara-footer-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 24px; }
.rara-menu a, .rara-header-actions a, .rara-footer-menu a { color: var(--rara-text-soft); font-size: 14px; }
.rara-menu a:hover, .rara-header-actions a:hover, .rara-footer-menu a:hover { color: var(--rara-white); }
.rara-header-actions { display: flex; gap: 18px; align-items: center; }
.rara-cart-link span {
  display: inline-flex; justify-content: center; align-items: center; min-width: 24px; height: 24px;
  background: var(--rara-gold); color: #111; border-radius: 999px; font-size: 12px; margin-left: 8px; font-weight: 600;
}

.rara-site-footer { border-top: 1px solid var(--rara-border); margin-top: 60px; padding: 50px 0; background: #0b0b0b; }
.rara-footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 28px; }
.rara-site-footer h3, .rara-site-footer h4 {
  margin: 0 0 14px; font-family: var(--rara-font-display); font-size: 28px;
}
.rara-site-footer h4 { font-size: 20px; }
.rara-site-footer p, .rara-site-footer li, .rara-site-footer a { color: var(--rara-text-soft); }

.rara-page-hero {
  padding: 72px 0 30px; text-align: center; border-bottom: 1px solid rgba(200,164,107,.1);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}
.rara-page-hero-simple { padding-top: 64px; }
.rara-page-hero h1 {
  margin: 0; font-family: var(--rara-font-display); font-weight: 500; font-size: clamp(38px, 6vw, 68px); line-height: 1.05;
}
.rara-page-hero-text { max-width: 760px; margin: 18px auto 0; color: var(--rara-text-soft); }
.rara-page-content-wrap { padding: 48px 0 12px; }
.rara-page-content {
  background: var(--rara-surface); border: 1px solid var(--rara-border); border-radius: var(--rara-radius);
  padding: 34px; box-shadow: var(--rara-shadow);
}
.rara-page-content h2, .rara-page-content h3 { font-family: var(--rara-font-display); }

.rara-shop-toolbar-wrap { padding: 24px 0 10px; }
.rara-shop-toolbar { display: flex; justify-content: space-between; gap: 16px; align-items: center; color: var(--rara-text-soft); }
.rara-shop-grid-wrap { padding-bottom: 20px; }
.rara-shop-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px;
}
.rara-product-card {
  background: var(--rara-surface); border: 1px solid var(--rara-border); border-radius: 20px; overflow: hidden;
}
.rara-product-thumb-wrap { position: relative; aspect-ratio: 3 / 4; background: var(--rara-surface-2); overflow: hidden; }
.rara-product-thumb-img, .rara-gallery-item img, .rara-main-product-image { width: 100%; height: 100%; object-fit: cover; }
.rara-product-thumb-img { transition: transform .35s ease; }
.rara-product-card:hover .rara-product-thumb-img { transform: scale(1.04); }
.rara-badge {
  position: absolute; top: 14px; left: 14px; background: var(--rara-gold); color: #111;
  padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 600;
}
.rara-product-meta { padding: 18px; }
.rara-product-cats, .rara-product-cats a { color: var(--rara-muted); font-size: 13px; }
.rara-product-meta h3 { margin: 8px 0 10px; font-size: 20px; font-family: var(--rara-font-display); font-weight: 500; }
.rara-product-price { color: var(--rara-gold); font-weight: 600; }
.rara-product-actions { margin-top: 14px; }
.rara-pagination-wrap { padding: 36px 0 0; }

.rara-single-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; padding: 36px 0 20px; }
.rara-breadcrumbs { padding-top: 30px; color: var(--rara-muted); font-size: 14px; }
.rara-breadcrumbs a { color: var(--rara-text-soft); }
.rara-single-main-image {
  aspect-ratio: 4 / 5; overflow: hidden; border-radius: 24px; background: var(--rara-surface); border: 1px solid var(--rara-border);
}
.rara-gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 14px; }
.rara-gallery-item { aspect-ratio: 1 / 1; overflow: hidden; border-radius: 14px; background: var(--rara-surface); border: 1px solid var(--rara-border); }
.rara-single-summary h1 {
  margin: 6px 0 14px; font-family: var(--rara-font-display); font-weight: 500; font-size: clamp(34px, 5vw, 56px); line-height: 1.05;
}
.rara-single-price { color: var(--rara-gold); font-size: 28px; margin-bottom: 22px; }
.rara-single-description { color: var(--rara-text-soft); margin-bottom: 22px; }
.rara-whatsapp-btn, .single_add_to_cart_button, .wc-proceed-to-checkout .checkout-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 24px;
  border-radius: 999px !important; border: 1px solid var(--rara-gold) !important; background: var(--rara-gold) !important;
  color: #111 !important; font-weight: 600 !important; box-shadow: none !important;
}
.rara-whatsapp-btn { margin-top: 14px; width: 100%; }
.woocommerce .quantity .qty {
  min-height: 48px; background: var(--rara-surface); border: 1px solid var(--rara-border); color: var(--rara-text); border-radius: 14px;
}
.woocommerce div.product form.cart .variations select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-cart table.cart td.actions .coupon .input-text {
  width: 100%; min-height: 50px; background: var(--rara-surface); color: var(--rara-text);
  border: 1px solid var(--rara-border); border-radius: 16px; padding: 12px 14px;
}
.woocommerce form .form-row textarea { min-height: 120px; }
.rara-single-meta, .product_meta, .woocommerce-product-details__short-description { color: var(--rara-text-soft); }

.woocommerce .related > h2,
.woocommerce-tabs h2,
.cart_totals h2,
.woocommerce-checkout-review-order h3,
.woocommerce-MyAccount-content h2,
.woocommerce-account .addresses .title h3 {
  font-family: var(--rara-font-display); font-weight: 500; font-size: 34px; margin: 26px 0 18px;
}

.woocommerce ul.products,
.woocommerce-page ul.products { list-style: none; margin: 0; padding: 0; }
.woocommerce table.shop_table {
  background: var(--rara-surface); border: 1px solid var(--rara-border); border-radius: 24px; overflow: hidden; color: var(--rara-text);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 16px !important; border-color: rgba(200,164,107,.08) !important; }
.woocommerce-cart .cart-collaterals, .woocommerce .cart-collaterals { margin-top: 28px; }
.woocommerce .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
  background: var(--rara-surface); border: 1px solid var(--rara-border); border-radius: 24px; padding: 24px;
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li { margin-bottom: 10px; }
.woocommerce-MyAccount-navigation a { color: var(--rara-text-soft); }
.woocommerce-MyAccount-navigation .is-active a { color: var(--rara-white); }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 280px 1fr; gap: 24px; }
.rara-checkout-grid,
.woocommerce-checkout #customer_details { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; }
.woocommerce-checkout #order_review_heading { margin-top: 0; }
.woocommerce-info, .woocommerce-message, .woocommerce-error {
  border-radius: 16px; background: var(--rara-surface) !important; color: var(--rara-text) !important; border-top: 3px solid var(--rara-gold) !important;
}
.woocommerce .woocommerce-ordering select { min-height: 46px; background: var(--rara-surface); color: var(--rara-text); border: 1px solid var(--rara-border); border-radius: 999px; padding: 0 16px; }

@media (max-width: 1024px) {
  .rara-shop-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rara-single-grid,
  .woocommerce-checkout #customer_details,
  .rara-checkout-grid,
  .woocommerce-account .woocommerce,
  .rara-footer-grid { grid-template-columns: 1fr; }
  .rara-menu { gap: 14px; flex-wrap: wrap; justify-content: center; }
  .rara-header-row { flex-direction: column; padding: 14px 0; }
}

@media (max-width: 640px) {
  .rara-shop-grid { grid-template-columns: 1fr; }
  .rara-page-content { padding: 22px; }
  .rara-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .rara-shop-toolbar { flex-direction: column; align-items: flex-start; }
  .woocommerce table.shop_table td,
  .woocommerce table.shop_table th { padding: 12px !important; }
}

.custom-logo-link img, img.custom-logo { max-height: 54px !important; width: auto !important; }
.site-logo img { max-height: 54px !important; width: auto !important; }


/* V4 single product fixes */
.single-product .rara-single-grid{align-items:start;}
.single-product .rara-single-main-image img{width:100%;height:100%;object-fit:cover;}
.single-product .rara-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.single-product .rara-gallery-item img{width:100%;height:100%;object-fit:cover;}
.single-product .flex-control-thumbs,
.single-product ol.flex-control-nav,
.single-product ul.flex-control-nav{list-style:none!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 0!important;padding:0!important;}
.single-product .flex-control-thumbs li,
.single-product ol.flex-control-nav li,
.single-product ul.flex-control-nav li{float:none!important;width:auto!important;margin:0!important;}
.single-product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important;}
.single-product div.product div.summary{width:100%!important;float:none!important;margin:0!important;}
.single-product .related ul.products,
.single-product .upsells ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0;}
.single-product .related ul.products li.product,
.single-product .upsells ul.products li.product{float:none!important;width:auto!important;margin:0!important;background:var(--rara-surface);border:1px solid var(--rara-border);border-radius:20px;overflow:hidden;padding:0;}
.single-product .related ul.products li.product a,
.single-product .upsells ul.products li.product a{display:block;}
.single-product .related ul.products li.product img,
.single-product .upsells ul.products li.product img{width:100%!important;height:auto;aspect-ratio:3/4;object-fit:cover;margin:0 0 14px!important;}
.single-product .related ul.products li.product .woocommerce-loop-product__title,
.single-product .upsells ul.products li.product .woocommerce-loop-product__title{font-family:var(--rara-font-display);font-size:22px;line-height:1.1;padding:0 16px;margin:0 0 8px;color:var(--rara-text);}
.single-product .related ul.products li.product .price,
.single-product .upsells ul.products li.product .price{display:block;padding:0 16px 12px;color:var(--rara-gold);font-weight:600;}
.single-product .related ul.products li.product .button,
.single-product .upsells ul.products li.product .button{margin:0 16px 16px!important;display:inline-flex!important;}
@media (max-width:1024px){
  .single-product .related ul.products,
  .single-product .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .single-product .related ul.products,
  .single-product .upsells ul.products,
  .single-product .rara-gallery-grid,
  .single-product .flex-control-thumbs,
  .single-product ol.flex-control-nav,
  .single-product ul.flex-control-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
