/*
Theme Name: Loja White Label
Theme URI: https://github.com/
Description: Tema WordPress white-label. Homepage = loja pública. Admin em slug configurável.
Version: 3.0.0
Author: VYNN
Text Domain: loja-whitelabel
*/

/* ============ RESET ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;color-scheme:light only}
body{font-family:'Montserrat',sans-serif;background:var(--bg,#F5F0EB)!important;color:var(--text,#2C2C2C)!important;line-height:1.6;overflow-x:hidden;color-scheme:light only!important}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

/* Force light mode always */
@media(prefers-color-scheme:dark){
  html,body{background:#F5F0EB!important;color:#2C2C2C!important;color-scheme:light only!important}
  *{color-scheme:light only!important}
}

/* ============ CSS VARS ============ */
:root{
  --bg:#F5F0EB;
  --card:#FEFCFA;
  --accent:#8B6F47;
  --accent-light:#D4A853;
  --text:#2C2C2C;
  --text-light:#555;
  --text-muted:#888;
  --border:rgba(139,111,71,0.15);
  --heading:'Cormorant Garamond',Georgia,serif;
  --body:'Montserrat',sans-serif;
  --radius:12px;
  --hero-text-color:#ffffff;
  --hero-overlay-opacity:0.35;
}

/* ============ STORE NAV ============ */
.store-nav{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 24px;display:flex;justify-content:center;align-items:center}
.store-nav__links{display:flex;gap:28px}
.store-nav__link{font-family:var(--body);font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text);transition:color 0.3s;padding:4px 0;position:relative}
.store-nav__link--active{color:var(--accent);border-bottom:2px solid var(--accent)}
.store-nav__link:hover{color:var(--accent)}
.store-nav__hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.store-nav__hamburger span{width:22px;height:2px;background:var(--text);transition:0.3s}
.store-nav__mobile{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(245,240,235,0.98);z-index:99;flex-direction:column;justify-content:center;align-items:center;gap:32px}
.store-nav__mobile.open{display:flex}
.store-nav__mobile a{font-family:var(--heading);font-size:1.8rem;color:var(--text)}
.store-nav__mobile-close{position:absolute;top:16px;right:20px;font-size:2rem;background:none;border:none;cursor:pointer;color:var(--text)}

@media(max-width:767px){
  .store-nav__links{display:none}
  .store-nav__hamburger{display:flex}
  .store-nav{justify-content:flex-end}
}

/* ============ HERO ============ */
.store-hero{position:relative;height:50vh;min-height:300px;max-height:500px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden}
.store-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.store-hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,var(--hero-overlay-opacity));z-index:1}
.store-hero__content{position:relative;z-index:2;max-width:700px;padding:0 24px}
.store-hero__tags{font-family:var(--body);font-size:0.7rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--hero-text-color);opacity:0.85;margin-bottom:12px}
.store-hero__title{font-family:var(--heading);font-size:clamp(2rem,5vw,3.2rem);font-weight:400;line-height:1.15;margin:0 0 16px;color:var(--hero-text-color)}
.store-hero__desc{font-family:var(--body);font-size:clamp(0.8rem,1.8vw,0.95rem);color:var(--hero-text-color);opacity:0.9;line-height:1.6;max-width:550px;margin:0 auto}
.store-hero__extra{font-family:var(--body);font-size:0.8rem;color:var(--hero-text-color);opacity:0.7;margin-top:12px}

/* ============ PRODUCTS ============ */
.store-products{padding:40px 24px 60px;max-width:1200px;margin:0 auto}
.store-products__nav{display:flex;gap:20px;justify-content:center;margin-bottom:36px;flex-wrap:wrap}
.store-products__cat{font-family:var(--body);font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);padding:6px 0;border-bottom:2px solid transparent;transition:all 0.3s;cursor:pointer}
.store-products__cat.active,.store-products__cat:hover{color:var(--accent);border-bottom-color:var(--accent)}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.product-card{transition:transform 0.3s}
.product-card:hover{transform:translateY(-4px)}
.product-card__img-link{display:block}
.product-card__img{aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius)}
.product-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.product-card:hover .product-card__img img{transform:scale(1.05)}
.product-card__body{padding:12px 4px 8px}
.product-card__name{font-family:var(--body);font-size:0.8rem;font-weight:600;letter-spacing:0.05em;margin-bottom:6px}
.product-card__prices{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.product-card__old-price{text-decoration:line-through;color:var(--text-muted);font-size:0.8rem}
.product-card__price{font-weight:700;color:var(--text);font-size:0.95rem}
.product-card__rating{display:flex;align-items:center;gap:4px;margin-bottom:2px}
.product-card__rating-num{color:var(--text);font-weight:600;font-size:0.85rem}
.product-card__stars{color:var(--accent-light);font-size:0.85rem}
.product-card__reviews{color:var(--text-muted);font-size:0.8rem}
.product-card__installments{font-size:0.7rem;color:var(--text-muted);margin:4px 0 8px}
.product-card__buy{font-family:var(--body);font-size:0.78rem;color:var(--text);text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){.products-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:500px){.products-grid{grid-template-columns:repeat(2,1fr);gap:14px}}

/* Mobile categories: tighter spacing */
@media(max-width:767px){
  .store-products__nav{gap:8px 12px;margin-bottom:24px}
  .store-products__cat{font-size:0.68rem;letter-spacing:0.08em;padding:4px 0}
}

/* ============ ABOUT ============ */
.store-about{padding:60px 24px 40px;max-width:900px;margin:0 auto}
.section-label{font-family:var(--body);font-size:0.7rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-weight:600}
.store-about__title{font-family:var(--heading);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:400;font-style:italic;margin-bottom:20px;line-height:1.2;color:var(--text)}
.store-about__text{font-family:var(--body);font-size:0.9rem;line-height:1.8;color:var(--text-light);margin-bottom:16px}
.store-about__link{font-family:var(--body);font-size:0.85rem;color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* ============ HIGHLIGHTS ============ */
.store-highlights{padding:20px 24px 60px;max-width:900px;margin:0 auto}
.highlights-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.highlight-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px}
.highlight-card__icon{width:48px;height:48px;border-radius:50%;background:rgba(139,111,71,0.08);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--accent)}
.highlight-card__title{font-family:var(--heading);font-size:1.15rem;font-weight:600;margin-bottom:8px;color:var(--text)}
.highlight-card__text{font-family:var(--body);font-size:0.8rem;color:var(--text-muted);line-height:1.6}

@media(max-width:600px){
  .highlights-grid{grid-template-columns:1fr 1fr;gap:12px}
  .highlight-card{padding:20px 16px}
}

/* ============ FOOTER ============ */
.store-footer{border-top:1px solid var(--border);padding:40px 24px;text-align:center}
.store-footer__logo{margin-bottom:16px}
.store-footer__logo img{max-height:60px;margin:0 auto}
.store-footer__logo-text{font-family:var(--heading);font-weight:700;font-size:1.6rem;color:var(--accent);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:16px}
.store-footer__social{display:flex;justify-content:center;gap:20px;margin-bottom:12px}
.store-footer__social a{color:var(--text-muted);transition:color 0.3s}
.store-footer__social a:hover{color:var(--accent)}
.store-footer__name{font-family:var(--body);font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.store-footer__copy{font-family:var(--body);font-size:0.7rem;color:var(--text-muted)}

/* ================================================================ */
/* ADMIN PANEL STYLES                                               */
/* ================================================================ */
.admin-login{min-height:100vh;display:flex;justify-content:center;align-items:center;background:var(--bg);padding:20px}
.admin-login__box{background:var(--card);padding:48px 38px;border-radius:16px;width:100%;max-width:430px;border:1px solid var(--border)}
.admin-login__title{font-family:var(--heading);font-size:2.8rem;font-weight:600;text-align:center;margin-bottom:28px;color:var(--text)}
.admin-login__field{margin-bottom:18px}
.admin-login__field label{display:block;font-family:var(--body);font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.admin-login__field input{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;font-family:var(--body);font-size:0.9rem;background:var(--bg);outline:none;transition:border-color 0.3s}
.admin-login__field input:focus{border-color:var(--accent)}
.admin-login__btn{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-family:var(--body);font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:background 0.3s;margin-top:8px}
.admin-login__btn:hover{background:#7A6240}
.admin-login__error{color:#c0392b;font-size:0.82rem;text-align:center;margin-top:14px}

.admin-dash{min-height:100vh;background:var(--bg)}
.admin-dash__header{max-width:900px;margin:0 auto;padding:32px 24px 16px;display:flex;justify-content:space-between;align-items:center}
.admin-dash__logo{font-family:var(--heading);font-weight:700;font-size:2.2rem;color:var(--text)}
.admin-dash__logout{font-family:var(--body);font-size:0.74rem;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--border);color:var(--text);background:var(--card);border-radius:10px;cursor:pointer;transition:all 0.3s}
.admin-dash__logout:hover{border-color:var(--accent);color:var(--accent)}
.admin-dash__body{max-width:900px;margin:0 auto;padding:0 24px 40px}

.admin-dash__tabs{display:inline-flex;gap:2px;margin-bottom:20px;padding:4px;border-radius:10px;background:#ebe8e5;border:1px solid var(--border)}
.admin-tab{font-family:var(--body);font-size:0.78rem;padding:8px 16px;border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;transition:all 0.25s;border-radius:7px}
.admin-tab.active{background:var(--card);border-color:var(--border);font-weight:600}
.admin-tab:hover:not(.active){color:var(--accent)}

.admin-section{background:var(--card);border-radius:var(--radius);padding:32px;margin-bottom:24px;border:1px solid var(--border)}
.admin-section__title{font-family:var(--heading);font-size:1.3rem;font-weight:600;margin-bottom:24px;color:var(--text)}
.admin-field{margin-bottom:18px}
.admin-field label{display:block;font-family:var(--body);font-size:0.75rem;letter-spacing:0.03em;color:var(--accent);margin-bottom:6px;font-weight:600}
.admin-field input,.admin-field textarea,.admin-field select{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;font-family:var(--body);font-size:0.88rem;background:var(--bg);outline:none;transition:border-color 0.3s}
.admin-field input:focus,.admin-field textarea:focus{border-color:var(--accent)}
.admin-field textarea{min-height:80px;resize:vertical}
.admin-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-field-row--3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
@media(max-width:600px){.admin-field-row,.admin-field-row--3{grid-template-columns:1fr}}

.admin-field-upload{margin-bottom:20px}
.admin-field-upload label{display:block;font-family:var(--body);font-size:0.75rem;color:var(--accent);margin-bottom:6px;font-weight:600}
.admin-field-upload__box{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border:1.5px solid var(--accent);border-radius:8px;background:rgba(139,111,71,0.06);color:var(--accent);font-size:0.8rem;cursor:pointer;transition:background 0.3s;font-family:var(--body)}
.admin-field-upload__box:hover{background:rgba(139,111,71,0.12)}
.admin-field-upload__preview{margin-top:10px}
.admin-field-upload__preview img{max-height:100px;border-radius:8px}
.admin-field-upload__hint{font-size:0.72rem;color:var(--text-muted);margin-top:4px;margin-bottom:8px}
.admin-field-upload .admin-btn-secondary{padding:8px 12px;font-size:0.72rem}

.admin-save{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:var(--body);font-size:0.82rem;cursor:pointer;transition:background 0.3s;margin-top:8px}
.admin-save:hover{background:#7A6240}
.admin-btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border:1px solid var(--border);color:var(--text);background:var(--card);border-radius:8px;font-family:var(--body);font-size:0.8rem;cursor:pointer;transition:all 0.3s}
.admin-btn-secondary:hover{border-color:var(--accent);color:var(--accent)}
.admin-add-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:var(--body);font-size:0.82rem;cursor:pointer;transition:background 0.3s;margin-bottom:20px}
.admin-add-btn:hover{background:#7A6240}

.admin-product-item{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--card);border-radius:10px;margin-bottom:10px;border:1px solid var(--border)}
.admin-product-item__thumb{width:50px;height:50px;border-radius:8px;object-fit:cover;flex-shrink:0}
.admin-product-item__info{flex:1}
.admin-product-item__name{font-family:var(--body);font-size:0.85rem;font-weight:600}
.admin-product-item__meta{font-size:0.75rem;color:var(--text-muted)}
.admin-product-item__actions{display:flex;gap:8px}
.admin-icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all 0.3s}
.admin-icon-btn:hover{border-color:var(--accent);color:var(--accent)}
.admin-icon-btn--danger:hover{border-color:#c0392b;color:#c0392b}

.admin-cat-item{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--card);border-radius:10px;margin-bottom:10px;border:1px solid var(--border)}
.admin-cat-item input{flex:1;border:none;background:transparent;font-family:var(--body);font-size:0.9rem;outline:none;color:var(--text)}
.admin-cat-add{display:flex;gap:10px;margin-bottom:20px}
.admin-cat-add input{flex:1;padding:12px 16px;border:1.5px solid var(--border);border-radius:10px;font-family:var(--body);font-size:0.88rem;background:var(--bg);outline:none}
.admin-cat-add input:focus{border-color:var(--accent)}
.admin-cat-add button{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.3s}
.admin-cat-add button:hover{background:#7A6240}

.admin-checkbox-group{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.admin-checkbox-group label{display:flex;align-items:center;gap:6px;font-size:0.82rem;cursor:pointer;font-family:var(--body)}
.admin-checkbox-group input[type="checkbox"]{accent-color:var(--accent);width:16px;height:16px}

.admin-code-desc{font-size:0.78rem;color:var(--text-muted);margin-bottom:20px;line-height:1.5}
.admin-field textarea.code-area{font-family:'Courier New',monospace;font-size:0.8rem;min-height:120px;background:#f8f6f3}

.admin-toast{position:fixed;bottom:24px;right:24px;background:#27ae60;color:#fff;padding:14px 28px;border-radius:10px;font-family:var(--body);font-size:0.85rem;z-index:9999;opacity:0;transform:translateY(20px);transition:all 0.3s;pointer-events:none}
.admin-toast.show{opacity:1;transform:translateY(0)}

@media(max-width:767px){
  .store-hero{height:45vh;min-height:250px;max-height:400px}
  .products-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .admin-dash__header{padding:20px 16px 12px}
  .admin-dash__body{padding:0 16px 32px}
  .admin-section{padding:20px 16px}
}
