/* Same styles as the local-icons version */
.gymoin-cal {
  font-family: var(--e-global-typography-text-font-family, inherit);
  color: var(--e-global-color-text, inherit);
}
.gymoin-cal .cc-card { border: 1px solid rgba(0,0,0,.08); border-radius: 14px; padding: 16px; margin: 16px 0; background: var(--e-global-color-background, #fff); }

.gymoin-cal .cc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 640px) { .gymoin-cal .cc-grid { grid-template-columns: 1fr; } }

.gymoin-cal .cc-field label { display:block; font-weight: 700; margin: .25rem 0 .25rem; }
.gymoin-cal .cc-field input, .gymoin-cal .cc-field select { width: 100%; padding: .6rem .7rem; border: 1px solid rgba(0,0,0,.14); border-radius: 10px; background: var(--e-global-color-background,#fff); color: inherit; }

/* Make goal block span the full form width (fix desktop distribution) */
.gymoin-cal .cc-field.cc-goal { grid-column: 1 / -1; }

.gymoin-cal .cc-kpis { display:grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
@media (max-width: 900px) { .gymoin-cal .cc-kpis { grid-template-columns: repeat(2,1fr); } }
.gymoin-cal .cc-kpih { font-size: .85rem; opacity: .8; }
.gymoin-cal .cc-kpin { font-size: 1.3rem; font-weight: 800; }

/* Goal tiles: 3 columns desktop, 1 on mobile */
.gymoin-cal .cc-goal-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: .6rem 0 0 0;
  justify-items: stretch;
  align-items: stretch;
}
@media (max-width: 900px) {
  .gymoin-cal .cc-goal-tiles { grid-template-columns: 1fr; }
}
.gymoin-cal .cc-goal-input { display:none; }
.gymoin-cal .cc-tile { display:flex; align-items:flex-start; gap:12px; padding:14px; border:1px solid rgba(0,0,0,.14); border-radius:12px; cursor:pointer; background: var(--e-global-color-background, #fff); transition: transform .05s ease, box-shadow .2s ease; }
.gymoin-cal .cc-tile .t-ico { width: 24px; height: 24px; margin-top: 2px; display:inline-flex; align-items:center; justify-content:center; }
.gymoin-cal .cc-tile .t-ico img { width: 24px; height: 24px; display:block; }
.gymoin-cal .cc-tile .t-title { display:block; font-weight:900; line-height:1.2; margin-bottom: 2px; }
.gymoin-cal .cc-tile .t-sub { display:block; font-size:.9rem; opacity:.8; line-height:1.3; }
.gymoin-cal .cc-tile:hover { box-shadow: 0 2px 10px rgba(0,0,0,.08); transform: translateY(-1px); }
.gymoin-cal #goal-maintain:checked + label,
.gymoin-cal #goal-cut:checked + label,
.gymoin-cal #goal-bulk:checked + label { outline: 2px solid var(--e-global-color-primary, #111); border-color: var(--e-global-color-primary, #111); }

.gymoin-cal .cc-res-head { display:flex; align-items:center; justify-content: space-between; gap: 8px; }
.gymoin-cal .cc-res h3 { margin: 0; font-size: 1.05rem; font-weight: 800; }
.gymoin-cal .cc-badge { font-size: .8rem; padding: .2rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.12); color: var(--e-global-color-accent, inherit); }
.gymoin-cal .cc-res-cal { font-weight: 900; font-size: 1.6rem; margin: 6px 0 10px; }
.gymoin-cal .cc-res-cal span { font-size: .9rem; font-weight: 600; opacity: .8; margin-left: 6px; }
.gymoin-cal .cc-macros { display:grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.gymoin-cal .cc-macros .mm-h { font-size:.85rem; opacity:.8; }
.gymoin-cal .cc-macros .mm-g { font-size:1.1rem; font-weight:800; }
.gymoin-cal .cc-macros .mm-p { font-size:.85rem; opacity:.8; }

.gymoin-cal .cc-legal, .gymoin-cal .cc-disclaimer { font-size: .9rem; opacity:.85; }
