@import url("./section-templates.css");
@import url("./animate.css");
@import url("./segments.css");
@import url("./componentsUI.css");
@import url("./scripts-styles.css");
@import url("./segments-components-base.css");
@import url("./template-basic-styles.css");
@import url("./motion.css");
@import url("./footer.css");
@import url("./font-awesome.min.css");
@import url("./fonts.css");
@import url("./tailwind.css");

section {
  min-height: 60px;
}

.shared_initial_loader_div {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100dvh;
  width: 100vw;
  background: rgb(40, 50, 60);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}

img.logo-placeholder,
img[alt="logo"]:not([src]),
img[alt="logo"][src=""],
img[alt="logo"][src="#"],
img[alt="logo"][src="undefined"],
img[alt="logo"][src="null"] {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #ccc;
  object-fit: contain;
}

.clamp-text {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-through {
  text-decoration: line-through;
}

.text-justify {
  text-align: justify;
}

.modal {
  display: none;
  position: fixed;
  z-index: 999999;
  padding-top: 100px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.4);
}

.shared_initial_loader_div .shared_initial_loader_span {
  width: 48px;
  height: 48px;
  border: 5px solid #fff;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: shared_rotation 1s linear infinite;
}

@keyframes shared_rotation {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.shared-flex-vertical-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
}

.shared-flex-vertical-left .shared-image-ctn {
  width: 100%;
}

.shared-aspect-ratio-1-1 {
  width: 9rem;
  height: 9rem;
}

.shared-aspect-ratio-4-3 {
  padding-top: 75%;
}

.shared-aspect-ratio-16-9 {
  padding-top: 56.25%;
}

.shared-image-ctn {
  position: relative;
}

.shared-image-ctn.shared-circle > img {
  border-radius: 50%;
}

.post-preview {
  cursor: pointer;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}

.post-preview h2 {
  font-size: 24px;
  margin-top: 20px;
  color: #007bff;
}

.post-title {
  font-size: 30px;
  color: #333;
  padding: 20px 0 20px 0;
  text-align: center;
}

.blog_title {
  font-size: 30px;
  color: #333;
  padding: 20px 0 20px 0;
  text-align: center;
}

.post-preview p {
  font-size: 18px;
  color: #666;
}

.post-section {
  background-color: #f0f0f0;
  padding: 20px;
}

.post-section h2 {
  font-size: 24px;
  color: #333;
}

.post-section p {
  font-size: 18px;
  line-height: 1.8;
  color: #666;
}

.shared-image-ctn img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shared-image-ctn .shared-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#editor_list .shared-image-ctn {
  border-radius: 10px;
}

.shared-user-loader {
  width: 100%;
}

.shared-user-loader .shared-skeleton {
  width: 40%;
  height: 20px;
  border-radius: 6px;
}

.shared-hidden {
  display: none !important;
}

#element-history-div {
  height: 100%;
  width: 100%;
}

.shared-error-message {
  color: #ff0000;
  font-size: 0.8rem;
  margin-top: 0.5rem;
}

.IFRAME_CONTAINER {
  height: 100%;
}

.shared-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.shared-overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Cookies */
.cookie-popup {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #f8f9fa;
  padding: 10px 20px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  z-index: 9999;
  justify-content: space-between;
}

.cookie-popup .cookie-text {
  text-align: start;
  font-size: 14px;
  color: #444;
  opacity: 0.8;
  width: 80%;
}

.cookie-text h5 {
  text-align: start;
  font-size: 16px;
  color: var(--template-color-1);
  font-weight: bold;
  opacity: 0.8;
  padding: 0;
}

.cookie-text p {
  text-align: start;
}

.cookie-popup p {
  margin: 4px;
}

.cookie-btns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.cookie-btns .cookie-btn {
  background-color: var(--template-color-0);
  color: #ffffff;
  border: none;
  padding: 5px 10px;
  height: fit-content;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  box-sizing: border-box;
  border-radius: var(--button-radius);
}

.cookie-btns .cookie-btn:hover {
  background-color: #fff;
  color: var(--template-color-0);
  border: 1px solid var(--template-color-0);
}

/* Dropdown */
.shared-dropdown {
  position: relative;
  display: inline-block;
  background-color: transparent;
  z-index: 50;
}

.shared-dropdown-button {
  padding: 10px 28px;
  font-size: 16px;
  border: none;
  cursor: pointer;
  background-color: transparent;
}

.shared-dropdown-button:hover {
  background-color: #f1f1f17a;
}

.shared-dropdown-content {
  display: none;
  position: absolute;
  background-color: color-mix(in srgb, var(--template-color-0) 90%, #fff 20%);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  z-index: 1;
  border-radius: var(--radius-sm);
  left: 50%;
  transform: translateX(-50%);
}

.shared-dropdown-content a {
  padding: 8px 4px !important;
  text-decoration: none;
  display: block;
  font-size: 16px;
  width: 100%;
  text-align: start;
  color: white;
  text-wrap: nowrap;
}

.shared-dropdown-content a:hover {
  background-color: color-mix(in srgb, var(--template-color-0) 90%, #fff 40%);
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.shared-dropdown:hover .dropdown-content {
  display: block;
}

.shared-language-placeholder {
  display: none;
}

.shared-widget {
  position: fixed;

  right: 0;
  top: 50%;

  transform: translateY(-50%);

  z-index: 1000;

  background-color: white;
  padding: 8px;

  border-radius: 8px 0 0 8px;

  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);

  gap: 8px;
  display: flex;
  flex-direction: column;

  color: black;

  border: 1px solid rgb(0, 0, 0, 10%);
  border-right: 0;
}

.one_by_one {
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  justify-content: center;
  align-items: center;
}

.one_by_two {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.two_by_one {
  display: grid;
  grid-template-rows: repeat(1, 1fr);
  gap: 10px;
}

.two_by_two {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.one_by_three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.two_by_three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.segmented-section article {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 200px;
  position: relative;
  justify-content: center;
  align-items: center;
}

section:has(.segmented-section) {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.segmented-section {
  max-width: var(--section-width, 100%);
}

.segmented-section.full-wide {
  padding: 0;
  max-width: none !important;
}

.empty-article-container.ig-grid-container {
  border: 2px dashed #ccc;
}

.empty-article-container.ig-grid-container::after {
  content: "click here to add content";
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  grid-area: 1 / 1 / 8 / 51;
  color: rgb(160, 160, 160);
}

.empty-article-container {
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 200px;
}

.empty-article-container.ig-grid-inner {
  position: relative;
}

.empty-article-container.ig-grid-inner::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%2364748b' d='M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  z-index: 10;
  animation: emptyContainerBreathe 2s infinite ease-in-out;
}

.empty-article-container.ig-grid-inner::after:hover {
  animation: none;
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.25);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%230f172a' d='M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z'/%3E%3C/svg%3E");
}

@keyframes emptyContainerBreathe {
  0%,
  100% {
    opacity: 0.35;
    transform: translate(-50%, -50%) scale(0.9);
  }
  50% {
    opacity: 0.85;
    transform: translate(-50%, -50%) scale(1.15);
  }
}

/* viewport-exception: Reduce segmented section gutters on narrower desktop layouts. */
@media (max-width: 1440px) {
  .segmented-section {
    padding: 20px 1rem;
  }
}

/* viewport: mobile */
@media (width < 769px) {
  .one_by_two {
    grid-template-columns: repeat(1, 1fr);
  }

  .segmented-section {
    padding: 20px 1rem;
    width: 100%;
  }

  .one_by_two {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 5rem;
  }

  .two_by_two {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 5rem;
  }

  .two_by_one {
    display: grid;
    grid-template-rows: repeat(1, 1fr);
    gap: 5rem;
  }

  .one_by_three {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 5rem;
  }

  .two_by_three {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 5rem;
  }
}

.radius-button {
  border-radius: var(--button-radius);
}

.radius-sm {
  border-radius: var(--radius-sm);
}

.radius-md {
  border-radius: var(--radius-md);
}

.radius-lg {
  border-radius: var(--radius-lg);
}

.radius-xl {
  border-radius: var(--radius-xl);
}

.radius-2xl {
  border-radius: var(--radius-2xl);
}

.radius-full {
  border-radius: var(--radius-full);
}

.radius-input {
  border-radius: var(--radius-input);
}

.radius-tl-sm {
  border-top-left-radius: var(--radius-sm);
}

.radius-tr-sm {
  border-top-right-radius: var(--radius-sm);
}

.radius-bl-sm {
  border-bottom-left-radius: var(--radius-sm);
}

.radius-br-sm {
  border-bottom-right-radius: var(--radius-sm);
}

.radius-tl-md {
  border-top-left-radius: var(--radius-md);
}

.radius-tr-md {
  border-top-right-radius: var(--radius-md);
}

.radius-bl-md {
  border-bottom-left-radius: var(--radius-md);
}

.radius-br-md {
  border-bottom-right-radius: var(--radius-md);
}

.radius-tl-lg {
  border-top-left-radius: var(--radius-lg);
}

.radius-tr-lg {
  border-top-right-radius: var(--radius-lg);
}

.radius-bl-lg {
  border-bottom-left-radius: var(--radius-lg);
}

.radius-br-lg {
  border-bottom-right-radius: var(--radius-lg);
}

.radius-tl-xl {
  border-top-left-radius: var(--radius-xl);
}

.radius-tr-xl {
  border-top-right-radius: var(--radius-xl);
}

.radius-bl-xl {
  border-bottom-left-radius: var(--radius-xl);
}

.radius-br-xl {
  border-bottom-right-radius: var(--radius-xl);
}

.radius-tl-2xl {
  border-top-left-radius: var(--radius-2xl);
}

.radius-tr-2xl {
  border-top-right-radius: var(--radius-2xl);
}

.radius-bl-2xl {
  border-bottom-left-radius: var(--radius-2xl);
}

.radius-br-2xl {
  border-bottom-right-radius: var(--radius-2xl);
}

.radius-tl-full {
  border-top-left-radius: var(--radius-full);
}

.radius-tr-full {
  border-top-right-radius: var(--radius-full);
}

.radius-bl-full {
  border-bottom-left-radius: var(--radius-full);
}

.radius-br-full {
  border-bottom-right-radius: var(--radius-full);
}

.hero-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: black;
  opacity: 0.5;
}
/* Shared collection contract: readable subtitle measure across all themes. */
.ig-section-subtitle {
  max-width: min(var(--section-header-max-width, 68ch), 75ch);
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
/* Shared navigation geometry; themes own colors, spacing and composition. */
:root {
  --navigation-menu-toggle-size: 48px;
  --navigation-menu-toggle-icon-size: 32px;
  --navigation-dropdown-offset: var(--spacing-sm, 0.5rem);
}

.ig-site-navigation-menu a,
.ig-site-navigation a {
  display: inline-flex;
  min-block-size: var(--navigation-control-height, var(--section-control-height, 48px));
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
}

/* Keep navigation controls and brand media inside the header frame across themes. */
.ig-site-header {
  position: relative;
  min-block-size: calc(var(--navigation-control-height, 48px) + 2 * var(--spacing-xs, 0.5rem) + 2px) !important;
}

.ig-site-header :is(.ig-site-brand, > .ig-site-brand) {
  display: inline-flex;
  align-items: center;
  min-inline-size: 0;
  max-block-size: calc(var(--site-header-height, 5rem) - 2 * var(--spacing-sm, 0.75rem));
}

.ig-site-header :is(.ig-site-brand, > .ig-site-brand) img {
  display: block;
  max-block-size: calc(var(--site-header-height, 5rem) - 2 * var(--spacing-sm, 0.75rem)) !important;
  max-inline-size: 100%;
  object-fit: contain;
  object-position: left center;
}

/* viewport: belowDesktop */
@media (width < 1025px) {
  .ig-site-header {
    gap: min(var(--spacing-md, 1rem), 3vw) !important;
  }
  .ig-site-header > .ig-site-brand {
    flex-shrink: 1;
    min-inline-size: 0;
  }
  .ig-site-header > .ig-site-brand img {
    max-inline-size: 100%;
  }
  .ig-site-header > .ig-site-menu {
    flex-shrink: 0;
  }
}

.ig-site-navigation > .ig-site-navigation-action {
  right: var(--spacing-xs, 0.5rem) !important;
  padding-inline: var(--spacing-sm, 0.75rem) !important;
  font-size: inherit !important;
}

/* viewport: mobile */
@media (width < 769px) {
  .ig-site-header .ig-site-menu {
    position: static !important;
  }

  .ig-site-header .ig-site-navigation {
    position: absolute !important;
    inset: calc(100% + var(--navigation-dropdown-offset)) auto auto 50% !important;
    translate: -50% 0 !important;
    transform: none !important;
    z-index: 50 !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    inline-size: min(21rem, calc(100vw - 2 * var(--spacing-sm, 0.75rem))) !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    max-block-size: calc(100svh - var(--site-header-height, 5rem) - 2 * var(--spacing-md, 1rem)) !important;
    overflow-y: auto !important;
    box-sizing: border-box;
    gap: var(--spacing-xs, 0.5rem) !important;
    padding: var(--spacing-sm, 0.75rem) !important;
    margin: 0 !important;
  }

  .ig-site-header .ig-site-menu[open] .ig-site-navigation,
  .ig-site-header .ig-site-navigation:has(.ig-site-navigation-menu.menu-expanded) {
    display: flex !important;
  }

  .ig-site-header .ig-site-menu-toggle {
    display: grid !important;
    place-items: center;
  }

  .ig-site-header .ig-site-navigation-action {
    align-self: center !important;
    margin-inline: auto !important;
  }
}

.ig-site-menu-toggle {
  display: none;
  inline-size: var(--navigation-menu-toggle-size) !important;
  block-size: var(--navigation-menu-toggle-size) !important;
  min-inline-size: var(--navigation-menu-toggle-size) !important;
  min-block-size: var(--navigation-menu-toggle-size) !important;
  place-items: center;
  box-sizing: border-box;
  padding: 0 !important;
}

.ig-site-menu-toggle i {
  display: grid;
  place-items: center;
  line-height: 0;
}

.ig-site-menu-toggle :is(i, svg) {
  inline-size: var(--navigation-menu-toggle-icon-size) !important;
  block-size: var(--navigation-menu-toggle-icon-size) !important;
}

.ig-site-menu-toggle svg {
  display: block;
}

/* Shared shell-link interaction. Theme-specific footer controls may override it. */
footer a {
  transition: color var(--motion-fast, 140ms) ease;
}

footer a:is(:hover, :focus-visible) {
  color: var(--footer-link-hover-color, var(--template-color-0));
}
