/*
 * ALITORA Utilities CSS
 * Quick utility classes for rapid development
 */

/* ===== SPACING ===== */
.alitora-p-xs { padding: var(--alitora-space-xs) !important; }
.alitora-p-sm { padding: var(--alitora-space-sm) !important; }
.alitora-p-md { padding: var(--alitora-space-md) !important; }
.alitora-p-lg { padding: var(--alitora-space-lg) !important; }
.alitora-p-xl { padding: var(--alitora-space-xl) !important; }
.alitora-p-2xl { padding: var(--alitora-space-2xl) !important; }
.alitora-p-3xl { padding: var(--alitora-space-3xl) !important; }
.alitora-p-4xl { padding: var(--alitora-space-4xl) !important; }

.alitora-py-xs { padding-top: var(--alitora-space-xs) !important; padding-bottom: var(--alitora-space-xs) !important; }
.alitora-py-sm { padding-top: var(--alitora-space-sm) !important; padding-bottom: var(--alitora-space-sm) !important; }
.alitora-py-md { padding-top: var(--alitora-space-md) !important; padding-bottom: var(--alitora-space-md) !important; }
.alitora-py-lg { padding-top: var(--alitora-space-lg) !important; padding-bottom: var(--alitora-space-lg) !important; }
.alitora-py-xl { padding-top: var(--alitora-space-xl) !important; padding-bottom: var(--alitora-space-xl) !important; }
.alitora-py-2xl { padding-top: var(--alitora-space-2xl) !important; padding-bottom: var(--alitora-space-2xl) !important; }
.alitora-py-3xl { padding-top: var(--alitora-space-3xl) !important; padding-bottom: var(--alitora-space-3xl) !important; }
.alitora-py-4xl { padding-top: var(--alitora-space-4xl) !important; padding-bottom: var(--alitora-space-4xl) !important; }

.alitora-px-xs { padding-left: var(--alitora-space-xs) !important; padding-right: var(--alitora-space-xs) !important; }
.alitora-px-sm { padding-left: var(--alitora-space-sm) !important; padding-right: var(--alitora-space-sm) !important; }
.alitora-px-md { padding-left: var(--alitora-space-md) !important; padding-right: var(--alitora-space-md) !important; }
.alitora-px-lg { padding-left: var(--alitora-space-lg) !important; padding-right: var(--alitora-space-lg) !important; }
.alitora-px-xl { padding-left: var(--alitora-space-xl) !important; padding-right: var(--alitora-space-xl) !important; }
.alitora-px-2xl { padding-left: var(--alitora-space-2xl) !important; padding-right: var(--alitora-space-2xl) !important; }
.alitora-px-3xl { padding-left: var(--alitora-space-3xl) !important; padding-right: var(--alitora-space-3xl) !important; }
.alitora-px-4xl { padding-left: var(--alitora-space-4xl) !important; padding-right: var(--alitora-space-4xl) !important; }

/* ===== COLORS (WP PRESET) ===== */
.alitora-bg-burgundy { background-color: var(--wp--preset--color--alitora-burgundy) !important; }
.alitora-bg-sand     { background-color: var(--wp--preset--color--alitora-sand) !important; }
.alitora-bg-charcoal { background-color: var(--wp--preset--color--alitora-charcoal) !important; }
.alitora-bg-pine     { background-color: var(--wp--preset--color--alitora-pine) !important; }
.alitora-bg-amber    { background-color: var(--wp--preset--color--alitora-amber) !important; }
.alitora-bg-white    { background-color: var(--wp--preset--color--white) !important; }

.alitora-text-burgundy { color: var(--wp--preset--color--alitora-burgundy) !important; }
.alitora-text-charcoal { color: var(--wp--preset--color--alitora-charcoal) !important; }
.alitora-text-pine     { color: var(--wp--preset--color--alitora-pine) !important; }
.alitora-text-white    { color: var(--wp--preset--color--white) !important; }

/* ===== BORDER RADIUS ===== */
.alitora-rounded-sm  { border-radius: var(--alitora-radius-sm) !important; }
.alitora-rounded-md  { border-radius: var(--alitora-radius-md) !important; }
.alitora-rounded-lg  { border-radius: var(--alitora-radius-lg) !important; }
.alitora-rounded-xl  { border-radius: var(--alitora-radius-xl) !important; }
.alitora-rounded-full{ border-radius: var(--alitora-radius-full) !important; }

/* ===== SHADOWS ===== */
.alitora-shadow-sm { box-shadow: var(--alitora-shadow-sm) !important; }
.alitora-shadow-md { box-shadow: var(--alitora-shadow-md) !important; }
.alitora-shadow-lg { box-shadow: var(--alitora-shadow-lg) !important; }

/* ===== TYPOGRAPHY ===== */
.alitora-font-heading { font-family: var(--alitora-font-heading) !important; }
.alitora-font-body    { font-family: var(--alitora-font-body) !important; }

.alitora-text-sm   { font-size: 14px !important; line-height: 1.5 !important; }
.alitora-text-base { font-size: 16px !important; line-height: 1.6 !important; }
.alitora-text-lg   { font-size: 18px !important; line-height: 1.6 !important; }
.alitora-text-xl   { font-size: 20px !important; line-height: 1.5 !important; }
.alitora-text-2xl  { font-size: 24px !important; line-height: 1.4 !important; }
.alitora-text-3xl  { font-size: 30px !important; line-height: 1.3 !important; }
.alitora-text-4xl  { font-size: 36px !important; line-height: 1.2 !important; }

.alitora-font-normal   { font-weight: 400 !important; }
.alitora-font-semibold { font-weight: 600 !important; }
.alitora-font-bold     { font-weight: 700 !important; }

.alitora-text-center { text-align: center !important; }

/* ===== LAYOUT ===== */
.alitora-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 24px !important; }

.alitora-flex { display: flex !important; }
.alitora-flex-col { flex-direction: column !important; }
.alitora-items-center { align-items: center !important; }
.alitora-justify-center { justify-content: center !important; }
.alitora-justify-between { justify-content: space-between !important; }

.alitora-grid { display: grid !important; }
.alitora-grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
.alitora-grid-cols-3 { grid-template-columns: repeat(3, 1fr) !important; }

.alitora-gap-md { gap: var(--alitora-space-md) !important; }
.alitora-gap-lg { gap: var(--alitora-space-lg) !important; }
.alitora-gap-xl { gap: var(--alitora-space-xl) !important; }
.alitora-gap-2xl { gap: var(--alitora-space-2xl) !important; }

/* ===== COMPONENTS ===== */
.alitora-card{
  background: var(--alitora-white) !important;
  border-radius: var(--alitora-radius-lg) !important;
  box-shadow: var(--alitora-shadow-md) !important;
  padding: var(--alitora-space-2xl) !important;
  border: none !important;
  transition: all .3s ease !important;
}
.alitora-card:hover{ transform: translateY(-4px) !important; box-shadow: var(--alitora-shadow-lg) !important; }

/* ===== HERO canonical classes ===== */
.alitora-badge{
  background: var(--wp--preset--color--alitora-burgundy);
  color: #fff;
  font-size:14px; font-weight:600; line-height:1;
  padding:8px 16px; border-radius: var(--alitora-radius-full);
  display:inline-block; margin-bottom: 15px;
}

/* Trust list */
.alitora-trust-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px 24px;
  list-style: none;
  padding-left: 0;
  margin: var(--alitora-space-lg) 0 0 0;
  padding-top: var(--alitora-space-lg);
  border-top:1px solid rgba(112,32,40,.2);
}
.wp-block-list.alitora-trust-grid{ padding-left:0; margin-left:0; }
.alitora-trust-item{ display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color: var(--wp--preset--color--alitora-charcoal); }
.alitora-icon-circle-sm{ width:20px; height:20px; border-radius:50%; background: var(--wp--preset--color--alitora-pine); display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:12px; line-height:1; }

.alitora-image-frame{ overflow:hidden; border:1px solid rgba(0,0,0,.08); border-radius: var(--alitora-radius-xl); }
.alitora-image-frame img{ border-radius: inherit; }

.alitora-float-card{ position:absolute; left:24px; bottom:-24px; z-index:2; background:#fff; padding:16px 20px; border-radius:16px; box-shadow:0 18px 45px rgba(0,0,0,.18); border:1px solid rgba(0,0,0,.06); display:flex; align-items:center; gap:16px; min-width:220px; }
.alitora-float-count{ color: var(--wp--preset--color--alitora-pine); font-size:24px; font-weight:700; line-height:1; }
.alitora-float-label{ color: var(--wp--preset--color--alitora-charcoal); font-size:14px; line-height:1.2; }
.alitora-stats-icon{ width:44px; height:44px; border-radius:50%; background: var(--wp--preset--color--alitora-pine); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; }

@media (max-width:768px){
  .alitora-float-card{ position:static; margin-top: var(--alitora-space-md); }
  .alitora-trust-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap:7px 16px; }
}

/* ===== SERVICES ===== */
.alitora-services-intro{ max-width:760px; margin:0 auto var(--alitora-space-2xl); text-align:center; }
.alitora-services-grid{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--alitora-space-xl); list-style:none; padding-left:0; margin: var(--alitora-space-2xl) 0 0 0; }
.alitora-services-grid > li{ margin:0; }
.alitora-service-card{ text-align:center; }
.alitora-service-icon{ width:64px; height:64px; margin:0 auto var(--alitora-space-md); border-radius:16px; background: var(--wp--preset--color--alitora-burgundy); display:inline-flex; align-items:center; justify-content:center; box-shadow: var(--alitora-shadow-sm); }
.alitora-service-icon img{ width:28px; height:28px; object-fit:contain; filter: brightness(0) invert(1); }
@media (max-width: 1024px){ .alitora-services-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .alitora-services-grid{ grid-template-columns: 1fr; } }
.alitora-section-title { font-size: clamp(2rem, 5vw, 40px); line-height: 1.2; }
.alitora-constrain{ max-width: var(--wp--style--global--content-size, 1200px); margin-left:auto; margin-right:auto; }

/* ===== FEATURES ===== */
.alitora-features-intro{ max-width:760px; margin:0 auto var(--alitora-space-2xl); text-align:center; }
.alitora-features-grid{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--alitora-space-3xl); }
.alitora-feature-card{ text-align:center; padding: var(--alitora-space-xl); border-radius: var(--alitora-radius-lg); transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease; }
.alitora-feature-card:hover, .alitora-feature-card:focus-within{ background: var(--alitora-sand); transform: translateY(-4px); box-shadow: var(--alitora-shadow-md); }
.alitora-feature-icon{ width:64px; height:64px; margin:0 auto var(--alitora-space-md); border-radius:16px; background: var(--alitora-burgundy); display:inline-flex; align-items:center; justify-content:center; box-shadow: var(--alitora-shadow-sm); }
.alitora-feature-icon img{ width:28px; height:28px; object-fit:contain; filter: brightness(0) invert(1); }
@media (max-width:1024px){ .alitora-features-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .alitora-features-grid{ grid-template-columns: 1fr; } }

/* ===== STATS ===== */
.alitora-stats-wrap{ text-align:center; }
.alitora-stat-value{ font-family: var(--alitora-font-heading); font-weight: 500; font-size: clamp(2.25rem, 6vw, 46px); line-height: 1; margin: 0 0 8px 0; }
.alitora-stat-label{ font-size: 15px; line-height: 1.6; opacity: .95; }
.alitora-stats-title{ font-family: var(--alitora-font-heading); font-weight: 500; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.25; color: var(--wp--preset--color--white); text-align: center; margin: 0 0 var(--alitora-space-xl) 0; }
