/* =========================================================
   CAFÉZIA ELEMENTOR SUITE — v1.4.2
   Brand: #171512 / #6F675C / #BBCE8E / #E2DBCE / #B7A997
========================================================= */

.caf-suite {
  --caf-ink: #171512;
  --caf-muted: #6f675c;
  --caf-green: #bbce8e;
  --caf-bg: #e2dbce;
  --caf-roast: #b7a997;
  --caf-white: #ffffff;
  --caf-cream: #fbfaf7;
  --caf-radius: 28px;
  --caf-shadow: 0 22px 60px rgba(23, 21, 18, .075);
  width: 100%;
  color: var(--caf-ink);
  font-family: inherit;
}

.caf-suite,
.caf-suite * { box-sizing: border-box; }

.caf-suite a { text-decoration: none !important; }

.caf-suite__intro {
  max-width: 760px;
  margin: 0 0 28px;
}

.caf-suite__eyebrow,
.caf-cta-bar__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 11px;
  color: var(--caf-muted);
  font-size: 11px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.caf-suite__eyebrow::before,
.caf-cta-bar__eyebrow::before {
  content: "";
  width: 34px;
  height: 1px;
  background: var(--caf-roast);
}

.caf-suite__intro h2,
.caf-feature-split__content h2,
.caf-cta-bar h2 {
  margin: 0;
  color: var(--caf-ink);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(34px, 4vw, 58px);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -.045em;
}

.caf-suite__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid rgba(187,206,142,.82);
  background: var(--caf-green);
  color: var(--caf-ink) !important;
  font-size: 14px;
  font-weight: 500;
  box-shadow: 0 12px 28px rgba(187,206,142,.23), inset 0 1px 0 rgba(255,255,255,.58);
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.caf-suite__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(187,206,142,.34), 0 0 0 4px rgba(187,206,142,.10);
}

.caf-suite__button span { transition: transform .25s ease; }
.caf-suite__button:hover span { transform: translateX(3px); }

.caf-suite__button--light {
  background: rgba(255,255,255,.94);
  border-color: rgba(255,255,255,.68);
  box-shadow: 0 12px 30px rgba(0,0,0,.13), inset 0 1px 0 rgba(255,255,255,.85);
}

/* Reveal is JS-enhanced only; no JS/editor => always visible. */
.caf-reveal-pending { opacity: 0; transform: translateY(18px); }
.caf-reveal-item {
  transition: opacity .55s ease, transform .55s cubic-bezier(.22,.75,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.caf-reveal-item.is-visible { opacity: 1; transform: translateY(0); }

/* =========================================================
   STATS
========================================================= */
.caf-stats { padding: 10px 0; }
.caf-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
}
.caf-stats__card {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  padding: 24px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 15% 8%, rgba(187,206,142,.21), transparent 34%),
    linear-gradient(145deg,#fff 0%,#fbfaf7 58%,rgba(226,219,206,.56) 100%);
  border: 1px solid rgba(183,169,151,.22);
  box-shadow: 0 16px 42px rgba(23,21,18,.055), inset 0 1px 0 rgba(255,255,255,.92);
}
.caf-stats__card::after {
  content:"";
  position:absolute;
  right:-42px;
  bottom:-58px;
  width:145px;
  height:145px;
  border-radius:50%;
  background:rgba(187,206,142,.11);
  transition:transform .35s ease;
}
.caf-stats__card:hover { transform: translateY(-5px); border-color: rgba(187,206,142,.58); box-shadow: var(--caf-shadow); }
.caf-stats__card:hover::after { transform: scale(1.2); }
.caf-stats__icon,
.caf-process__icon {
  width: 52px;
  height: 52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 17px;
  color:var(--caf-ink);
  background:linear-gradient(145deg,rgba(187,206,142,.32),rgba(226,219,206,.62));
  border:1px solid rgba(187,206,142,.42);
  box-shadow:0 10px 24px rgba(187,206,142,.15), inset 0 1px 0 rgba(255,255,255,.85);
}
.caf-stats__icon svg,.caf-process__icon svg { width:25px;height:25px;stroke-width:1.7; }
.caf-stats__icon img,.caf-process__icon img { width:30px;height:30px;object-fit:contain; }
.caf-stats__value {
  position:relative;
  z-index:2;
  margin-top:22px;
  color:var(--caf-ink);
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(34px,3vw,48px);
  line-height:1;
  font-weight:500;
  letter-spacing:-.04em;
}
.caf-stats__card h3 {
  position:relative;z-index:2;
  margin:10px 0 5px;
  font-size:17px;
  line-height:1.15;
  font-weight:500;
}
.caf-stats__card p {
  position:relative;z-index:2;
  margin:0;
  color:var(--caf-muted);
  font-size:13px;
  line-height:1.45;
}

/* =========================================================
   CTA BAR
========================================================= */
.caf-cta-bar {
  --caf-cta-overlay:.48;
  --caf-cta-min-height:230px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:var(--caf-cta-min-height);
  padding:clamp(28px,4vw,56px);
  display:flex;
  align-items:center;
  border-radius:32px;
  background-image:var(--caf-cta-img);
  background-size:cover;
  background-position:center calc(50% + var(--caf-cta-shift,0px));
  box-shadow:0 24px 64px rgba(23,21,18,.10);
}
.caf-cta-bar::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,rgba(23,21,18,.82),rgba(23,21,18,.58) 58%,rgba(23,21,18,.18));
  opacity:var(--caf-cta-overlay);
}
.caf-cta-bar::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 12% 50%,rgba(187,206,142,.24),transparent 34%);
  pointer-events:none;
}
.caf-cta-bar__shade { position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.05),transparent 44%); }
.caf-cta-bar__content {
  position:relative;
  z-index:2;
  width:100%;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:36px;
}
.caf-cta-bar__content > div { max-width:900px; }
.caf-cta-bar__eyebrow { color:rgba(255,255,255,.72); }
.caf-cta-bar__eyebrow::before { background:var(--caf-green); }
.caf-cta-bar h2 { color:#fff; font-size:clamp(36px,4.4vw,64px); }
.caf-cta-bar p { margin:12px 0 0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.55; }

/* =========================================================
   FEATURE SPLIT
========================================================= */
.caf-feature-split {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,4vw,68px);
  align-items:center;
  padding:clamp(24px,3vw,48px);
  border-radius:34px;
  background:
    radial-gradient(circle at 2% 16%,rgba(187,206,142,.14),transparent 30%),
    linear-gradient(135deg,#fff,#faf8f4 58%,rgba(226,219,206,.42));
  border:1px solid rgba(183,169,151,.18);
  box-shadow:0 22px 64px rgba(23,21,18,.06);
}
.caf-feature-split--image-right .caf-feature-split__media { order:2; }
.caf-feature-split--image-right .caf-feature-split__content { order:1; }
.caf-feature-split__image-wrap {
  position:relative;
  overflow:hidden;
  aspect-ratio:4/3;
  border-radius:28px;
  background:var(--caf-bg);
  box-shadow:0 20px 48px rgba(23,21,18,.10);
}
.caf-feature-split__image {
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.035) translate3d(var(--caf-img-x,0),var(--caf-img-y,0),0);
  transition:transform .45s cubic-bezier(.22,.75,.2,1),filter .3s ease;
}
.caf-feature-split:hover .caf-feature-split__image { transform:scale(1.075) translate3d(var(--caf-img-x,0),var(--caf-img-y,0),0); }
.caf-feature-split__media-glow { position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.20),transparent 42%); }
.caf-feature-split__content h2 { margin-bottom:18px; }
.caf-feature-split__text { color:var(--caf-muted);font-size:15px;line-height:1.7; }
.caf-feature-split__text p { margin:0 0 12px; }
.caf-feature-split__bullets {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:22px 0 24px;
}
.caf-feature-split__bullet {
  min-height:56px;
  padding:10px 13px;
  display:flex;align-items:center;gap:10px;
  border-radius:17px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(183,169,151,.18);
}
.caf-feature-split__bullet > span { width:34px;height:34px;min-width:34px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(187,206,142,.22); }
.caf-feature-split__bullet svg { width:17px;height:17px;stroke-width:1.8; }
.caf-feature-split__bullet strong { font-size:12.5px;line-height:1.25;font-weight:500; }

/* =========================================================
   IMAGE MOTION
========================================================= */
.caf-image-motion {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:block;
  width:100%;
  border-radius:30px;
  background:var(--caf-bg);
  box-shadow:0 22px 56px rgba(23,21,18,.09);
  border:1px solid rgba(183,169,151,.18);
  color:#fff !important;
  transform-style:preserve-3d;
}
.caf-image-motion--1-1 { aspect-ratio:1/1; }
.caf-image-motion--4-3 { aspect-ratio:4/3; }
.caf-image-motion--16-9 { aspect-ratio:16/9; }
.caf-image-motion--3-4 { aspect-ratio:3/4; }
.caf-image-motion__img { width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform .7s cubic-bezier(.22,.75,.2,1),filter .35s ease; }
.caf-image-motion--zoom:hover .caf-image-motion__img { transform:scale(1.075); }
.caf-image-motion__overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(23,21,18,.78),rgba(23,21,18,.08) 60%,rgba(23,21,18,.02)); }
.caf-image-motion__caption { position:absolute;left:clamp(18px,3vw,34px);right:clamp(18px,3vw,34px);bottom:clamp(18px,3vw,30px);z-index:3;transform:translateZ(24px); }
.caf-image-motion__caption > span { display:inline-flex;margin-bottom:8px;padding:6px 10px;border-radius:999px;background:rgba(187,206,142,.88);color:var(--caf-ink);font-size:10px;font-weight:500;letter-spacing:.10em;text-transform:uppercase; }
.caf-image-motion__caption h3 { margin:0;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(26px,3vw,42px);line-height:1;font-weight:500;letter-spacing:-.035em; }
.caf-image-motion__caption p { max-width:520px;margin:9px 0 0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.45; }

/* =========================================================
   PROCESS
========================================================= */
.caf-process { padding:10px 0; }
.caf-process__grid {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.caf-process__grid::before {
  content:"";position:absolute;left:7%;right:7%;top:49px;height:1px;z-index:0;
  background:linear-gradient(90deg,transparent,rgba(183,169,151,.34),rgba(187,206,142,.55),rgba(183,169,151,.34),transparent);
}
.caf-process__card {
  position:relative;z-index:1;
  min-height:220px;
  padding:24px 22px;
  border-radius:25px;
  background:linear-gradient(145deg,#fff,#fbfaf7 62%,rgba(226,219,206,.42));
  border:1px solid rgba(183,169,151,.20);
  box-shadow:0 14px 38px rgba(23,21,18,.05);
}
.caf-process__card:hover { transform:translateY(-5px);border-color:rgba(187,206,142,.58);box-shadow:var(--caf-shadow); }
.caf-process__icon { position:relative;z-index:2;margin-bottom:24px;background:#f2f6e8; }
.caf-process__copy h3 { margin:0 0 7px;font-family:"Playfair Display",Georgia,serif;font-size:23px;line-height:1.05;font-weight:500;letter-spacing:-.025em; }
.caf-process__copy p { margin:0;color:var(--caf-muted);font-size:13px;line-height:1.55; }

/* =========================================================
   INTERACTIVE TABS
========================================================= */
.caf-tabs { padding:clamp(22px,3vw,42px);border-radius:34px;background:linear-gradient(135deg,#fff,#faf8f4 56%,rgba(226,219,206,.48));border:1px solid rgba(183,169,151,.18);box-shadow:0 22px 64px rgba(23,21,18,.055); }
.caf-tabs__buttons { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px; }
.caf-tabs__button {
  appearance:none;border:1px solid rgba(183,169,151,.20);background:rgba(255,255,255,.72);color:var(--caf-ink);
  min-height:72px;padding:11px 14px;border-radius:20px;display:flex;align-items:center;gap:11px;cursor:pointer;text-align:left;
  font-size:14px;font-weight:500;transition:transform .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.caf-tabs__button:hover,.caf-tabs__button.is-active { transform:translateY(-2px);background:rgba(187,206,142,.20);border-color:rgba(187,206,142,.58);box-shadow:0 12px 30px rgba(187,206,142,.14); }
.caf-tabs__button-icon { width:40px;height:40px;min-width:40px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(187,206,142,.22);border:1px solid rgba(187,206,142,.28); }
.caf-tabs__button-icon svg { width:20px;height:20px;stroke-width:1.7; }
.caf-tabs__button-icon img { width:24px;height:24px;object-fit:contain; }
.caf-tabs__panel { display:none;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px;align-items:center;padding:28px;border-radius:26px;background:rgba(255,255,255,.70);border:1px solid rgba(183,169,151,.15); }
.caf-tabs__panel.is-active { display:grid;animation:cafTabIn .35s ease both; }
@keyframes cafTabIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
.caf-tabs__copy h3 { margin:0 0 12px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(28px,3vw,42px);line-height:1;font-weight:500;letter-spacing:-.035em; }
.caf-tabs__copy > div { color:var(--caf-muted);font-size:14px;line-height:1.65; }
.caf-tabs__copy p { margin:0 0 10px; }
.caf-tabs__media { overflow:hidden;aspect-ratio:16/10;border-radius:22px;background:var(--caf-bg); }
.caf-tabs__media img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease; }
.caf-tabs__panel:hover .caf-tabs__media img { transform:scale(1.04); }

/* =========================================================
   EDITORIAL IMAGE CARDS
========================================================= */
.caf-editorial { padding:10px 0; }
.caf-editorial__grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.caf-editorial__card { position:relative;overflow:hidden;min-height:390px;border-radius:28px;background:var(--caf-bg);color:#fff !important;box-shadow:0 18px 46px rgba(23,21,18,.08); }
.caf-editorial__media,.caf-editorial__media img,.caf-editorial__overlay { position:absolute;inset:0;width:100%;height:100%; }
.caf-editorial__media img { object-fit:cover;display:block;transition:transform .65s cubic-bezier(.22,.75,.2,1),filter .35s ease; }
.caf-editorial__overlay { background:linear-gradient(to top,rgba(23,21,18,.82),rgba(23,21,18,.12) 65%,rgba(23,21,18,.02)); }
.caf-editorial__content { position:absolute;z-index:3;left:21px;right:21px;bottom:20px; }
.caf-editorial__content > span { display:inline-flex;margin-bottom:9px;padding:5px 9px;border-radius:999px;background:rgba(187,206,142,.90);color:var(--caf-ink);font-size:9px;font-weight:500;letter-spacing:.10em;text-transform:uppercase; }
.caf-editorial__content h3 { margin:0;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(24px,2.3vw,34px);line-height:1;font-weight:500;letter-spacing:-.03em; }
.caf-editorial__content p { margin:9px 0 13px;color:rgba(255,255,255,.76);font-size:12.5px;line-height:1.45; }
.caf-editorial__content strong { display:inline-flex;align-items:center;gap:7px;color:#fff;font-size:12px;font-weight:500; }
.caf-editorial__content strong b { font-size:16px;font-weight:500;transition:transform .25s ease; }
.caf-editorial__card:hover { transform:translateY(-5px);box-shadow:0 26px 62px rgba(23,21,18,.13); }
.caf-editorial__card:hover .caf-editorial__media img { transform:scale(1.07); }
.caf-editorial__card:hover strong b { transform:translateX(3px); }

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width:1024px) {
  .caf-stats__grid,.caf-process__grid,.caf-editorial__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .caf-process__grid::before { display:none; }
  .caf-tabs__buttons { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .caf-feature-split { grid-template-columns:1fr 1fr;gap:28px;padding:28px; }
  .caf-editorial__card { min-height:350px; }
}

@media (max-width:767px) {
  .caf-suite__intro { margin-bottom:18px; }
  .caf-suite__intro h2,.caf-feature-split__content h2,.caf-cta-bar h2 { font-size:clamp(30px,9vw,42px); }
  .caf-suite__eyebrow,.caf-cta-bar__eyebrow { font-size:9px;letter-spacing:.10em; }

  /* 2 x 2 where it makes sense */
  .caf-stats__grid,.caf-process__grid,.caf-editorial__grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }

  .caf-stats__card { min-height:190px;padding:16px 14px;border-radius:20px; }
  .caf-stats__icon,.caf-process__icon { width:44px;height:44px;border-radius:14px; }
  .caf-stats__icon svg,.caf-process__icon svg { width:21px;height:21px; }
  .caf-stats__icon img,.caf-process__icon img { width:25px;height:25px; }
  .caf-stats__value { margin-top:17px;font-size:31px; }
  .caf-stats__card h3 { font-size:14px; }
  .caf-stats__card p { font-size:11px;line-height:1.4; }

  .caf-cta-bar { padding:24px 20px;border-radius:24px;background-position:center; }
  .caf-cta-bar__content { align-items:flex-start;flex-direction:column;gap:20px; }
  .caf-cta-bar p { font-size:13px; }
  .caf-suite__button { min-height:42px;padding:0 18px;font-size:12.5px; }

  .caf-feature-split { grid-template-columns:1fr;gap:22px;padding:18px;border-radius:25px; }
  .caf-feature-split--image-right .caf-feature-split__media,.caf-feature-split--image-right .caf-feature-split__content { order:initial; }
  .caf-feature-split--mobile-image-first .caf-feature-split__media { order:1; }
  .caf-feature-split--mobile-image-first .caf-feature-split__content { order:2; }
  .caf-feature-split__image-wrap { border-radius:20px; }
  .caf-feature-split__text { font-size:13px;line-height:1.6; }
  .caf-feature-split__bullets { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:17px 0 20px; }
  .caf-feature-split__bullet { min-height:52px;padding:8px;gap:8px;border-radius:15px; }
  .caf-feature-split__bullet > span { width:30px;height:30px;min-width:30px;border-radius:10px; }
  .caf-feature-split__bullet strong { font-size:10.5px; }

  .caf-image-motion { border-radius:22px; }
  .caf-image-motion__caption { left:16px;right:16px;bottom:16px; }
  .caf-image-motion__caption h3 { font-size:25px; }
  .caf-image-motion__caption p { font-size:11.5px; }

  .caf-process__card { min-height:190px;padding:16px 14px;border-radius:20px; }
  .caf-process__icon { margin-bottom:16px; }
  .caf-process__copy h3 { font-size:18px; }
  .caf-process__copy p { font-size:11px;line-height:1.42; }

  .caf-tabs { padding:16px;border-radius:24px; }
  .caf-tabs__buttons { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px; }
  .caf-tabs__button { min-height:60px;padding:8px 9px;border-radius:16px;font-size:11px;gap:8px; }
  .caf-tabs__button-icon { width:34px;height:34px;min-width:34px;border-radius:11px; }
  .caf-tabs__button-icon svg { width:17px;height:17px; }
  .caf-tabs__panel,.caf-tabs__panel.is-active { grid-template-columns:1fr;gap:15px;padding:17px;border-radius:19px; }
  .caf-tabs__copy h3 { font-size:28px; }
  .caf-tabs__copy > div { font-size:12.5px;line-height:1.55; }
  .caf-tabs__media { border-radius:16px;aspect-ratio:16/10; }

  .caf-editorial__card { min-height:285px;border-radius:20px; }
  .caf-editorial__content { left:13px;right:13px;bottom:13px; }
  .caf-editorial__content h3 { font-size:21px; }
  .caf-editorial__content p { display:none; }
  .caf-editorial__content strong { font-size:10px; }
  .caf-editorial__content > span { font-size:8px;padding:4px 7px;margin-bottom:7px; }
}

@media (max-width:380px) {
  .caf-stats__grid,.caf-process__grid,.caf-editorial__grid { gap:8px; }
  .caf-stats__card,.caf-process__card { padding:14px 11px; }
  .caf-editorial__card { min-height:260px; }
}

/* Elementor editor: never leave empty preview. */
body.elementor-editor-active .caf-reveal-item,
body.elementor-editor-preview .caf-reveal-item,
.elementor-editor-active .caf-reveal-item,
.elementor-editor-preview .caf-reveal-item,
.elementor-element-edit-mode .caf-reveal-item {
  opacity:1 !important;
  transform:none !important;
}

@media (prefers-reduced-motion:reduce) {
  .caf-suite *, .caf-suite::before, .caf-suite::after { animation:none !important;transition:none !important; }
  .caf-reveal-item { opacity:1 !important;transform:none !important; }
}

/* =========================================================
   INFO / ZAUJÍMAVOSŤ BOX
========================================================= */
.caf-info-box {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  height:100%;
  min-height:100%;
  align-self:stretch;
  padding:22px 26px;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:20px;
  align-items:center;
  border-radius:24px;
  background:
    radial-gradient(circle at 5% 8%,rgba(187,206,142,.22),transparent 30%),
    radial-gradient(circle at 92% 100%,rgba(183,169,151,.14),transparent 34%),
    linear-gradient(135deg,#fff 0%,#fbfaf7 58%,rgba(226,219,206,.58) 100%);
  border:1px solid rgba(183,169,151,.22);
  box-shadow:0 16px 42px rgba(23,21,18,.055),inset 0 1px 0 rgba(255,255,255,.88);
}
.caf-info-box::after { content:"";position:absolute;left:24px;right:24px;bottom:0;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--caf-green),rgba(183,169,151,.54),transparent);opacity:.7; }
.caf-info-box:hover { transform:translateY(-3px);border-color:rgba(187,206,142,.52);box-shadow:0 22px 56px rgba(23,21,18,.08),0 0 0 4px rgba(187,206,142,.08); }
.caf-info-box__icon { width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:20px;background:linear-gradient(145deg,rgba(187,206,142,.30),rgba(226,219,206,.50));border:1px solid rgba(187,206,142,.38);box-shadow:0 12px 28px rgba(187,206,142,.15),inset 0 1px 0 rgba(255,255,255,.88); }
.caf-info-box__icon svg { width:30px;height:30px;stroke-width:1.7; }
.caf-info-box__icon img { width:38px;height:38px;object-fit:contain; }
.caf-info-box__label { display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;padding:6px 10px;border-radius:999px;background:rgba(187,206,142,.20);border:1px solid rgba(187,206,142,.34);font-size:10px;line-height:1;font-weight:500;letter-spacing:.10em;text-transform:uppercase; }
.caf-info-box__label span { width:7px;height:7px;border-radius:50%;background:var(--caf-green);box-shadow:0 0 0 5px rgba(187,206,142,.16); }
.caf-info-box__content h3 { margin:0 0 6px;font-family:"Playfair Display",Georgia,serif;font-size:24px;line-height:1.05;font-weight:500;letter-spacing:-.025em; }
.caf-info-box__content p { margin:0;color:var(--caf-muted);font-size:14px;line-height:1.6; }
.caf-info-box__content a { display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:var(--caf-ink)!important;font-size:12px;font-weight:500; }
.caf-info-box__content a span { transition:transform .25s ease; }
.caf-info-box__content a:hover span { transform:translateX(3px); }

/* Elementor Flexbox interoperability.
   JS activates this only when 2+ Info Box widgets are direct siblings
   and the same parent contains no other Elementor widget children. */
.caf-info-box-widget {
  box-sizing:border-box !important;
  min-width:0 !important;
}

.caf-info-box-equal-parent {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:stretch !important;
  justify-content:center !important;
}

.caf-info-box-equal-parent > .caf-info-box-widget {
  flex:1 1 0 !important;
  width:0 !important;
  min-width:0 !important;
  max-width:none !important;
  align-self:stretch !important;
  display:flex !important;
}

.caf-info-box-equal-parent > .caf-info-box-widget > .elementor-widget-container {
  display:flex !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
}

.caf-info-box-equal-parent > .caf-info-box-widget .caf-info-box {
  width:100% !important;
  height:var(--caf-info-equal-height,100%) !important;
  min-height:var(--caf-info-equal-height,100%) !important;
  margin:0 !important;
}

/* Natural-height measurement pass used by cafezia-suite.js. */
.caf-info-box-equal-parent.caf-info-box-measuring > .caf-info-box-widget {
  height:auto !important;
  align-self:flex-start !important;
}

.caf-info-box-equal-parent.caf-info-box-measuring > .caf-info-box-widget > .elementor-widget-container {
  height:auto !important;
}

.caf-info-box-equal-parent.caf-info-box-measuring > .caf-info-box-widget .caf-info-box {
  height:auto !important;
  min-height:0 !important;
}

@media(max-width:1024px){
  .caf-info-box-equal-parent > .caf-info-box-widget {
    flex:0 0 calc((100% - var(--caf-info-gap,16px)) / 2) !important;
    width:calc((100% - var(--caf-info-gap,16px)) / 2) !important;
    max-width:calc((100% - var(--caf-info-gap,16px)) / 2) !important;
  }
}

@media(max-width:767px){
  .caf-info-box { grid-template-columns:1fr;align-content:start;align-items:start;gap:12px;padding:15px 13px 17px;border-radius:20px; }
  .caf-info-box__icon { width:46px;height:46px;border-radius:15px; }
  .caf-info-box__icon svg { width:22px;height:22px; }
  .caf-info-box__icon img { width:28px;height:28px; }
  .caf-info-box__label { max-width:100%;padding:5px 8px;font-size:8.5px;line-height:1.12;letter-spacing:.07em;white-space:normal; }
  .caf-info-box__content { min-width:0; }
  .caf-info-box__content h3 { font-size:18px;line-height:1.08;overflow-wrap:anywhere; }
  .caf-info-box__content p { font-size:11.5px;line-height:1.48;overflow-wrap:anywhere; }
  .caf-info-box__content a { font-size:11px; }
}
