/* ==========================================================
   PRODUCT PAGE
   ========================================================== */

.product-hero{
    padding:70px 0 40px;
    background:#fff;
}

.product-breadcrumb{
    font-size:.75rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#9ca3af;
    margin-bottom:18px;
}

.product-breadcrumb a{
    color:#6b7280;
}

.product-breadcrumb span{
    color:var(--color-brand);
}

.product-grid{
    display:grid;
    grid-template-columns:1fr 520px;
    gap:70px;
    align-items:center;
}

@media(max-width:992px){

.product-grid{
grid-template-columns:1fr;
gap:40px;
}

}

.product-label{

font-size:.72rem;
font-weight:700;
letter-spacing:.18em;
text-transform:uppercase;
color:var(--color-brand);

margin-bottom:14px;

}

.product-title{

font-size:clamp(2rem,4vw,3.5rem);
font-weight:900;
line-height:1.1;
margin:0 0 20px;

}

.product-subtitle{

font-size:1.05rem;
line-height:1.8;
color:#4b5563;
margin-bottom:34px;
text-align:justify;

}

.product-buttons{

display:flex;
flex-wrap:wrap;
gap:16px;

}

.btn-primary{

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

padding:15px 34px;

background:var(--color-brand);
color:#fff;

font-size:.82rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;

border-radius:6px;

transition:.25s;

}

.btn-primary:hover{

background:#a92c20;

}

.btn-outline,
.btn-outline-primary{

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

padding:15px 34px;

border:2px solid #111;
color:#111;
background:transparent;

font-size:.82rem;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
border-radius:6px;

transition:.25s;

}

.btn-outline:hover,
.btn-outline-primary:hover{

background:#111;
border-color:#111;
color:#fff;

}

.product-image{

border-radius:16px;
overflow:hidden;
box-shadow:0 20px 60px rgba(0,0,0,.12);

}

.product-image img{

width:100%;
display:block;
aspect-ratio:4/3;
object-fit:cover;

}

/* ==========================================================
   OVERVIEW
   ========================================================== */
.section{
    padding:40px 0;
}
.section h2{
    font-size:clamp(1.6rem,3vw,2.2rem);
    font-weight:900;
    margin:0 0 28px;
}
.section > .container > p{
    font-size:1.05rem;
    line-height:1.8;
    color:#4b5563;
    text-align:justify;
}

/* ==========================================================
   FEATURES (product.php detail page)
   ========================================================== */
.features-list{
    display:flex;
    flex-direction:column;
}

.feature-block{
    padding:24px 0;
    border-top:1px solid #ececec;
}

.feature-block:first-child{
    border-top:none;
    padding-top:0;
}

.feature-block-head{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:10px;
}

.feature-number{
    flex-shrink:0;
    width:36px;
    height:36px;
    border-radius:50%;
    background:#fdeceb;
    color:var(--color-brand);
    font-size:.85rem;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
}

.feature-block-head h4{
    margin:0;
    font-size:1.20rem;
    font-weight:800;
    color:#111;
}

.feature-block-desc{
    margin:0 0 12px;
    font-size:1.05rem;
    color:#6b7280;
    line-height:1.8;
    text-align:justify;
}

.feature-points{
    margin:0;
    padding:0;
    list-style:none;
}

.feature-points li{
    position:relative;
    padding-left:20px;
    font-size:1.05rem;
    color:#4b5563;
    line-height:1.8;
    margin-bottom:8px;
}

.feature-points li::before{
    content:"";
    position:absolute;
    left:0;
    top:9px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--color-brand);
}

/* ==========================================================
   APPLICATIONS
   ========================================================== */

.applications-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

@media(max-width:768px){
    .applications-grid{ grid-template-columns:1fr; }
}

.application-item{
    border:1px solid #ececec;
    border-radius:10px;
    padding:22px 24px;
    font-size:.92rem;
    font-weight:600;
    color:#111;
    transition:.25s;
}

.application-item:hover{
    border-color:var(--color-brand);
    color:var(--color-brand);
}

/* ==========================================================
   SPECIFICATION TABLE
   ========================================================== */

.spec-table{
    width:100%;
    border-collapse:collapse;
    font-size:.9rem;
}

.spec-table tr{
    border-bottom:1px solid #ececec;
}

.spec-table tr:nth-child(even){
    background:#fafafa;
}

.spec-table td,
.spec-table th{
    padding:14px 18px;
    text-align:left;
}

.spec-name{
    width:220px;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#374151;
    background:#f8f9fb;
}

/* ==========================================================
   GALLERY
   ========================================================== */

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

@media(max-width:768px){
    .gallery-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:480px){
    .gallery-grid{ grid-template-columns:1fr; }
}

.gallery-item{
    border-radius:10px;
    overflow:hidden;
    aspect-ratio:4/3;
}
/*----------------------------------------------*/
.gallery-item{
    cursor:pointer;
}

.lightbox{
    position:fixed;
    inset:0;
    background:rgba(17,17,17,.75);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px;
    z-index:9999;
}

.lightbox img{
    max-width:90vw;
    max-height:85vh;
    object-fit:contain;
    border-radius:8px;
    box-shadow:0 20px 60px rgba(0,0,0,.4);
}

.lightbox__close{
    position:fixed;
    top:24px;
    right:32px;
    width:44px;
    height:44px;
    border-radius:50%;
    border:none;
    background:rgba(255,255,255,.15);
    color:#fff;
    font-size:1.6rem;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s;
}

.lightbox__close:hover{
    background:rgba(255,255,255,.3);
}
/*----------------------------------------------*/
.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s;
}

.gallery-item:hover img{
    transform:scale(1.05);
}

/* ==========================================================
   DOWNLOADS
   ========================================================== */

.downloads-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

@media(max-width:900px){
    .downloads-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:520px){
    .downloads-grid{ grid-template-columns:1fr; }
}

.download-btn{
    width:100%;
}

/* ==========================================================
   FAQ (Alpine.js accordion, no Bootstrap JS needed)
   ========================================================== */

.faq-list{
    display:flex;
    flex-direction:column;
    border-top:1px solid #ececec;
}

.faq-item{
    border-bottom:1px solid #ececec;
}

.faq-question{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:none;
    border:none;
    text-align:left;
    cursor:pointer;
    padding:22px 4px;
    font-family:'Montserrat',sans-serif;
    font-size:1rem;
    font-weight:700;
    color:#111;
    transition:color .2s;
}

.faq-question:hover,
.faq-question.is-open{
    color:var(--color-brand);
}

.faq-icon{
    flex-shrink:0;
    font-size:1.3rem;
    font-weight:400;
    color:var(--color-brand);
    transition:transform .25s;
}

.faq-icon.is-open{
    transform:rotate(45deg);
}

.faq-answer{
    padding:0 4px 22px;
}

.faq-answer p{
    margin:0;
    font-size:.9rem;
    line-height:1.8;
    color:#6b7280;
}

/* ==========================================================
   RELATED PRODUCTS
   ========================================================== */

.related-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

@media(max-width:900px){
    .related-grid{ grid-template-columns:1fr; }
}

.related-card{
    display:block;
    color:inherit;
    border:1px solid #ececec;
    border-radius:12px;
    overflow:hidden;
    transition:transform .25s, box-shadow .25s, border-color .25s;
}

.related-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(0,0,0,.1);
    border-color:var(--color-brand);
}

.related-card img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
}

.related-card-body{
    padding:22px 24px;
}

.related-card-body h3{
    font-size:1.05rem;
    font-weight:800;
    margin:0 0 8px;
}

.related-card-body p{
    font-size:.88rem;
    color:#6b7280;
    line-height:1.6;
    margin:0 0 14px;
}

.related-card-link{
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--color-brand);
}

/* ==========================================================
   PRODUCT LISTING PAGE (products.php) — gaya ncard (news.html)
   ========================================================== */

.page-header{
    padding:48px 0 24px;
    border-bottom:1px solid var(--color-border);
    margin-bottom:0;
}

.page-header h1{
    font-size:clamp(1.8rem,4vw,2.8rem);
    font-weight:900;
    line-height:1.15;
    letter-spacing:-.02em;
    margin:0 0 20px;
}

.page-header p{
    font-size:.95rem;
    line-height:1.75;
    color:#4b5563;
    max-width:520px;
    margin:0;
}

.empty-state{
    text-align:center;
    padding:80px 0;
}

.empty-state h3{
    font-size:1.4rem;
    font-weight:800;
    margin:0 0 10px;
}

.empty-state p{
    color:#6b7280;
    margin:0;
}

.products-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
    padding:64px 0;
}

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

.product-link{
    display:block;
    color:inherit;
}

.product-card{
    background:none;
    border:none;
    border-radius:0;
    overflow:visible;
    transition:none;
}

.product-card:hover{
    transform:none;
    box-shadow:none;
    border-color:transparent;
}

.product-card.featured{
    border-top:none;
}

.product-card-image{
    aspect-ratio:3/2;
    border-radius:8px;
    overflow:hidden;
    background:#f4f4f5;
    margin-bottom:16px;
}

.product-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s;
}

.product-card:hover .product-card-image img{
    transform:scale(1.03);
}

.product-card-body{
    padding:0;
}

.product-category{
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.14em;
    margin-bottom:8px;
}

.product-status{
    display:inline-block;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#9a6b00;
    background:#fff6da;
    border:1px solid #f1dc9a;
    border-radius:4px;
    padding:2px 10px;
    margin-bottom:8px;
}

.product-name{
    font-size:1rem;
    font-weight:700;
    line-height:1.4;
    margin:0 0 14px;
    color:#111;
    transition:color .2s;
}

.product-card:hover .product-name{
    color:var(--color-brand);
}

.product-tagline,
.product-excerpt,
.product-features{
    display:none;
}

.product-more{
    margin-top:0;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.1em;
    color:var(--color-brand);
    display:inline-flex;
    align-items:center;
    gap:5px;
    transition:gap .2s;
}

.product-card:hover .product-more{
    gap:10px;
}

.back-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--color-brand);
    margin-bottom:0;
    transition:gap .2s;
}

.back-link:hover{
    gap:12px;
}