/**
 * Tình Yêu Chúa - Shortcodes CSS
 * Styles for UX Builder shortcodes
 */

/* === VARIABLES === */
:root {
   --tyc-primary: #0084ff;
   --tyc-primary-dark: #0066cc;
   --tyc-gradient: linear-gradient(135deg, #0084ff 0%, #0066cc 100%);
   --tyc-text: #2d3748;
   --tyc-text-light: #718096;
   --tyc-heading: #1a202c;
   --tyc-bg: #fff;
   --tyc-bg-soft: #f7fafc;
   --tyc-bg-dark: #1a202c;
   --tyc-border-light: #edf2f7;
   --tyc-radius-md: 12px;
   --tyc-radius-lg: 16px;
   --tyc-radius-xl: 24px;
   --tyc-radius-full: 9999px;
   --tyc-shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);
   --tyc-shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);
   --tyc-shadow-xl: 0 16px 48px rgba(0, 0, 0, .15);
   --tyc-transition: .3s ease;
}

/* === CONTAINER === */
.tyc-container {
   max-width: 1280px;
   margin: 0 auto;
   padding: 0 24px;
}

.tyc-flex-between {
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.tyc-center {
   text-align: center;
   justify-content: center;
}

/* === TOP BAR === */
.tyc-header-top {
   background: var(--tyc-gradient);
   color: #fff;
   font-size: 13px;
   padding: 10px 0;
}

/* === SEARCH FORM === */
.tyc-search-form {
   display: flex;
   align-items: center;
   width: 280px;
   height: 42px;
   background: #fff;
   border: 2px solid #cbd5e1;
   border-radius: 999px;
   padding: 0 8px 0 16px;
   transition: border-color 0.25s, box-shadow 0.25s;
}

.tyc-search-form:focus-within {
   border-color: #2563eb;
   box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.tyc-search-input {
   flex: 1;
   min-width: 0;
   border: 0 !important;
   background: none !important;
   padding: 0 !important;
   margin: 0 !important;
   height: 100%;
   font-size: 14px;
   color: #1e293b;
   outline: none !important;
   box-shadow: none !important;
}

.tyc-search-input::placeholder {
   color: #94a3b8;
}

.tyc-search-btn {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 32px;
   height: 32px;
   flex-shrink: 0;
   background: transparent;
   border: 0;
   padding: 0;
   margin: 0;
   color: #64748b;
   font-size: 16px;
   cursor: pointer;
   border-radius: 50%;
   transition: color 0.2s, background 0.2s;
}

.tyc-search-btn:hover {
   color: #2563eb;
   background: #eff6ff;
}

/* === HERO SECTION === */
.tyc-hero {
   position: relative;
   min-height: 550px;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   overflow: hidden;
}

.tyc-hero-bg {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: var(--tyc-gradient);
}

.tyc-hero-bg::before {
   content: '';
   position: absolute;
   top: -100px;
   right: -100px;
   width: 400px;
   height: 400px;
   background: radial-gradient(circle, rgba(255, 255, 255, .15) 0%, transparent 70%);
   border-radius: 50%;
}

.tyc-hero-content {
   position: relative;
   z-index: 10;
   max-width: 800px;
   padding: 60px 40px;
}

.tyc-hero-label {
   display: inline-block;
   padding: 8px 20px;
   background: rgba(255, 255, 255, .2);
   backdrop-filter: blur(10px);
   color: #fff;
   font-size: 12px;
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: 1px;
   border-radius: var(--tyc-radius-full);
   margin-bottom: 20px;
}

.tyc-hero-title {
   font-size: 3rem;
   font-weight: 800;
   line-height: 1.2;
   color: #fff;
   margin-bottom: 20px;
   font-family: Roboto, sans-serif;
}

.tyc-hero-subtitle {
   font-size: 1.15rem;
   color: rgba(255, 255, 255, .9);
   line-height: 1.7;
   margin-bottom: 30px;
}

.tyc-hero-btn {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 16px 36px;
   background: #fff;
   color: var(--tyc-primary);
   font-weight: 600;
   font-size: 15px;
   border-radius: var(--tyc-radius-full);
   box-shadow: var(--tyc-shadow-lg);
   text-decoration: none;
   transition: all var(--tyc-transition);
}

.tyc-hero-btn:hover {
   transform: translateY(-3px);
   box-shadow: var(--tyc-shadow-xl);
   color: var(--tyc-primary-dark);
}

/* === SECTION === */
.tyc-section {
   padding: 80px 0;
}

.tyc-section-soft {
   background: var(--tyc-bg-soft);
}

.tyc-section-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 40px;
}

.tyc-section-title {
   font-size: 2rem;
   font-weight: 800;
   display: flex;
   align-items: center;
   gap: 14px;
   font-family: Roboto, sans-serif;
   color: var(--tyc-heading);
}

.tyc-section-title::before {
   content: '';
   display: inline-block;
   width: 5px;
   height: 32px;
   background: var(--tyc-gradient);
   border-radius: 9999px;
}

.tyc-view-all {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 12px 24px;
   background: var(--tyc-bg-soft);
   color: var(--tyc-primary);
   font-size: 14px;
   font-weight: 600;
   border-radius: var(--tyc-radius-full);
   text-decoration: none;
   transition: all var(--tyc-transition);
}

.tyc-view-all:hover {
   background: var(--tyc-gradient);
   color: #fff;
}

/* === CARDS GRID === */
.tyc-cards-grid {
   display: grid;
   gap: 28px;
}

.tyc-cols-4 {
   grid-template-columns: repeat(4, 1fr);
}

.tyc-cols-3 {
   grid-template-columns: repeat(3, 1fr);
}

.tyc-cols-2 {
   grid-template-columns: repeat(2, 1fr);
}

.tyc-cols-1 {
   grid-template-columns: 1fr;
}

@media (max-width: 1024px) {

   .tyc-cols-4,
   .tyc-cols-3 {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media (max-width: 600px) {

   .tyc-cols-4,
   .tyc-cols-3,
   .tyc-cols-2 {
      grid-template-columns: 1fr;
   }

   .tyc-hero-title {
      font-size: 2rem;
   }
}

/* === CARD === */
.tyc-card {
   background: var(--tyc-bg);
   border-radius: var(--tyc-radius-lg);
   overflow: hidden;
   box-shadow: var(--tyc-shadow-sm);
   border: 1px solid var(--tyc-border-light);
   transition: all var(--tyc-transition);
}

.tyc-card:hover {
   transform: translateY(-8px);
   box-shadow: var(--tyc-shadow-xl);
   border-color: transparent;
}

.tyc-card-image {
   position: relative;
   overflow: hidden;
   aspect-ratio: 16/10;
   background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.tyc-card-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.tyc-card-category {
   position: absolute;
   top: 16px;
   left: 16px;
   padding: 6px 14px;
   background: var(--tyc-gradient);
   color: #fff;
   font-size: 11px;
   font-weight: 600;
   text-transform: uppercase;
   border-radius: var(--tyc-radius-full);
}

.tyc-card-content {
   padding: 24px;
}

.tyc-card-title {
   font-size: 1.1rem;
   font-weight: 700;
   line-height: 1.45;
   margin-bottom: 10px;
}

.tyc-card-title a {
   color: var(--tyc-heading);
   text-decoration: none;
}

.tyc-card-title a:hover {
   color: var(--tyc-primary);
}

.tyc-card-excerpt {
   font-size: 14px;
   color: var(--tyc-text-light);
   line-height: 1.6;
   margin-bottom: 16px;
}

.tyc-card-meta {
   display: flex;
   gap: 16px;
   font-size: 13px;
   color: #a0aec0;
}

.tyc-card-meta i {
   margin-right: 4px;
}

/* === PRAYER CARD === */
.tyc-prayer-card {
   background: var(--tyc-gradient);
   padding: 60px 40px;
   border-radius: var(--tyc-radius-xl);
   text-align: center;
   position: relative;
   overflow: hidden;
}

.tyc-prayer-icon {
   font-size: 4rem;
   margin-bottom: 20px;
}

.tyc-prayer-title {
   font-size: 1.75rem;
   color: #fff;
   margin-bottom: 16px;
   font-family: Roboto, sans-serif;
}

.tyc-prayer-text {
   font-size: 1.15rem;
   font-style: italic;
   line-height: 1.9;
   color: rgba(255, 255, 255, .95);
   margin-bottom: 28px;
   max-width: 600px;
   margin-left: auto;
   margin-right: auto;
}

.tyc-prayer-btn {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 16px 36px;
   background: #fff;
   color: var(--tyc-primary);
   font-weight: 600;
   border-radius: var(--tyc-radius-full);
   text-decoration: none;
   transition: all var(--tyc-transition);
}

.tyc-prayer-btn:hover {
   transform: translateY(-3px);
   box-shadow: var(--tyc-shadow-lg);
}

/* === STATS === */
.tyc-stats {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 24px;
}

@media (max-width: 768px) {
   .tyc-stats {
      grid-template-columns: repeat(2, 1fr);
   }
}

.tyc-stat-item {
   text-align: center;
   padding: 36px 24px;
   background: var(--tyc-bg);
   border-radius: var(--tyc-radius-lg);
   box-shadow: var(--tyc-shadow-sm);
   border: 1px solid var(--tyc-border-light);
   transition: all var(--tyc-transition);
}

.tyc-stat-item:hover {
   transform: translateY(-5px);
   box-shadow: var(--tyc-shadow-lg);
}

.tyc-stat-number {
   font-size: 2.75rem;
   font-weight: 800;
   background: var(--tyc-gradient);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
   margin-bottom: 8px;
}

.tyc-stat-label {
   font-size: 14px;
   color: var(--tyc-text-light);
   font-weight: 500;
}

/* === NEWSLETTER === */
.tyc-newsletter {
   background: var(--tyc-gradient);
   padding: 50px 40px;
   border-radius: var(--tyc-radius-xl);
   text-align: center;
   position: relative;
   overflow: hidden;
}

.tyc-newsletter-title {
   font-size: 1.5rem;
   color: #fff;
   margin-bottom: 10px;
   font-family: Roboto, sans-serif;
}

.tyc-newsletter-text {
   color: rgba(255, 255, 255, .9);
   margin-bottom: 24px;
}

.tyc-newsletter-form {
   display: flex;
   gap: 12px;
   max-width: 450px;
   margin: 0 auto;
}

.tyc-newsletter-form input[type="email"] {
   flex: 1;
   padding: 16px 22px;
   border: none;
   border-radius: var(--tyc-radius-full);
   font-size: 14px;
   outline: none;
}

.tyc-newsletter-form button {
   padding: 16px 30px;
   background: #fff;
   color: var(--tyc-primary);
   border: none;
   border-radius: var(--tyc-radius-full);
   font-weight: 600;
   cursor: pointer;
   transition: all var(--tyc-transition);
}

.tyc-newsletter-form button:hover {
   transform: scale(1.05);
}