/*
 Theme Name:   Sofia Fashion Child
 Description:  Tema filho dedicado ao site Sofia Fashion (independente de outros childs da rede)
 Author:       Navros
 Template:     hello-elementor
 Text Domain:  sofia-child
 Version:      1.0.0
*/

:root {
    --sofia-pink: #ff2d7a;
    --sofia-pink-alt: #ff3b86;
    --sofia-pink-light: #fdf2f8;
    --sofia-black: #000000;
    --sofia-white: #ffffff;
    --sofia-gray-light: #f8f8f8;
}

.custom-logo {
    max-width: 160px !important;
    height: auto;
}

.site-header {
    padding: 10px 0;
}

#place_order {
    background: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #ff2d7a !important;
    border-radius: 6px !important;
    font-weight: 600;
    transition: all 0.25s ease;
    width: 100% !important;
}

#place_order:hover {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ff2d7a !important;
}

/* ===== Header / Footer (templates elementor-hf) ===== */
.sofia-hf-promo{background:#fde2ef;color:#33202b;text-align:center;padding:10px 16px;font-size:13px;font-weight:600;letter-spacing:.02em;}
.sofia-hf-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 32px;flex-wrap:wrap;background:#fff;}
.sofia-hf-logo img{max-height:60px;width:auto;display:block;}
.sofia-hf-search{flex:1;max-width:520px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f2f2f2;border-radius:24px;padding:12px 20px;text-decoration:none;color:#8a7a82;font-size:14px;}
.sofia-hf-search:hover{background:#ececec;color:#5a4550;}
.sofia-hf-search-icon{color:#ff2d7a;font-size:16px;}
.sofia-hf-actions{display:flex;align-items:center;gap:26px;}
.sofia-hf-actions a{display:flex;align-items:center;gap:6px;color:#33202b;text-decoration:none;font-size:14px;font-weight:500;}
.sofia-hf-actions a:hover{color:#ff2d7a;}
.sofia-hf-cart{position:relative;}
.sofia-hf-cart .count{position:absolute;top:-8px;right:-10px;background:#ff2d7a;color:#fff;font-size:11px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.sofia-hf-nav{background:#fff;border-top:1px solid #f3d9e6;}
.sofia-hf-nav ul{list-style:none;display:flex;justify-content:center;gap:34px;margin:0;padding:14px 16px;flex-wrap:wrap;}
.sofia-hf-nav li{position:relative;}
.sofia-hf-nav > ul > li > a{color:#33202b;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.03em;}
.sofia-hf-nav a:hover{color:#ff2d7a;}
.sofia-hf-nav .dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.1);border-radius:8px;padding:8px 0;min-width:200px;z-index:50;}
.sofia-hf-nav li.has-dropdown:hover .dropdown{display:block;}
.sofia-hf-nav .dropdown li a{display:block;padding:8px 20px;font-weight:500;font-size:13px;}

.sofia-hf-foot-cols{background:#fde2ef;padding:44px 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.sofia-hf-foot-cols h4{margin:0 0 16px;font-size:14px;letter-spacing:.04em;color:#33202b;}
.sofia-hf-foot-cols ul{list-style:none;margin:0;padding:0;}
.sofia-hf-foot-cols li{margin-bottom:10px;}
.sofia-hf-foot-cols a{color:#5a4550;text-decoration:none;font-size:14px;}
.sofia-hf-foot-cols a:hover{color:#ff2d7a;}
.sofia-hf-foot-contact p{margin:8px 0;font-size:14px;color:#5a4550;}
.sofia-hf-social{display:flex;gap:12px;}
.sofia-hf-social a{width:34px;height:34px;border-radius:50%;background:#ff2d7a;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:15px;}
.sofia-hf-foot-badges{padding:36px 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;background:#fff;}
.sofia-hf-foot-badges h5{font-size:13px;letter-spacing:.04em;color:#33202b;margin:0 0 14px;}
.sofia-hf-pay-icons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.sofia-hf-pay-icons span{border:1px solid #e5d3dc;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:700;color:#5a4550;}
.sofia-hf-bottom{padding:18px 16px;text-align:center;font-size:12px;color:#8a7a82;border-top:1px solid #f1e3ea;}
@media(max-width:782px){
 .sofia-hf-header{padding:12px 16px;}
 .sofia-hf-search{order:3;max-width:100%;flex-basis:100%;}
 .sofia-hf-actions span.sofia-label{display:none;}
 .sofia-hf-nav ul{gap:16px;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;}
 .sofia-hf-foot-cols{grid-template-columns:repeat(2,1fr);}
 .sofia-hf-foot-badges{grid-template-columns:1fr;}
}

/* ===== Home ===== */
.sofia-hero{position:relative;width:100%;max-height:520px;overflow:hidden;}
.sofia-hero picture,.sofia-hero img{display:block;width:100%;height:100%;object-fit:cover;}
.sofia-hero-caption{position:absolute;left:0;bottom:0;padding:36px;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);color:#fff;width:100%;}
.sofia-hero-caption h1{margin:0 0 6px;font-size:32px;}
.sofia-hero-caption p{margin:0 0 16px;font-size:15px;opacity:.9;}
.sofia-btn{display:inline-block;padding:12px 26px;border-radius:6px;font-size:13px;font-weight:700;letter-spacing:.04em;text-decoration:none;transition:all .2s ease;}
.sofia-btn-pink{background:#ff2d7a;color:#fff;}
.sofia-btn-pink:hover{background:#e0246a;}
.sofia-btn-outline{border:2px solid #ff2d7a;color:#ff2d7a;background:transparent;}
.sofia-btn-outline:hover{background:#ff2d7a;color:#fff;}

.sofia-section{padding:52px 32px;}
.sofia-section-alt{background:#fdf7fa;}
.sofia-section-title{text-align:center;font-size:24px;letter-spacing:.03em;margin:0 0 32px;color:#33202b;}
.sofia-section-cta{text-align:center;margin-top:32px;}

.sofia-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1200px;margin:0 auto;}
.sofia-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06);transition:transform .2s ease;}
.sofia-card:hover{transform:translateY(-3px);}
.sofia-card-img{aspect-ratio:3/4;overflow:hidden;background:#f4f4f4;}
.sofia-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.sofia-card-body{padding:14px 16px 4px;display:flex;flex-direction:column;gap:4px;}
.sofia-card-title{font-size:13px;color:#33202b;font-weight:600;line-height:1.35;}
.sofia-card-price{font-size:15px;color:#ff2d7a;font-weight:700;}
.sofia-card-btn{margin:12px 16px 16px;text-align:center;border:1px solid #eee;border-radius:6px;padding:8px;font-size:12px;font-weight:700;letter-spacing:.03em;color:#33202b;}
.sofia-card:hover .sofia-card-btn{background:#000;color:#fff;border-color:#000;}

.sofia-banner{position:relative;display:block;max-width:1200px;margin:0 auto;border-radius:12px;overflow:hidden;text-decoration:none;}
.sofia-banner img{width:100%;height:280px;object-fit:cover;display:block;}
.sofia-banner-caption{position:absolute;left:28px;bottom:24px;color:#fff;font-size:20px;background:rgba(0,0,0,.35);padding:10px 18px;border-radius:8px;line-height:1.4;}

.sofia-cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;max-width:1200px;margin:0 auto;}
.sofia-cat-card{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:#33202b;font-size:13px;font-weight:600;}
.sofia-cat-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:3px solid #fde2ef;}

@media(max-width:1024px){
 .sofia-grid{grid-template-columns:repeat(3,1fr);}
 .sofia-cat-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:600px){
 .sofia-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
 .sofia-cat-grid{grid-template-columns:repeat(2,1fr);}
 .sofia-section{padding:36px 16px;}
 .sofia-hero-caption h1{font-size:24px;}
}
