/* Reset */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:Arial, Helvetica, sans-serif;
background:#f5f5f5;
color:#333;
}

/* Header */

.site-header{
background:#ffffff;
border-bottom:none;
position:sticky;
top:0;
z-index:1000;
}

.header-top{
display:flex;
align-items:center;
justify-content:space-between;
padding:12px 40px;
gap:20px;
}

.logo img{
height:70px;
width:auto;
}

.header-brand img{
height:70px;
width:auto;
}

/* Search */

.header-search{
flex:1;
padding:0 40px;
}

.header-search-form{
display:flex;
width:100%;
}

.search-input{
width:80%;
padding:10px;
border:1px solid #ddd;
border-radius:4px 0 0 4px;
outline:none;
}

.search-button{
padding:10px 30px;
border:none;
background:#f27a1a;
color:white;
cursor:pointer;
border-radius:0 4px 4px 0;
}

/* Actions */

.header-actions{
display:flex;
gap:20px;
align-items:center;
}

.header-link{
text-decoration:none;
color:#333;
font-weight:500;
}

.header-icon{
text-decoration:none;
color:#333;
font-weight:500;
}

.header-action-pill{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:36px;
padding:0 8px;
border:none;
border-radius:0;
background:transparent;
box-shadow:none;
font-size:13px;
font-weight:500;
line-height:1;
color:#333;
transition:color 0.2s ease;
}

.header-action-pill:hover{
color:#f27a1a;
box-shadow:none;
}

.account-menu-wrapper{
position:relative;
}

.account-menu-button{
display:inline-flex;
align-items:center;
gap:6px;
background:transparent;
border:none;
padding:0 8px;
color:#333;
font-size:13px;
font-weight:500;
cursor:pointer;
font-family:Arial, Helvetica, sans-serif;
min-height:36px;
}

.account-menu-arrow{
font-size:12px;
transition:transform 0.2s ease;
}

.account-menu-wrapper.active .account-menu-arrow{
transform:rotate(180deg);
}

.account-dropdown{
position:absolute;
top:calc(100% + 12px);
right:0;
min-width:240px;
background:#fff;
border:1px solid #e5e5e5;
border-radius:10px;
box-shadow:0 10px 30px rgba(0,0,0,0.10);
padding:10px 0;
display:none;
z-index:1200;
}

.account-menu-wrapper.active .account-dropdown{
display:block;
}

.account-dropdown-header{
padding:12px 16px;
border-bottom:1px solid #f0f0f0;
}

.account-dropdown-name{
font-size:14px;
font-weight:700;
color:#222;
margin-bottom:4px;
}

.account-dropdown-phone{
font-size:13px;
color:#777;
}

.account-dropdown-link{
display:block;
padding:10px 16px;
text-decoration:none;
color:#333;
font-size:14px;
transition:background 0.2s ease, color 0.2s ease;
}

.account-dropdown-link:hover{
background:#fff5ec;
color:#f27a1a;
}

/* Navigation */

.main-nav{
background:#333;
position:sticky;
top:95px;
z-index:999;
}

.nav-menu{
display:flex;
justify-content:center;
align-items:center;
list-style:none;
padding:12px 0;
gap:40px;
margin:0 auto;
}

.nav-menu a{
color:white;
text-decoration:none;
font-size:14px;
}

.nav-menu a:hover{
color:#f27a1a;
}

/* Banner */

.banner img{
width:100%;
height:350px;
object-fit:cover;
}

/* Products */

.products{
padding:40px;
}

.products h2{
margin-bottom:20px;
}

.product-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.product-card{
background:white;
border:1px solid #eee;
padding:15px;
border-radius:6px;
transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
position:relative;
overflow:hidden;
}

.product-card:hover{
transform:translateY(-6px);
box-shadow:0 14px 30px rgba(0,0,0,0.12);
border-color:#f6c79e;
}

.product-card:active{
transform:translateY(-2px) scale(0.985);
}

.product-card img{
width:100%;
height:260px;
object-fit:cover;
margin-bottom:10px;
transition:transform 0.35s ease, filter 0.35s ease;
transform-origin:center;
}

.product-card:hover img{
transform:scale(1.06);
filter:brightness(1.03);
}

.product-card h3{
font-size:16px;
margin-bottom:6px;
transition:color 0.2s ease;
}

.product-card:hover h3{
color:#f27a1a;
}

.brand{
font-size:13px;
color:#777;
margin-bottom:8px;
}

.price{
color:#f27a1a;
font-weight:bold;
margin-bottom:10px;
}

.btn{
background:#f27a1a;
color:white;
border:none;
padding:10px 15px;
cursor:pointer;
border-radius:4px;
transition:transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
display:inline-flex;
align-items:center;
justify-content:center;
}

.btn:hover{
background:#e96d0c;
transform:translateY(-2px);
box-shadow:0 10px 20px rgba(242,122,26,0.22);
}

.btn:active{
transform:scale(0.97);
box-shadow:none;
}
/* Banner */

.banner-container{
width:100%;
max-width:1400px;
margin:auto;
}

.mainBanner img{
display:block;
width:100%;
height:auto;
aspect-ratio:1400 / 420;
object-fit:cover;
border-radius:6px;
}

.swiper-button-next,
.swiper-button-prev{
color:#fff;
}

.swiper-pagination-bullet{
background:#fff;
opacity:0.7;
}

.swiper-pagination-bullet-active{
background:#f27a1a;
}

@media(max-width:768px){

.mainBanner img{
height:auto;
aspect-ratio:auto;
object-fit:contain;
border-radius:0;
}
}

/* Announcement Bar */

.announcement-bar{
width:100%;
height:44px;
background:#333;
color:#fff;
overflow:hidden;
white-space:nowrap;
}

.announcement-track{
display:inline-block;
width:max-content;
height:44px;
line-height:44px;
padding-left:100%;
box-sizing:content-box;
animation:scrollText 20s linear infinite;
will-change:transform;
}

.announcement-track span{
display:inline-block;
font-size:14px;
line-height:44px;
white-space:pre;
}

@keyframes scrollText{
0%{
transform:translateX(0);
}
100%{
transform:translateX(-100%);
}
}

/* Homepage product area */

.homepage-products{
background:#f7f7f7;
margin-top:40px;
border-top-left-radius:12px;
border-top-right-radius:12px;
}

/* titles */

.section-title,
.product-header{
display:flex;
align-items:center;
gap:15px;
}

/* spacing */

.section-title{
padding-bottom:40px;
}

.product-section{
padding-top:10px;
}

.product-header{
padding-bottom:40px;
}

/* title style */

.section-title h2,
.product-header h2{
font-size:26px;
font-weight:600;
color:#222;
}

/* orange lines */

.title-line{
width:4px;
height:28px;
background:#f27a1a;
}

.header-line{
width:4px;
height:26px;
background:#f27a1a;
}

/* slider */

.popularProducts,
.newProducts,
.recommendedProducts{
width:100%;
padding:10px 4px 20px;
position:relative;
}

.popularProducts .swiper-slide,
.newProducts .swiper-slide,
.recommendedProducts .swiper-slide{
height:auto;
}

.popularProducts .product-card,
.newProducts .product-card,
.recommendedProducts .product-card{
height:100%;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.popularProducts .swiper-button-prev,
.popularProducts .swiper-button-next,
.newProducts .swiper-button-prev,
.newProducts .swiper-button-next,
.recommendedProducts .swiper-button-prev,
.recommendedProducts .swiper-button-next{
width:42px;
height:42px;
border-radius:50%;
background:#fff;
border:1px solid #e5e5e5;
box-shadow:0 6px 18px rgba(0,0,0,0.08);
color:#333;
top:50%;
transform:translateY(-50%);
}

.popularProducts .swiper-button-prev,
.newProducts .swiper-button-prev,
.recommendedProducts .swiper-button-prev{
left:-10px;
}

.popularProducts .swiper-button-next,
.newProducts .swiper-button-next,
.recommendedProducts .swiper-button-next{
right:-10px;
}

.popularProducts .swiper-button-prev::after,
.popularProducts .swiper-button-next::after,
.newProducts .swiper-button-prev::after,
.newProducts .swiper-button-next::after,
.recommendedProducts .swiper-button-prev::after,
.recommendedProducts .swiper-button-next::after{
font-size:14px;
font-weight:700;
}

.swiper-grid-column > .swiper-wrapper{
flex-direction:row;
}

/* Category Page Layout */

.category-wrapper{
display:flex;
max-width:1400px;
margin:auto;
gap:40px;
padding:40px;
}

/* Left sidebar */

.category-sidebar{
width:240px;
background:white;
border:1px solid #eee;
border-radius:6px;
padding:20px;
height:fit-content;
position:sticky;
top:120px;
}

.category-sidebar h3{
font-size:16px;
margin-bottom:15px;
}

.subcategory-menu{
list-style:none;
display:flex;
flex-direction:column;
gap:12px;
}

.subcategory-menu li{
font-size:14px;
cursor:pointer;
color:#333;
}

.subcategory-menu li:hover{
color:#f27a1a;
}

/* Right products area */

.category-products{
flex:1;
}

.category-products h1{
font-size:26px;
margin-bottom:25px;
}

.product-link{
display:block;
color:inherit;
text-decoration:none;
}

.product-link:hover{
color:inherit;
text-decoration:none;
}

@media(max-width:1200px){
.header-top{
padding:12px 20px;
gap:16px;
flex-wrap:wrap;
}

.header-search{
padding:0;
order:3;
width:100%;
flex:0 0 100%;
}

.header-search form{
display:flex;
width:100%;
}

.search-input{
width:80%;
padding:0 16px;
height:48px;
border:1px solid #e6e6e6;
border-radius:14px 0 0 14px;
outline:none;
font-size:15px;
background:#fff;
}

.search-button{
padding:0 22px;
height:48px;
border:none;
background:#f27a1a;
color:white;
cursor:pointer;
border-radius:0 14px 14px 0;
font-size:15px;
font-weight:600;
}

.header-actions{
gap:14px;
flex-wrap:wrap;
justify-content:flex-end;
}

.header-brand img{
height:56px;
}

.nav-menu{
gap:20px;
padding:12px 20px;
overflow-x:auto;
justify-content:center;
white-space:nowrap;
scrollbar-width:none;
}

.nav-menu::-webkit-scrollbar{
display:none;
}

.products{
padding:32px 20px;
}

.product-grid{
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:14px;
}

.popularProducts .swiper-button-prev,
.newProducts .swiper-button-prev,
.recommendedProducts .swiper-button-prev{
left:0;
}

.popularProducts .swiper-button-next,
.newProducts .swiper-button-next,
.recommendedProducts .swiper-button-next{
right:0;
}

.category-wrapper{
gap:24px;
padding:24px 20px;
}

.category-sidebar{
width:220px;
}
}

@media(max-width:768px){
.site-header{
position:static;
}

.main-nav{
position:static;
}

.header-top-polished{
padding:14px 16px 16px;
border-bottom:none;
}

.mobile-header-layout{
display:grid;
grid-template-columns:auto 1fr auto;
grid-template-areas:
"logo1 actions logo2"
"search search search";
align-items:center;
row-gap:12px;
column-gap:10px;
}

.header-left{
grid-area:logo1;
width:auto;
display:flex;
justify-content:flex-start;
align-items:center;
}

.header-brand{
grid-area:logo2;
width:auto;
display:flex;
justify-content:flex-end;
align-items:center;
}

.logo img{
height:32px;
}

.header-brand img{
height:32px;
}

.header-actions{
grid-area:actions;
width:100%;
display:flex;
justify-content:center;
align-items:center;
gap:8px;
flex-wrap:nowrap;
padding:0;
min-width:0;
}

.header-actions .header-link,
.header-actions .header-icon,
.header-actions .account-menu-button{
font-size:13px;
font-weight:bold;
}

.header-search{
grid-area:search;
width:100%;
padding:0;
order:initial;
flex:initial;
}

.header-search-form{
display:flex;
width:100%;
}

.search-input{
width:100%;
min-width:0;
height:46px;
font-size:15px;
border-radius:14px 0 0 14px;
}

.search-button{
height:46px;
padding:0 18px;
border-radius:0 14px 14px 0;
font-size:15px;
}

.account-dropdown{
position:fixed;
top:92px;
left:12px;
right:12px;
transform:none;
width:auto;
min-width:0;
max-width:none;
max-height:calc(100vh - 120px);
overflow-y:auto;
border-radius:16px;
}

.nav-menu{
gap:16px;
padding:10px 16px;
justify-content:flex-start;
}

.banner-container{
margin-top:0;
}

.mainBanner{
aspect-ratio:1080 / 450;
overflow:hidden;
}

.mainBanner .swiper-slide{
height:100%;
}

.mainBanner picture{
display:block;
width:100%;
height:100%;
}

.mainBanner img{
display:block;
width:100%;
height:100%;
object-fit:cover;
border-radius:0;
}

.announcement-track span{
font-size:13px;
margin-right:36px;
}

.homepage-products{
padding:12px 0;
margin-top:24px;
}

.section-title,
.product-header{
gap:10px;
padding-bottom:24px;
}

.section-title h2,
.product-header h2{
font-size:22px;
}

.products{
padding:24px 16px;
}

.product-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:12px;
}

.product-card{
padding:12px;
}

.product-card img{
height:180px;
}

.popularProducts,
.newProducts,
.recommendedProducts{
padding:8px 0 16px;
}

.popularProducts .swiper-button-prev,
.popularProducts .swiper-button-next,
.newProducts .swiper-button-prev,
.newProducts .swiper-button-next,
.recommendedProducts .swiper-button-prev,
.recommendedProducts .swiper-button-next{
width:36px;
height:36px;
}

.category-wrapper{
display:block;
padding:20px 16px;
}

.category-sidebar{
width:100%;
position:static;
margin-bottom:18px;
}

.category-products h1{
font-size:22px;
margin-bottom:18px;
}
}