/* =========================================
            HERO
========================================= */
.ctc-home-hero {position:relative; z-index:2; min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:100px 20px;}
.ctc-home-hero-inner span {display:inline-flex; padding:10px 20px; border-radius:40px; background:rgba(255,180,80,.12); color:#ffb84d; border:solid 1px #e1e1e1; margin-bottom:10px; font-size:14px; letter-spacing:2px;}
.ctc-home-hero-inner h1 {font-size:90px; line-height:1.1; margin-bottom:10px;}
.ctc-home-hero-inner p {font-size:24px; opacity:.7; margin-bottom:10px;}
/* =========================================
            SEARCH
========================================= */
.ctc-home-search {display:flex; gap:20px; justify-content:center; flex-wrap:wrap;}
.ctc-home-search input {width:600px; max-width:100%; padding:22px 28px; border:none; outline:none; border-radius:24px; background:rgba(255,255,255,.06); backdrop-filter:blur(14px); color:#fff; font-size:18px; border:solid 1px #e1e1e1;}
/* =========================================
            LATEST
========================================= */
.ctc-home-latest {margin-inline: max(5%, (100% - 1366px) / 2); position:relative; z-index:2; padding:20px;}
.ctc-home-filter {display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:20px;}
.ctc-home-filter button {padding:14px 26px; border:solid 1px #e1e1e1; border-radius:40px; cursor:pointer; background:#ffffff10; color:#fff; font-weight:700; transition:.3s; text-transform:uppercase;}
.ctc-home-filter button.active {background:#ffb45080; color:#ffffff;}
.ctc-home-latest-grid {display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
/* =========================================
            CATEGORY
========================================= */
.ctc-home-categories {margin-inline: max(5%, (100% - 1366px) / 2); position:relative; z-index:2; padding:20px;}
.ctc-section-heading {text-align:center; margin-bottom:10px;}
.ctc-section-heading span {display:inline-flex; padding:10px 20px; border-radius:40px; background:rgba(255,180,80,.12); color:#ffb84d; border:solid 1px #e1e1e1; margin-bottom:10px;}
.ctc-section-heading h2 {font-size:44px;}
.ctc-home-category-grid {display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.ctc-home-category-card {position:relative; overflow:hidden; border-radius:28px; min-height:400px; text-decoration:none; color:#fff; transition:.3s;}
.ctc-home-category-card:hover {transform:translateY(-10px);}
.ctc-home-category-card::before {content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.9),transparent); z-index:1;}
.ctc-home-category-image {position:absolute; inset:0;}
.ctc-home-category-image img {width:100%; height:100%; object-fit:cover;}
.ctc-home-category-content {position:absolute; left:40px; bottom:40px; z-index:2;}
.ctc-home-category-content h3 {font-size:24px; margin-bottom:10px;}
.ctc-home-category-content p {opacity:.8; font-size:18px;}
/* =========================================
            DISTRICT
========================================= */
.ctc-home-districts {margin-inline: max(5%, (100% - 1366px) / 2); position:relative; z-index:2; padding:20px;}
.ctc-home-district-grid {display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.ctc-home-district-card {position:relative; overflow:hidden; border-radius:32px; min-height:280px; background:rgba(255,255,255,.04); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.06); text-decoration:none; color:#fff; transition:.3s;}
.ctc-home-district-card:hover {transform:translateY(-10px);}
.ctc-home-district-card::before {content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.2)); z-index:1;}
.ctc-home-district-overlay {position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,180,80,.12),transparent);}
.ctc-home-district-image {position:absolute; inset:0;}
.ctc-home-district-image img {width:100%; height:100%; object-fit:cover;}
.ctc-home-district-content {position:absolute; left:40px; bottom:40px; z-index:2;}
.ctc-home-district-content h3 {font-size:24px; margin-bottom:12px;}
.ctc-home-district-content p {opacity:.7; font-size:18px;}
/* =========================================
            TOP RATING
========================================= */
.ctc-home-top-rating {margin-inline: max(5%, (100% - 1366px) / 2); position:relative; z-index:2; padding:20px;}
.ctc-home-top-grid {display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.ctc-card {overflow:hidden; border-radius:28px; background:rgba(255,255,255,.04); backdrop-filter:blur(14px); border:1px solid rgba(255,180,80,.1); transition:.3s;}
.ctc-card:hover {transform:translateY(-10px);}
.ctc-card a {display:block; color:inherit; text-decoration:none;}
.ctc-card-thumb {position:relative; height:260px;}
.ctc-card-thumb img {width:100%; height:100%; object-fit:cover;}
.ctc-card-type {position:absolute; top:10px; left:10px; padding:10px 16px; border-radius:40px; background:rgba(255,180,80,.12); backdrop-filter:blur(12px); border:solid 1px #e1e1e1;}
.ctc-card-rating {position:absolute; top:10px; right:10px; padding:10px 16px; border-radius:40px; background:rgba(0,0,0,.6); backdrop-filter:blur(12px); border:solid 1px #e1e1e1;}
.ctc-card-body {padding:24px;}
.ctc-card-body h3 {font-size:20px; margin-bottom:10px; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2;}
.ctc-card-address {opacity:.7; font-size:14px;}
.ctc-card-price {font-size:22px; font-weight:700; color:#ffb84d; text-align:center; border:solid 1px #e1e1e1; border-radius:10px; padding:5px 10px; margin-top:15px;}
/* =========================================
            MOBILE
========================================= */
@media(max-width:1200px) {
    .ctc-home-category-grid {grid-template-columns:repeat(3,1fr);}
    .ctc-home-top-grid {grid-template-columns:repeat(3,1fr);}
    .ctc-home-district-grid {grid-template-columns:repeat(3,1fr);}
}
@media(max-width:768px) {
    .ctc-home-hero-inner h1 {font-size:58px;}
    .ctc-home-hero-inner p {font-size:18px;}
    .ctc-home-search {flex-direction:column;}
    .ctc-home-search button {width:100%;}
    .ctc-home-category-grid {grid-template-columns:1fr;}
    .ctc-home-top-grid {grid-template-columns:1fr;}
    .ctc-home-district-grid {grid-template-columns:1fr;}
}
