/*
Theme Name: Mundinho da Sara
Theme URI: https://example.com/
Author: Custom
Description: Tema infantil, delicado e colorido para WordPress + WooCommerce, inspirado no layout de referência enviado.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mundinho-da-sara
*/

:root{
  --pink:#f79ac2;
  --pink-dark:#e96d9e;
  --aqua:#bceced;
  --aqua-dark:#76d8db;
  --yellow:#fff0a9;
  --cream:#fffdf7;
  --brown:#4d2c27;
  --muted:#806d69;
  --white:#fff;
  --shadow:0 8px 24px rgba(77,44,39,.10);
  --radius:22px;
}

@font-face {
    font-family: 'MilkKids';
    src: url('assets/fonts/MilkKids.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--brown);
  background:#fff;
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif;
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.site-wrap{overflow:hidden}

/* Top bar */
.topbar{
  background:var(--pink);
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.topbar-inner{
  width:min(1280px,94%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.top-pill{
  background:#fff;
  border-radius:999px;
  padding:8px 16px;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  box-shadow:0 2px 0 rgba(77,44,39,.08);
}
.top-social{display:flex;gap:18px;color:#fff;font-weight:700;font-size:18px}
.top-policy{font-size:13px}

/* Header */
.main-header{
  position:relative;
  background:
    radial-gradient(circle at 10% 25%, rgba(247,154,194,.35) 0 6px, transparent 7px),
    radial-gradient(circle at 26% 75%, rgba(188,236,237,.55) 0 5px, transparent 6px),
    linear-gradient(#fffdf7,#fff);
  min-height:275px;
  border-bottom:1px solid #f0ece4;
}
.main-header:before{
  content:"";
  position:absolute;inset:0;
  opacity:.5;pointer-events:none;
  background-image:
    radial-gradient(circle, #f9c6d9 0 2px, transparent 2.5px),
    radial-gradient(circle, #c9eff0 0 2px, transparent 2.5px);
  background-size:90px 90px,120px 120px;
  background-position:10px 10px,45px 40px;
}
.header-inner{
  width:min(1280px,94%);
  margin:auto;
  min-height:275px;
  display:grid;
  grid-template-columns:1fr 320px 1fr;
  align-items:center;
  gap:20px;
  position:relative;
  z-index:1;
}
.search-box{
  width:min(100%,390px);
  border:2px solid #12b9c0;
  background:#d8ffff;
  border-radius:999px;
  padding:13px 20px;
  display:flex;align-items:center;gap:12px;
  box-shadow:0 3px 0 rgba(0,0,0,.05);
}
.search-box input{
  border:0;outline:0;background:transparent;width:100%;
  font-size:16px;color:var(--brown);
}
.brand{
  text-align:center;
  align-self:center;
}
.brand-logo{
  width:250px;height:190px;margin:auto;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle,#fff 35%,#fff3f7 36% 65%,transparent 66%);
  border:3px solid #f5c6d8;
  box-shadow:0 5px 18px rgba(77,44,39,.10);
}
.brand-logo .logo-text{font-weight:900;font-size:30px;line-height:.9;color:var(--pink-dark);text-shadow:2px 2px #fff}
.brand-logo small{display:block;color:#5b7e8c;font-size:14px;margin-top:8px}
.header-actions{
  display:flex;justify-content:flex-end;gap:26px;
}
.header-action{text-align:center;font-weight:800;font-size:14px}
.action-circle{
  width:62px;height:62px;border-radius:50%;
  background:#ff9fc7;color:#fff;
  display:grid;place-items:center;
  font-size:28px;margin:auto auto 7px;
  border:4px solid #fff0f5;
  box-shadow:var(--shadow);
}

/* Navigation */
.main-nav{
  background:#b9e9e9;
  background-image:radial-gradient(rgba(255,255,255,.75) 1.5px,transparent 1.5px);
  background-size:12px 12px;
  border-top:1px solid #d8f5f5;border-bottom:1px solid #9fd8da;
}



/* =========================================
   MENU PRINCIPAL
   ========================================= */

.nav-inner {
    width: min(900px, 94%);
    min-height: 52px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;
}

/* UL PRINCIPAL DO WORDPRESS */
.nav-inner > ul,
.nav-inner > .default-menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;

    gap: 34px;

    list-style: none;

    margin: 0;
    padding: 0;
}

/* LI */

.nav-inner > ul > li,
.nav-inner > .default-menu > li {
    position: relative;

    display: block !important;

    list-style: none;

    margin: 0;
    padding: 0;
}

/* LINKS */

.nav-inner a {
    display: block;

    font-family: 'MilkKids', sans-serif;
    font-size: 22px;
    font-weight: normal;

    color: var(--brown);

    text-decoration: none;

    white-space: nowrap;

    padding: 8px 13px;

    border-radius: 999px;

    transition:
        background .2s ease,
        color .2s ease;
}

.nav-inner a:hover {
    background: var(--yellow);
    color: var(--brown);
}


/* =========================================
   CATEGORIAS
   ========================================= */

.menu-categorias {
    position: relative;
}


/* SETA */

.dropdown-arrow {
    display: inline-block;

    font-family: Arial, sans-serif;
    font-size: 10px;

    margin-left: 5px;

    transition: transform .2s ease;
}

.menu-categorias:hover .dropdown-arrow {
    transform: rotate(180deg);
}


/* =========================================
   DROPDOWN
   ========================================= */

.menu-categorias > .submenu-categorias {
    position: absolute;

    top: calc(100% + 8px);
    left: 50%;

    width: 220px;

    display: block !important;

    flex-direction: column !important;

    background: #fff;

    border: 2px solid #f8d8e5;

    border-radius: 18px;

    padding: 10px;

    margin: 0;

    list-style: none;

    box-shadow: 0 10px 30px rgba(77,44,39,.16);

    opacity: 0;
    visibility: hidden;

    transform: translateX(-50%) translateY(-8px);

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;

    z-index: 9999;
}


/* MOSTRAR */

.menu-categorias:hover > .submenu-categorias {
    opacity: 1;
    visibility: visible;

    transform: translateX(-50%) translateY(0);
}


/* ITENS DO DROPDOWN */

.menu-categorias > .submenu-categorias > li {
    display: block !important;

    width: 100%;

    margin: 0;
    padding: 0;
}


/* LINKS DO DROPDOWN */

.menu-categorias > .submenu-categorias > li > a {
    display: block;

    width: 100%;

    font-family: 'MilkKids', sans-serif;

    font-size: 18px;

    padding: 10px 14px;

    border-radius: 12px;
}

.menu-categorias > .submenu-categorias > li > a:hover {
    background: #ffe1ed;
    color: var(--pink-dark);
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .nav-inner {
        width: 100%;
        overflow-x: auto;

        justify-content: flex-start;

        padding: 0 10px;
    }

    .nav-inner > ul,
    .nav-inner > .default-menu {
        justify-content: flex-start;

        gap: 6px;

        flex-shrink: 0;
    }

    .nav-inner a {
        font-size: 18px;
    }
}



/* Hero */
.hero{
  position:relative;
  min-height:430px;
  padding:42px 20px;
  display:flex;align-items:center;
  background:
    radial-gradient(circle at 8% 25%, #ffe8a6 0 45px, transparent 46px),
    radial-gradient(circle at 94% 75%, #ffc1db 0 70px, transparent 71px),
    repeating-linear-gradient(to bottom,#fff 0 38px,#cfeff2 39px 40px);
  border-bottom:1px solid #eee;
}
.hero-inner{
  width:min(1250px,94%);
  margin:auto;
  display:grid;grid-template-columns:360px 1fr;gap:35px;align-items:center;
}
.hero-character{
  min-height:310px;
  display:flex;align-items:flex-end;justify-content:center;
}
.character-placeholder{
  width:260px;height:300px;border-radius:48% 48% 30% 30%;
  background:linear-gradient(#fff,#fff);
  border:5px solid #6c3d36;
  box-shadow:0 10px 0 #f4b2c9;
  position:relative;
}
.character-placeholder:before{
  content:"👧";
  position:absolute;inset:0;display:grid;place-items:center;
  font-size:145px;filter:drop-shadow(0 4px 2px rgba(0,0,0,.12));
}
.hero-copy{text-align:center}
.hero-copy .script{font-size:64px;font-family:cursive;font-weight:700;line-height:1}
.hero-copy h1{
  margin:0 auto;
  font-size:clamp(42px,6vw,74px);
  line-height:.95;
  color:#f08bb4;
  text-shadow:4px 4px 0 #fff,7px 7px 0 #4d2c27;
  max-width:850px;
}
.hero-copy p{
  display:inline-block;
  margin:20px 0 0;
  padding:12px 25px;
  font-size:clamp(22px,3vw,38px);
  font-weight:900;
  background:rgba(189,238,239,.75);
  border-radius:25px;
}

/* Content */
.container{width:min(1200px,94%);margin:auto}
.section{padding:54px 0}
.section-title{text-align:center;font-size:34px;margin:0 0 30px}
.section-title span{color:var(--pink-dark)}
.products-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.product-card{
  background:#fff;border:1px solid #f0e6e8;border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);
  transition:transform .2s ease,box-shadow .2s ease;
}
.product-card:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(77,44,39,.14)}
.product-thumb{
  aspect-ratio:1/1;background:#fff8fa;display:grid;place-items:center;
  position:relative;overflow:hidden;
}
.product-thumb img{width:100%;height:100%;object-fit:cover}
.product-thumb .emoji{font-size:80px}
.product-info{padding:18px}
.product-title{font-size:18px;font-weight:900;margin:0 0 8px}
.price{font-size:20px;font-weight:900;color:var(--pink-dark)}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--pink);color:#fff;border:0;border-radius:999px;
  padding:11px 18px;font-weight:900;cursor:pointer;
}
.button:hover{background:var(--pink-dark);color:#fff}
.badge{
  position:absolute;left:12px;top:12px;background:var(--yellow);
  border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;
}

/* WooCommerce */
.woocommerce .site-main,.woocommerce-page .site-main{padding:45px 0}
.woocommerce ul.products{margin:0!important}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--pink-dark);font-weight:900}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--pink);color:#fff;border-radius:999px;font-weight:900;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--pink-dark);color:#fff}
.woocommerce span.onsale{background:var(--pink-dark)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--pink)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--pink)}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review{
  border:1px solid #f0e6e8;border-radius:18px;padding:22px;background:#fff;
}

/* Footer */
.site-footer{
  background:#b9e9e9;
  background-image:radial-gradient(rgba(255,255,255,.75) 1.5px,transparent 1.5px);
  background-size:12px 12px;
  padding:45px 0 25px;
  margin-top:40px;
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}
.footer-title{font-size:22px;font-weight:900;margin:0 0 12px}
.footer-bottom{text-align:center;border-top:1px solid rgba(77,44,39,.12);margin-top:30px;padding-top:20px;font-size:13px}

/* Mobile */
@media (max-width:900px){
  .header-inner{grid-template-columns:1fr;min-height:auto;padding:24px 0}
  .search-box{margin:auto}
  .header-actions{justify-content:center}
  .hero-inner{grid-template-columns:1fr}
  .hero-character{min-height:190px}
  .character-placeholder{width:170px;height:190px}
  .character-placeholder:before{font-size:95px}
  .products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .topbar-inner{flex-wrap:wrap;justify-content:center;padding:7px 0}
  .top-social{display:none}
  .main-header{min-height:auto}
  .brand-logo{width:205px;height:150px}
  .brand-logo .logo-text{font-size:25px}
  .nav-inner{gap:6px;overflow:auto;justify-content:flex-start;white-space:nowrap}
  .nav-inner a{font-size:14px}
  .hero{min-height:420px;padding:30px 10px}
  .hero-copy .script{font-size:45px}
  .hero-copy h1{font-size:42px}
  .hero-copy p{font-size:20px}
  .products-grid{grid-template-columns:1fr 1fr;gap:12px}
  .product-info{padding:13px}
  .product-title{font-size:15px}
  .price{font-size:17px}
  .footer-grid{grid-template-columns:1fr}
}