.pulse-banner{position:relative;overflow:hidden;border-radius:16px;margin:0 0 32px;background:#f3f3f3}
.pulse-banner-track{position:relative;min-height:360px}
.pulse-banner-slide{display:none;position:absolute;inset:0;min-height:360px}
.pulse-banner-slide.is-active{display:block}
.pulse-banner-slide>img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}
.pulse-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.12))}
.pulse-banner-content{position:absolute;left:7%;top:50%;transform:translateY(-50%);max-width:620px;color:#fff}
.pulse-banner-content h2{margin:0 0 12px;font-size:clamp(28px,4vw,56px);line-height:1.05;color:#fff}
.pulse-banner-content p{font-size:18px;line-height:1.5;margin:0 0 22px;color:#fff}
.pulse-button{display:inline-block;background:#ec0a73;color:#fff!important;padding:12px 22px;border-radius:7px;text-decoration:none!important;font-weight:700;border:0;cursor:pointer}
.pulse-button:hover{opacity:.9}
.pulse-button-light{background:#fff;color:#ec0a73!important}
.pulse-banner-prev,.pulse-banner-next,.pulse-slider-prev,.pulse-slider-next{position:absolute;z-index:4;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#ec0a73;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.15)}
.pulse-banner-prev{left:18px;top:50%;transform:translateY(-50%)}
.pulse-banner-next{right:18px;top:50%;transform:translateY(-50%)}
.pulse-banner-dots{position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px}
.pulse-banner-dots button{width:9px;height:9px;border-radius:50%;border:0;background:#fff;opacity:.55;padding:0;cursor:pointer}
.pulse-banner-dots button.is-active{opacity:1}

.pulse-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pulse-card{background:#fff;border:1px solid #ececec;border-radius:14px;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.06)}
.pulse-card-image{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#f5f5f5}
.pulse-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.pulse-card:hover .pulse-card-image img{transform:scale(1.03)}
.pulse-card-body{padding:18px}
.pulse-card-body h3{font-size:20px;line-height:1.25;margin:7px 0 10px}
.pulse-card-body h3 a{text-decoration:none;color:inherit}
.pulse-meta{font-size:14px;color:#666;margin:5px 0}
.pulse-price{font-weight:800;color:#ec0a73;margin:10px 0 14px}
.pulse-badge{position:absolute;left:12px;top:12px;background:#ec0a73;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}
.pulse-placeholder{width:100%;height:100%;background:#f2f2f2}
.pulse-empty{padding:24px;background:#f7f7f7;border-radius:10px}
.pulse-slider{position:relative;overflow:hidden}
.pulse-slider-track{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:3px}
.pulse-slider-track::-webkit-scrollbar{display:none}
.pulse-slide{flex:0 0 calc(25% - 15px)}
.pulse-slider-prev{left:10px;top:50%;transform:translateY(-50%)}
.pulse-slider-next{right:10px;top:50%;transform:translateY(-50%)}
.pulse-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pulse-category-tile{min-height:150px;border-radius:14px;background:linear-gradient(135deg,#ec0a73,#ff65aa);display:flex;align-items:center;justify-content:center;padding:20px;color:#fff!important;text-decoration:none!important;font-size:20px;font-weight:800;text-align:center}
.pulse-category-tile:nth-child(2n){background:linear-gradient(135deg,#ff4f9b,#ec0a73)}
.pulse-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin:0 0 28px;padding:18px;border:1px solid #eee;border-radius:14px;background:#fff}
.pulse-filter-field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.pulse-filter-field input,.pulse-filter-field select{width:100%;min-height:44px;border:1px solid #ddd;border-radius:7px;padding:8px 11px;background:#fff}
.pulse-pagination ul{display:flex;gap:8px;list-style:none;padding:0;margin:30px 0}
.pulse-pagination a,.pulse-pagination span{display:block;padding:8px 12px;border:1px solid #ddd;border-radius:6px;text-decoration:none}
.pulse-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pulse-post-card{border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff}
.pulse-post-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.pulse-post-card>div{padding:16px}
.pulse-post-card h3{margin:5px 0;font-size:19px}
.pulse-post-card h3 a{text-decoration:none;color:inherit}
.pulse-tabs{margin:30px 0}
.pulse-tab-buttons{display:flex;overflow-x:auto;border-bottom:1px solid #ddd;gap:0}
.pulse-tab-buttons button{flex:0 0 auto;background:#fff;border:0;border-bottom:2px solid transparent;padding:15px 24px;font-weight:700;cursor:pointer}
.pulse-tab-buttons button.is-active{color:#ec0a73;border-bottom-color:#ec0a73}
.pulse-tab-panel{display:none;padding:28px 0}
.pulse-tab-panel.is-active{display:block}
.pulse-list{padding-left:20px}
.pulse-itinerary-front-row{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #eee}
.pulse-itinerary-time{font-weight:800;color:#ec0a73}
.pulse-review{padding:16px 0;border-bottom:1px solid #eee}
.pulse-review-date{font-size:12px;color:#777;margin-top:3px}
@media(max-width:1024px){
 .pulse-experience-grid{grid-template-columns:repeat(2,1fr)}
 .pulse-slide{flex-basis:calc(50% - 10px)}
 .pulse-category-grid{grid-template-columns:repeat(3,1fr)}
 .pulse-filters{grid-template-columns:1fr 1fr}
 .pulse-post-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
 .pulse-banner-track,.pulse-banner-slide,.pulse-banner-slide>img{min-height:440px}
 .pulse-banner-content{left:24px;right:24px}
 .pulse-banner-content p{font-size:15px}
 .pulse-experience-grid{grid-template-columns:1fr}
 .pulse-slide{flex-basis:85%}
 .pulse-category-grid{grid-template-columns:repeat(2,1fr)}
 .pulse-category-tile{min-height:110px;font-size:16px}
 .pulse-filters{grid-template-columns:1fr}
 .pulse-post-grid{grid-template-columns:1fr}
 .pulse-tab-buttons button{padding:13px 16px}
 .pulse-itinerary-front-row{grid-template-columns:1fr;gap:6px}
}
