/* =====================================================================
   SKINCARE ORDINARY — Minimalista Blanco/Negro — Mobile-first
   ===================================================================== */
:root{
  --black:#0a0a0a; --white:#ffffff; --gray-100:#f5f5f5; --gray-200:#e8e8e8;
  --gray-400:#b5b5b5; --gray-600:#777777; --gray-800:#222222;
  --star:#0a0a0a; --danger:#c0392b; --success:#1e6b3a;
  --radius:2px; --maxw:1280px;
  --ff: 'Helvetica Neue', Arial, -apple-system, BlinkMacSystemFont, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--ff);color:var(--black);background:var(--white);line-height:1.5;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 16px;}
.skip-link{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:10px;z-index:999;}
.skip-link:focus{left:0;}

/* ---------- Header ---------- */
.announce-bar{background:var(--black);color:var(--white);text-align:center;font-size:12px;letter-spacing:.04em;padding:8px 10px;}
.site-header{position:sticky;top:0;background:var(--white);z-index:100;border-bottom:1px solid var(--gray-200);}
.header-inner{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:12px 16px;position:relative;}
.menu-toggle{order:1;background:none;border:0;display:flex;flex-direction:column;gap:4px;padding:6px;flex-shrink:0;}
.menu-toggle span{width:22px;height:2px;background:var(--black);display:block;}
.logo{order:2;font-weight:700;letter-spacing:.04em;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;}
.main-nav{display:none;}
.main-nav a{display:block;padding:12px 0;font-size:14px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--gray-200);}
.nav-wholesale{font-weight:700;}
.search-form{order:4;display:flex;align-items:center;flex:1 1 100%;width:100%;min-width:0;border:1px solid var(--gray-200);border-radius:20px;padding:6px 12px;margin:0;max-width:none;}
.search-form input{border:0;outline:0;flex:1;min-width:0;font-size:13px;background:transparent;}
.search-form button{background:none;border:0;color:var(--black);display:flex;flex-shrink:0;}
.cart-link{order:3;margin-left:auto;position:relative;display:flex;flex-shrink:0;}
.cart-count{position:absolute;top:-8px;right:-8px;background:var(--black);color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px;}

@media(min-width:960px){
  .header-inner{flex-wrap:nowrap;}
  .menu-toggle{display:none;}
  .logo{order:0;font-size:18px;max-width:none;overflow:visible;}
  .main-nav{order:1;display:flex;gap:22px;position:static;background:none;padding:0;box-shadow:none;}
  .main-nav a{border:0;padding:4px 0;font-size:13px;position:relative;}
  .main-nav a:hover{opacity:.6;}
  .search-form{order:2;flex:0 1 280px;width:auto;max-width:280px;margin-left:auto;}
  .cart-link{order:3;margin-left:0;}
}
.main-nav.open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:#fff;padding:8px 16px 16px;box-shadow:0 8px 16px rgba(0,0,0,.06);z-index:50;}

/* ---------- Hero ---------- */
.hero{background:var(--black);color:var(--white);padding:56px 16px;text-align:center;}
.hero h1{font-size:clamp(24px,5vw,44px);margin:0 0 12px;font-weight:800;letter-spacing:-.01em;}
.hero p{color:var(--gray-400);max-width:560px;margin:0 auto 24px;font-size:15px;}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:26px;}
.badge{border:1px solid var(--gray-600);color:var(--gray-400);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;border-radius:20px;}
.btn{display:inline-block;padding:13px 30px;border-radius:30px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;border:2px solid var(--black);transition:.2s;}
.btn-primary{background:var(--black);color:#fff;}
.btn-primary:hover{background:#fff;color:#000;}
.btn-outline{background:transparent;color:#fff;border-color:#fff;}
.btn-outline:hover{background:#fff;color:#000;}

/* ---------- Section titles ---------- */
.section{padding:44px 16px;}
.section-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:8px;}
.section-title h2{font-size:22px;margin:0;letter-spacing:-.01em;}
.section-title a{font-size:12px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--black);}

/* ---------- Product grid & cards ---------- */
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
@media(min-width:640px){.product-grid{grid-template-columns:repeat(3,1fr);gap:20px;}}
@media(min-width:1024px){.product-grid{grid-template-columns:repeat(4,1fr);}}

.product-card{border:1px solid var(--gray-200);border-radius:var(--radius);display:flex;flex-direction:column;position:relative;transition:.2s;}
.product-card:hover{border-color:var(--black);}
.product-card .badge-sale{position:absolute;top:8px;left:8px;background:var(--black);color:#fff;font-size:10px;padding:3px 8px;letter-spacing:.05em;z-index:2;}
.product-card .badge-featured{position:absolute;top:8px;right:8px;background:#fff;border:1px solid var(--black);font-size:9px;padding:3px 7px;letter-spacing:.05em;z-index:2;}
.product-card__img{aspect-ratio:1/1;overflow:hidden;background:var(--gray-100);}
.product-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.product-card:hover .product-card__img img{transform:scale(1.04);}
.product-card__body{padding:12px;display:flex;flex-direction:column;gap:5px;flex:1;}
.product-card__brand{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-600);}
.product-card__name{font-size:13.5px;font-weight:600;line-height:1.3;min-height:34px;}
.product-card__rating{display:flex;align-items:center;gap:5px;font-size:11px;}
.product-card__price{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:6px;}
.price-now{font-weight:700;font-size:15px;}
.price-before{text-decoration:line-through;color:var(--gray-600);font-size:12px;}
.product-card__cta{margin:10px 12px 12px;padding:10px;border:1.5px solid var(--black);background:#fff;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;text-align:center;}
.product-card__cta:hover{background:var(--black);color:#fff;}

.stars{color:var(--star);letter-spacing:1px;font-size:13px;white-space:nowrap;}
.star-empty{color:var(--gray-400);}
.rating-count{color:var(--gray-600);font-size:11px;}

/* ---------- Filters / sidebar ---------- */
.catalog-layout{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:900px){.catalog-layout{grid-template-columns:220px 1fr;}}
.filters{border:1px solid var(--gray-200);padding:16px;border-radius:var(--radius);}
.filters h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;}
.filter-group{margin-bottom:20px;}
.filter-group label{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;}
.filter-group input[type=range]{width:100%;}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px;}
.toolbar select{border:1px solid var(--gray-200);padding:8px 10px;font-size:12px;}
.result-count{font-size:12px;color:var(--gray-600);}

/* ---------- Product detail ---------- */
.product-detail{display:grid;grid-template-columns:1fr;gap:28px;padding:24px 16px;max-width:100%;}
@media(min-width:860px){.product-detail{grid-template-columns:1fr 1fr;padding:40px 16px;}}
.product-detail > *{min-width:0;}
.gallery{width:100%;max-width:100%;min-width:0;}
.gallery-main{width:100%;max-width:100%;aspect-ratio:1/1;background:var(--gray-100);overflow:hidden;border-radius:var(--radius);}
.gallery-main img{display:block;width:100%;height:100%;object-fit:cover;max-width:100%;}
.gallery-thumbs{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.gallery-thumbs img{width:64px;height:64px;flex-shrink:0;object-fit:cover;border:1px solid var(--gray-200);cursor:pointer;border-radius:var(--radius);}
.gallery-thumbs img.active-thumb{border-color:var(--black);border-width:2px;}
.pd-info{min-width:0;}
.pd-brand{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-600);}
.pd-title{font-size:26px;margin:6px 0 10px;font-weight:800;}
.pd-rating{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.pd-price{display:flex;align-items:baseline;gap:10px;margin-bottom:16px;}
.pd-price .price-now{font-size:26px;}
.pd-shortdesc{color:var(--gray-800);margin-bottom:18px;font-size:14.5px;}
.pd-trust{display:flex;flex-direction:column;gap:8px;border:1px solid var(--gray-200);padding:14px;margin-bottom:20px;border-radius:var(--radius);font-size:13px;}
.pd-trust span{display:flex;align-items:center;gap:8px;}
.qty-selector{display:flex;align-items:center;border:1px solid var(--black);width:fit-content;margin-bottom:14px;}
.qty-selector button{width:38px;height:38px;border:0;background:#fff;font-size:16px;}
.qty-selector input{width:44px;text-align:center;border:0;border-left:1px solid var(--gray-200);border-right:1px solid var(--gray-200);height:38px;}
.btn-add-cart{width:100%;padding:16px;background:var(--black);color:#fff;border:0;font-size:14px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;border-radius:30px;}
.btn-add-cart:hover{opacity:.85;}
.pd-tabs{display:flex;gap:0;border-bottom:1px solid var(--gray-200);margin-top:34px;}
.pd-tabs button{padding:12px 18px;border:0;background:none;font-size:13px;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid transparent;}
.pd-tabs button.active{border-bottom-color:var(--black);font-weight:700;}
.pd-tab-panel{padding:20px 4px;font-size:14px;line-height:1.7;display:none;}
.pd-tab-panel.active{display:block;}

/* ---------- Reviews ---------- */
.reviews-summary{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:20px;border:1px solid var(--gray-200);margin-bottom:20px;}
.reviews-score{font-size:40px;font-weight:800;}
.review-item{border-bottom:1px solid var(--gray-200);padding:16px 0;}
.review-item.featured{background:var(--gray-100);padding:16px;border:1px solid var(--gray-200);margin-bottom:14px;}
.review-item .review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:4px;}
.review-name{font-weight:700;font-size:13px;}
.review-date{font-size:11px;color:var(--gray-600);}
.review-form{border:1px solid var(--gray-200);padding:18px;margin-top:20px;border-radius:var(--radius);}
.review-form input,.review-form textarea{width:100%;padding:10px;border:1px solid var(--gray-200);margin-bottom:10px;font-family:inherit;font-size:13px;}
.star-input{display:flex;gap:4px;margin-bottom:12px;font-size:26px;cursor:pointer;}
.star-input span{color:var(--gray-400);}
.star-input span.active{color:var(--black);}

/* ---------- Cart / checkout ---------- */
.cart-table{width:100%;border-collapse:collapse;}
.cart-table td{padding:12px 6px;border-bottom:1px solid var(--gray-200);vertical-align:middle;font-size:13px;}
.cart-row-img{width:60px;height:60px;object-fit:cover;border-radius:var(--radius);}
.cart-summary{border:1px solid var(--black);padding:20px;margin-top:20px;}
.cart-summary .row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;}
.cart-summary .row.total{font-weight:800;font-size:18px;border-top:1px solid var(--gray-200);margin-top:8px;padding-top:12px;}
.checkout-form label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin:12px 0 4px;font-weight:700;}
.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;padding:12px;border:1px solid var(--gray-200);font-size:14px;font-family:inherit;}
.payment-option{border:1px solid var(--gray-200);padding:14px;display:flex;gap:10px;align-items:flex-start;margin-top:10px;}

/* ---------- Wholesale page ---------- */
.wholesale-hero{background:var(--gray-100);padding:40px 16px;text-align:center;}
.wholesale-perks{display:grid;grid-template-columns:1fr;gap:16px;margin:30px 0;}
@media(min-width:768px){.wholesale-perks{grid-template-columns:repeat(3,1fr);}}
.perk{border:1px solid var(--gray-200);padding:20px;text-align:center;}
.perk h3{font-size:24px;margin:0 0 6px;}

/* ---------- Misc ---------- */
.empty-state{text-align:center;padding:60px 16px;color:var(--gray-600);}
.footer-grid{display:grid;grid-template-columns:1fr;gap:28px;padding:44px 16px 24px;}
@media(min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;}}
.site-footer{background:var(--black);color:var(--gray-400);margin-top:40px;}
.site-footer h3{color:#fff;letter-spacing:.06em;}
.site-footer h4{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;}
.site-footer ul li{margin-bottom:8px;font-size:13px;}
.site-footer a:hover{color:#fff;}
.footer-bottom{border-top:1px solid #222;padding:16px;text-align:center;font-size:11.5px;}
.breadcrumbs{font-size:12px;color:var(--gray-600);padding:14px 16px 0;max-width:var(--maxw);margin:0 auto;}
.breadcrumbs a:hover{text-decoration:underline;}

/* Lazy-load blur-up */
img[loading="lazy"]{background:var(--gray-100);}