.destination-card{border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-card);transition:all var(--transition-base);border:1px solid var(--color-border-light);overflow:hidden}.destination-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-6px)}.destination-card__image-wrapper{width:100%;height:220px;position:relative;overflow:hidden}.destination-card__image{object-fit:cover;transition:transform var(--transition-slow)}.destination-card:hover .destination-card__image{transform:scale(1.08)}.destination-card__image-overlay{background:linear-gradient(#0000,#0003);height:50%;position:absolute;bottom:0;left:0;right:0}.destination-card__content{padding:var(--space-md)}.destination-card__title{font-size:var(--fs-h4);color:var(--color-text);margin-bottom:var(--space-xs);font-weight:700}.destination-card__desc{font-size:var(--fs-small);color:var(--color-text-light);margin-bottom:var(--space-sm);line-height:1.6}.destination-card__link{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-small);color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none;display:inline-block}.destination-card__link:hover{color:var(--color-accent)}@media (min-width:768px){.destination-card__image-wrapper{height:240px}}
.product-card{border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-card);transition:all var(--transition-base);border:1px solid var(--color-border-light);overflow:hidden}.product-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-6px)}.product-card__image-wrapper{background:var(--color-primary-bg);width:100%;height:200px;position:relative;overflow:hidden}.product-card__image{object-fit:cover;transition:transform var(--transition-slow)}.product-card:hover .product-card__image{transform:scale(1.08)}.product-card__content{padding:var(--space-md);text-align:center}.product-card__emoji{margin-bottom:var(--space-xs);font-size:2rem;display:block}.product-card__name{font-size:var(--fs-h4);color:var(--color-text);margin-bottom:4px;font-weight:700}.product-card__tagline{font-size:var(--fs-small);color:var(--color-text-light);margin-bottom:var(--space-sm);line-height:1.5}.product-card__link{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-small);color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none;display:inline-block}.product-card__link:hover{color:var(--color-accent)}@media (min-width:768px){.product-card__image-wrapper{height:220px}}
.cta-banner{padding:var(--space-3xl) 0;position:relative;overflow:hidden}.cta-banner__bg{background:linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 60%, var(--color-primary-light) 100%);z-index:0;position:absolute;inset:0}.cta-banner__bg:before{content:"";background:#ffffff0d;border-radius:50%;width:500px;height:500px;position:absolute;top:-50%;right:-20%}.cta-banner__bg:after{content:"";background:#ffffff08;border-radius:50%;width:400px;height:400px;position:absolute;bottom:-40%;left:-10%}.cta-banner__content{z-index:1;text-align:center;position:relative}.cta-banner__title{font-size:var(--fs-h2);color:var(--color-white);margin-bottom:var(--space-lg);max-width:600px;margin-left:auto;margin-right:auto;font-weight:700}.cta-banner__button{padding:1rem 2.5rem;font-size:1.1rem}
.home-section{padding:var(--space-2xl) 0}.home-section--about{background:var(--color-white)}.home-section--destinations{background:var(--color-primary-bg)}.home-section--products{background:var(--color-white)}.home-stats-grid{gap:var(--space-sm);margin-bottom:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:768px){.home-stats-grid{gap:var(--space-md);grid-template-columns:repeat(4,1fr)}}.home-cards-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:1fr;display:grid}@media (min-width:768px){.home-cards-grid--3{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.home-cards-grid--3{grid-template-columns:repeat(3,1fr)}}.home-section__cta{text-align:center;margin-top:var(--space-sm)}
