/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;font-family:var(--font-body);font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;border-radius:var(--radius-sm);cursor:pointer;border:1.5px solid transparent;transition:var(--transition-smooth);text-decoration:none;white-space:nowrap;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--dark-color);color:var(--white-color);border-color:var(--dark-color);}
.btn-primary:hover{background:var(--accent-color);border-color:var(--accent-color);box-shadow:0 8px 24px rgba(166,124,82,0.3);}
.btn-accent{background:var(--accent-color);color:var(--white-color);border-color:var(--accent-color);}
.btn-accent:hover{background:#8A6440;border-color:#8A6440;box-shadow:0 8px 24px rgba(166,124,82,0.4);}
.btn-outline{background:transparent;color:var(--dark-color);border-color:var(--dark-color);}
.btn-outline:hover{background:var(--dark-color);color:var(--white-color);}
.btn-outline-light{background:transparent;color:var(--white-color);border-color:rgba(255,255,255,0.6);}
.btn-outline-light:hover{background:var(--white-color);color:var(--dark-color);border-color:var(--white-color);}
.btn-sm{padding:10px 22px;font-size:0.8rem;}
.btn-lg{padding:18px 44px;font-size:0.95rem;}
.btn-arrow::after{content:'→';transition:transform 0.3s ease;}
.btn-arrow:hover::after{transform:translateX(5px);}

/* ===== CARDS ===== */
/* Service Card */
.card{background:var(--white-color);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);transition:var(--transition-smooth);}
.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px);}
.card-img{width:100%;aspect-ratio:4/3;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;}
.card:hover .card-img img{transform:scale(1.06);}
.card-body{padding:var(--spacing-lg);}
.card-label{font-size:0.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--accent-color);margin-bottom:var(--spacing-sm);}
.card-title{font-size:1.4rem;margin-bottom:var(--spacing-sm);}
.card-desc{color:var(--muted-text);font-size:0.95rem;margin-bottom:var(--spacing-md);}
.card-link{font-weight:600;font-size:0.875rem;color:var(--dark-color);display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:1px;}
.card-link::after{content:'→';transition:transform 0.3s ease;}
.card-link:hover{color:var(--accent-color);}
.card-link:hover::after{transform:translateX(5px);}

/* Product Card */
.product-card{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:3/4;cursor:pointer;}
.product-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;}
.product-card:hover img{transform:scale(1.08);}
.product-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(17,21,19,0.85) 0%,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--spacing-lg);opacity:0.9;transition:var(--transition-smooth);}
.product-card:hover .product-card-overlay{opacity:1;}
.product-card-title{color:var(--white-color);font-size:1.2rem;margin-bottom:var(--spacing-sm);}
.product-card-desc{color:rgba(255,255,255,0.75);font-size:0.875rem;margin:0 0 var(--spacing-md);}
.product-card-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;}
.product-card-btn{padding:8px 16px;font-size:0.75rem;border-radius:var(--radius-sm);font-weight:600;letter-spacing:1px;text-transform:uppercase;border:1px solid rgba(255,255,255,0.5);color:var(--white-color);transition:var(--transition-smooth);}
.product-card-btn:hover,.product-card-btn.primary{background:var(--accent-color);border-color:var(--accent-color);}

/* ===== TRUST BAR ===== */
.trust-bar{background:var(--white-color);border-bottom:1px solid var(--border-color);padding:var(--spacing-md) 0;}
.trust-items{display:flex;justify-content:center;align-items:center;gap:clamp(20px,4vw,60px);flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:0.875rem;font-weight:500;color:var(--dark-color);}
.trust-item svg{color:var(--accent-color);flex-shrink:0;}

/* ===== PROCESS STEPS ===== */
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);}
.process-step{position:relative;padding:var(--spacing-lg);background:var(--white-color);border:1px solid var(--border-color);border-radius:var(--radius-md);}
.process-num{font-family:var(--font-heading);font-size:3.5rem;font-weight:700;color:var(--border-color);line-height:1;margin-bottom:var(--spacing-sm);}
.process-step h3{font-size:1.2rem;margin-bottom:var(--spacing-sm);}

/* ===== FAQ ACCORDION ===== */
.faq-item{border-bottom:1px solid var(--border-color);}
.faq-question{width:100%;text-align:left;background:none;border:none;padding:var(--spacing-md) 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-body);font-size:1.05rem;font-weight:500;color:var(--dark-color);}
.faq-icon{flex-shrink:0;transition:transform 0.3s ease;color:var(--accent-color);}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease;}
.faq-answer p{padding-bottom:var(--spacing-md);color:var(--muted-text);}

/* ===== FORMS ===== */
.form-group{margin-bottom:var(--spacing-md);}
.form-label{display:block;font-weight:600;font-size:0.875rem;color:var(--dark-color);margin-bottom:6px;}
.form-control{width:100%;padding:13px 16px;border:1.5px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.95rem;color:var(--dark-color);background:var(--white-color);transition:var(--transition-smooth);}
.form-control:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(198,167,123,0.15);}
.form-control.error{border-color:#e53e3e;}
textarea.form-control{resize:vertical;min-height:130px;}
select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23A67C52' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;}

/* Multi-step form */
.form-step{display:none;}
.form-step.active{display:block;}
.step-indicators{display:flex;gap:8px;justify-content:center;margin-bottom:var(--spacing-xl);}
.step-indicator{width:32px;height:32px;border-radius:50%;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:600;color:var(--muted-text);transition:var(--transition-smooth);}
.step-indicator.active{border-color:var(--accent-color);background:var(--accent-color);color:var(--white-color);}
.step-indicator.completed{border-color:var(--dark-color);background:var(--dark-color);color:var(--white-color);}

/* Option Grid for quote form */
.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-sm);}
.option-item{position:relative;}
.option-item input[type="radio"]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;}
.option-label{display:flex;align-items:center;justify-content:center;padding:14px 10px;border:1.5px solid var(--border-color);border-radius:var(--radius-sm);font-size:0.9rem;font-weight:500;text-align:center;cursor:pointer;transition:var(--transition-smooth);}
.option-item input:checked+.option-label{border-color:var(--accent-color);background:rgba(198,167,123,0.1);color:var(--dark-color);}

/* Form nav buttons */
.form-nav{display:flex;justify-content:space-between;margin-top:var(--spacing-lg);}

/* ===== POPUPS ===== */
.popup-overlay{position:fixed;inset:0;background:rgba(17,21,19,0.85);backdrop-filter:blur(6px);z-index:5000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.4s ease;padding:var(--spacing-md);}
.popup-overlay.active{opacity:1;pointer-events:auto;}
.popup-box{background:var(--white-color);border-radius:var(--radius-lg);padding:clamp(30px,5vw,56px);max-width:500px;width:100%;position:relative;transform:translateY(20px);transition:transform 0.4s ease;text-align:center;}
.popup-overlay.active .popup-box{transform:translateY(0);}
.popup-close{position:absolute;top:16px;right:16px;background:var(--light-gray);border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;color:var(--dark-color);transition:var(--transition-smooth);}
.popup-close:hover{background:var(--dark-color);color:var(--white-color);}
.popup-badge{display:inline-block;background:rgba(198,167,123,0.15);color:var(--accent-color);font-size:0.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:6px 14px;border-radius:50px;margin-bottom:var(--spacing-md);}
.popup-box h3{margin-bottom:var(--spacing-sm);}

/* ===== PORTFOLIO GALLERY ===== */
.gallery-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-xl);}
.filter-btn{padding:9px 22px;border:1.5px solid var(--border-color);background:var(--white-color);border-radius:50px;font-size:0.85rem;font-weight:500;cursor:pointer;transition:var(--transition-smooth);}
.filter-btn:hover,.filter-btn.active{background:var(--dark-color);color:var(--white-color);border-color:var(--dark-color);}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);}
.gallery-item{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-md);cursor:pointer;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;}
.gallery-item:hover img{transform:scale(1.08);}
.gallery-item-overlay{position:absolute;inset:0;background:rgba(17,21,19,0.75);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--spacing-md);opacity:0;transition:var(--transition-smooth);}
.gallery-item:hover .gallery-item-overlay{opacity:1;}
.gallery-item-title{color:var(--white-color);font-size:1.1rem;font-family:var(--font-heading);margin-bottom:4px;}
.gallery-item-cat{color:var(--secondary-color);font-size:0.8rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;}

/* ===== WHY US NUMBERED GRID ===== */
.why-us-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-lg);}
.why-item{padding:var(--spacing-lg);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-md);transition:var(--transition-smooth);}
.why-item:hover{border-color:var(--secondary-color);background:rgba(198,167,123,0.08);}
.why-num{font-family:var(--font-heading);font-size:3rem;font-weight:700;color:rgba(198,167,123,0.25);line-height:1;margin-bottom:var(--spacing-sm);}
.why-item h3{font-size:1.1rem;color:var(--white-color);margin-bottom:var(--spacing-sm);}
.why-item p{color:rgba(255,255,255,0.55);font-size:0.875rem;margin:0;}

/* ===== STATS ===== */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.1);}
.stat-item{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;background:rgba(17,21,19,0.8);}
.stat-number{font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:var(--secondary-color);}
.stat-label{font-size:0.875rem;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:1.5px;margin:0;}

@media(max-width:1200px){.why-us-grid{grid-template-columns:repeat(3,1fr);}.stats-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){.process-grid{grid-template-columns:1fr;}.gallery-grid{grid-template-columns:repeat(2,1fr);}.why-us-grid{grid-template-columns:repeat(2,1fr);}.option-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr;}.why-us-grid{grid-template-columns:1fr;}.stats-grid{grid-template-columns:1fr;}.trust-items{justify-content:flex-start;}}
