/*
Theme Name: Mirage 3D
Theme URI: https://mirage3d.pt
Author: Mirage 3D
Description: Tema WooCommerce personalizado para a loja Mirage 3D - Criatividade Impressa. Loja de peças e brindes impressos em 3D.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mirage3d
*/

:root{
  --color-bg-cream:#FBF3DF;
  --color-bg-page:#F4F1EC;
  --color-teal-dark:#1D7A8C;
  --color-teal:#2C97AC;
  --color-teal-light:#8FDCE0;
  --color-yellow:#F6C445;
  --color-yellow-dark:#F0B32E;
  --color-text:#2B2B2B;
  --color-text-light:#6b6b6b;
  --color-white:#ffffff;
  --radius-lg:18px;
  --radius-md:12px;
  --radius-pill:999px;
  --shadow-card:0 4px 14px rgba(0,0,0,0.08);
  --font-heading:'Baloo 2', 'Nunito', sans-serif;
  --font-body:'Nunito', sans-serif;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-text);
  background:var(--color-bg-page);
  line-height:1.5;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-heading); margin:0 0 .5em;}
ul{list-style:none; margin:0; padding:0;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}

.btn{
  display:inline-block;
  padding:12px 24px;
  border-radius:var(--radius-pill);
  font-weight:700;
  font-family:var(--font-heading);
  border:none;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--color-teal-dark); color:#fff;}
.btn-dark{background:var(--color-teal-dark); color:#fff;}

/* HEADER */
.site-header{background:var(--color-bg-cream); border-bottom:1px solid rgba(0,0,0,.05);}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 24px;}
.site-branding a{display:flex; align-items:center; gap:10px;}
.logo-emoji{font-size:34px;}
.logo-text strong{display:block; font-family:var(--font-heading); font-size:19px; color:var(--color-text);}
.logo-text small{display:block; color:var(--color-text-light); font-size:11px;}
.custom-logo{max-height:56px; width:auto;}

.primary-nav{flex:1;}
.nav-menu{display:flex; gap:6px; flex-wrap:wrap; justify-content:center;}
.nav-menu li a{
  display:inline-block;
  padding:8px 16px;
  border-radius:var(--radius-pill);
  font-weight:700;
  font-size:14px;
  color:var(--color-text);
}
.nav-menu li a:hover, .nav-menu li.current-menu-item a, .nav-menu li.current-menu-ancestor a{
  background:var(--color-teal-light);
  color:var(--color-teal-dark);
}

.header-icons{display:flex; align-items:center; gap:10px;}
.icon-btn{
  background:transparent; border:none; cursor:pointer;
  font-size:16px; padding:8px; border-radius:50%;
  display:inline-flex; align-items:center; gap:4px;
}
.icon-btn:hover{background:rgba(0,0,0,.05);}
.cart-icon{position:relative; font-size:15px;}
.cart-count{
  background:var(--color-teal-dark); color:#fff; font-size:11px; font-weight:700;
  border-radius:50%; min-width:18px; height:18px; display:inline-flex;
  align-items:center; justify-content:center; padding:0 4px;
}
.search-panel{display:none; padding:10px 0 16px;}
.search-panel.is-open{display:block;}
.woocommerce-product-search{display:flex; gap:8px;}
.search-field{flex:1; padding:10px 16px; border-radius:var(--radius-pill); border:1px solid #ddd;}
.search-submit{border:none; background:var(--color-teal-dark); color:#fff; border-radius:50%; width:40px; height:40px; cursor:pointer;}
.menu-toggle{display:none; background:none; border:none; font-size:22px; cursor:pointer;}

/* HERO */
.hero{background:linear-gradient(180deg,#fdf7e6,transparent); padding:48px 0;}
.hero-inner{display:flex; align-items:center; gap:40px; flex-wrap:wrap;}
.hero-text{flex:1; min-width:280px;}
.hero-text h1{font-size:34px; line-height:1.15; color:var(--color-text);}
.hero-text p{color:var(--color-text-light); font-size:16px; margin-bottom:6px;}
.hero-tag{font-weight:800; color:var(--color-teal-dark); text-transform:uppercase; font-size:14px;}
.hero-image{flex:1; min-width:280px;}
.hero-image img{border-radius:var(--radius-lg); box-shadow:var(--shadow-card);}

/* HIGHLIGHTS */
.highlights{padding:32px 24px 48px;}
.highlights h2{font-size:22px; margin-bottom:18px;}
.highlights-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px;}
.highlight-card{
  background:var(--color-yellow); border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-card); position:relative;
}
.highlight-card img{height:150px; object-fit:cover; width:100%;}
.highlight-name{display:block; padding:12px 16px; font-weight:800; font-family:var(--font-heading); color:var(--color-text);}

/* SHOP */
.shop-page{display:flex; gap:32px; padding:32px 0 60px; align-items:flex-start;}
.shop-sidebar{width:230px; flex-shrink:0;}
.shop-widget{background:#fff; border-radius:var(--radius-md); padding:16px; margin-bottom:16px; box-shadow:var(--shadow-card);}
.widget-title{font-size:15px; margin-bottom:10px; display:flex; align-items:center; justify-content:space-between;}
.shop-main{flex:1; min-width:0;}
.page-title{font-size:24px; margin-bottom:20px;}

ul.products{display:grid !important; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:20px; margin:0 !important; padding:0 !important;}
ul.products li.product{
  list-style:none; background:#fff; border-radius:var(--radius-lg); padding:14px;
  box-shadow:var(--shadow-card); position:relative;
}
ul.products li.product img{border-radius:var(--radius-md); aspect-ratio:1/1; object-fit:cover; margin-bottom:10px;}
ul.products li.product .woocommerce-loop-product__title{font-size:15px; margin:6px 0 4px; font-family:var(--font-body); font-weight:700; color:var(--color-text);}
ul.products li.product .price{color:var(--color-teal-dark); font-weight:800; font-family:var(--font-heading); display:block; margin-bottom:8px;}
ul.products li.product .button{margin-top:6px;}
ul.products li.product a.woocommerce-loop-product__link{display:block;}
.star-rating{margin-bottom:4px;}
a.add_to_cart_button, .single_add_to_cart_button, .woocommerce #respond input#submit{
  display:block; text-align:center; width:100%;
  background:var(--color-white); color:var(--color-teal-dark);
  border:2px solid var(--color-teal-dark); border-radius:var(--radius-pill);
  padding:9px 10px; font-weight:800; font-size:13px; cursor:pointer;
}
a.add_to_cart_button:hover, .single_add_to_cart_button:hover{background:var(--color-teal-dark); color:#fff;}
.onsale{
  position:absolute; top:10px; left:10px; background:var(--color-yellow-dark); color:#fff;
  font-size:11px; font-weight:800; padding:4px 10px; border-radius:var(--radius-pill); z-index:2;
}

/* Sidebar widgets: categories / price filter */
.shop-widget ul li{margin-bottom:8px; font-size:14px;}
.shop-widget input[type="checkbox"]{margin-right:8px;}
.price_slider_wrapper .ui-slider{background:var(--color-teal-light); height:5px; border-radius:5px;}
.price_slider_wrapper .ui-slider .ui-slider-handle{background:var(--color-teal-dark); border:none; width:16px; height:16px; border-radius:50%; top:-6px;}
.price_slider_wrapper .ui-slider .ui-slider-range{background:var(--color-teal-dark);}
.price_slider_amount .button{background:var(--color-teal-dark); color:#fff; border-radius:var(--radius-pill); border:none; padding:6px 14px;}

/* SINGLE PRODUCT */
.single-product-page{padding:32px 0 60px;}
.single-product-page .summary{padding-left:8px;}
.single-product-page .woocommerce-product-gallery{border-radius:var(--radius-lg); overflow:hidden;}
.single-product-page .product_title{font-size:26px;}
.single-product-page p.price{font-size:24px; margin:10px 0;}
.single-product-page .quantity input{border-radius:var(--radius-pill); border:1px solid #ddd; padding:8px 12px; width:70px;}
.related.products{margin-top:50px;}
.related.products > h2{font-size:20px;}

/* Pagination */
.woocommerce-pagination ul{display:flex; gap:8px; margin-top:24px;}
.woocommerce-pagination a, .woocommerce-pagination span{
  display:inline-block; padding:8px 14px; border-radius:var(--radius-pill); background:#fff; box-shadow:var(--shadow-card);
}
.woocommerce-pagination .current{background:var(--color-teal-dark); color:#fff;}

/* FOOTER */
.footer-top{background:var(--color-yellow); padding:18px 0;}
.footer-top-inner{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;}
.footer-contact{display:flex; align-items:center; gap:16px; font-weight:800; font-family:var(--font-heading);}
.footer-payment{display:flex; align-items:center; gap:10px; font-weight:700; font-size:14px;}
.footer-bottom{background:var(--color-bg-cream); padding:16px 0;}
.footer-bottom-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; font-size:13px; color:var(--color-text-light);}
.footer-menu{display:flex; gap:16px;}

/* RESPONSIVE */
@media (max-width: 900px){
  .header-inner{flex-wrap:wrap;}
  .primary-nav{order:3; width:100%; display:none;}
  .primary-nav.is-open{display:block;}
  .menu-toggle{display:inline-flex;}
  .shop-page{flex-direction:column;}
  .shop-sidebar{width:100%;}
}
