/* Compact site-page layout overrides. */
.skvnc-shraaddha {
  margin-top: var(--skvnc-shraaddha-top-offset, -76px);
  margin-bottom: 0;
  padding-top: 0 !important;
  border-top: 0 !important;
}

.skvnc-shraaddha::before {
  display: none !important;
  content: none !important;
}

/* Visual Composer has wrapped this shortcode in a literal <code> element on
   the live SKVNC page. Its inline gray background creates the small marks at
   the beginning/end and forces monospace text throughout the app. */
.skvnc-shraaddha > code {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font: inherit !important;
  white-space: normal !important;
  box-shadow: none !important;
}

.skvnc-empty-layout-block,
.skvnc-empty-layout-block::before,
.skvnc-empty-layout-block::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Page builders often draw empty paragraph markers on the wrapper rather than
   on the shortcode itself. Keep the wrapper's real border/background, but
   suppress those generated marks. */
.skvnc-layout-host::before,
.skvnc-layout-host::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Tighten a user-supplied bordered frame around the shortcode. */
.skvnc-app-frame {
  height: auto !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 14px !important;
  box-sizing: border-box !important;
}

/* Collapse theme/page-builder whitespace on a page dedicated to this app. */
:where(.entry-content, .wp-block-post-content):has(.skvnc-shraaddha) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

:where(.entry-content, .wp-block-post-content):has(.skvnc-shraaddha) > :is(.wp-block-spacer, .wp-block-separator, p:empty, .wp-block-paragraph:empty),
:where(.entry-content, .wp-block-post-content):has(.skvnc-shraaddha) > p:has(> br:only-child) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

:where(.entry-content, .wp-block-post-content):has(.skvnc-shraaddha) .wp-block-spacer {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

:where(main, .site-main, .entry-content, .wp-block-post-content):has(.skvnc-shraaddha) :is(.wp-block-spacer, .wp-block-separator, hr):not(.skvnc-shraaddha *) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

:where(main, .site-main, .entry-content, .wp-block-post-content):has(.skvnc-shraaddha) br:not(.skvnc-shraaddha *) {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.entry-content > hr:has(+ .skvnc-shraaddha),
.wp-block-post-content > hr:has(+ .skvnc-shraaddha),
.entry-content > .wp-block-separator:has(+ .skvnc-shraaddha),
.wp-block-post-content > .wp-block-separator:has(+ .skvnc-shraaddha) {
  display: none !important;
}

.entry-content > .wp-block-spacer:has(+ .skvnc-shraaddha),
.wp-block-post-content > .wp-block-spacer:has(+ .skvnc-shraaddha),
.entry-content > .skvnc-shraaddha + .wp-block-spacer,
.wp-block-post-content > .skvnc-shraaddha + .wp-block-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

.skvnc-shraaddha-calculator {
  border-top: 0 !important;
}

.skvnc-shraaddha-banner {
  min-height: 66px;
  padding: 10px 18px;
  background: #fffaf1;
}

.skvnc-shraaddha-mark {
  width: 42px;
  height: 42px;
  box-shadow: inset 0 0 0 3px #fffaf1;
  font-size: 19px;
}

.skvnc-shraaddha-banner h2 {
  font-size: 20px !important;
}

.skvnc-shraaddha-banner p {
  margin-top: 3px !important;
}

.skvnc-rules-panel {
  padding: 16px 20px;
  background: #fffdf9;
  font-size: 14px;
}

.skvnc-shraaddha-heading {
  padding: 22px 0 13px;
}

.skvnc-shraaddha-heading > span {
  width: 36px;
  height: 36px;
}

.skvnc-shraaddha-heading h3 {
  font-size: 27px !important;
}

.skvnc-basis-tabs button,
.skvnc-basis-tabs button:last-child {
  min-height: 58px;
  padding: 10px 18px;
  background: #fffdf9 !important;
}

.skvnc-basis-tabs button:not(.is-active) {
  color: #6f6455 !important;
  background: #fbf7ef !important;
}

.skvnc-shraaddha-fields {
  padding: 22px 28px;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.skvnc-shraaddha select,
.skvnc-shraaddha input[type="text"],
.skvnc-shraaddha input[type="email"] {
  height: 44px;
}

.skvnc-shraaddha-form-footer {
  min-height: 62px;
  padding: 10px 28px;
  background: #fffdf9;
  justify-content: flex-end;
}

/* Hide legacy location markup that may remain in a cached page response. */
.skvnc-shraaddha-form-footer > div,
.skvnc-shraaddha-form-footer > .skvnc-location-chip {
  display: none !important;
}

.skvnc-shraaddha-form-footer > button {
  margin-left: auto !important;
}

.skvnc-shraaddha-form-footer button,
.skvnc-reminder-form > button,
.skvnc-show-reminder {
  min-height: 44px;
}

.skvnc-shraaddha-disclaimer {
  margin-top: 14px !important;
  padding: 10px 14px;
  background: #fffdf9;
  border-top: 1px solid var(--skvnc-line);
  border-right: 1px solid var(--skvnc-line);
  border-bottom: 1px solid var(--skvnc-line);
}

.skvnc-shraaddha-loading,
.skvnc-shraaddha-result {
  margin-top: 14px;
}

.skvnc-option-label {
  margin: 0 !important;
  padding: 9px 28px;
  border-bottom: 1px solid var(--skvnc-line);
  background: #fffaf1;
  color: var(--skvnc-shraaddha-accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.skvnc-option-label.is-kala {
  padding: 12px 28px;
  background: #ffd96a;
  border-bottom-color: #d59a20;
  border-left: 5px solid var(--skvnc-shraaddha-accent);
  color: #6b2b0c;
  box-shadow: inset 0 -1px rgba(107, 43, 12, .16);
  font-size: 11px;
}

.skvnc-kala-help-open {
  padding: 5px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid currentColor !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #6b2b0c !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  cursor: pointer;
}

.skvnc-kala-help {
  padding: 14px 28px;
  border-bottom: 1px solid #d9b45c;
  background: #fff5cf;
  color: #5e4930;
  font: 13px/1.55 Georgia, serif;
}

.skvnc-kala-help p {
	margin: 0 !important;
}

.skvnc-method-banners .skvnc-option-label.is-kala + .skvnc-option-label.is-kala {
  border-top: 1px solid #e2b546;
}

.skvnc-annual-reminder {
  margin-top: 14px;
  border: 1px solid var(--skvnc-line);
  background: #fffaf1;
  box-shadow: 0 12px 34px rgba(83,55,27,.08);
}

.skvnc-reminder-choice p {
  margin: 5px 0 0 !important;
  color: var(--skvnc-muted);
  font-size: 11px;
  line-height: 1.45;
}

.skvnc-sunrise-line {
  margin: 8px 0 0 !important;
  color: var(--skvnc-muted);
  font-size: 12px;
}

.skvnc-tithi-details {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 8px 18px !important;
  margin-top: 10px !important;
  padding: 11px 13px;
  background: #fffaf1;
  border: 1px solid var(--skvnc-line);
}

.skvnc-tithi-details p,
.skvnc-method-notes {
  margin: 0 !important;
  color: var(--skvnc-muted);
  font-size: 12px;
  line-height: 1.5;
}

.skvnc-method-notes {
  margin-top: 10px !important;
  padding-left: 18px;
}

.skvnc-boundary-note,
.skvnc-event-advisory,
.skvnc-eclipse-advisory,
.skvnc-sankramana-advisory,
.skvnc-duplicate-observance {
  margin: 10px 0 0 !important;
  padding: 10px 12px;
  background: #fffdf9;
  border-left: 2px solid #d2a24e;
  color: var(--skvnc-muted);
  font-size: 11px;
  line-height: 1.5;
}

.skvnc-event-advisory {
  background: #faf1df;
  color: #665441;
}

.skvnc-eclipse-advisory {
  background: #f8eee8;
  border-left-color: var(--skvnc-shraaddha-accent);
  color: #684536;
}

.skvnc-sankramana-advisory {
  background: #eef7ee;
  border-left-color: #5d8b59;
  color: #395a36;
}

.skvnc-duplicate-observance {
  background: #f5f0fb;
  border-left-color: #7652a0;
  color: #4e3768;
}

.skvnc-result-date {
  padding: 24px 28px;
}

.skvnc-result-date > div {
  margin-top: 12px;
}

.skvnc-reminder-choice {
  padding: 12px 22px;
  background: #fffaf1;
}

.skvnc-reminder-form {
  padding: 20px 26px;
}

.skvnc-reminder-form,
.skvnc-reminder-form label,
.skvnc-reminder-form legend,
.skvnc-reminder-form .skvnc-consent,
.skvnc-reminder-form .skvnc-consent span,
.skvnc-reminder-form fieldset label {
  color: #fffaf1 !important;
}

.skvnc-reminder-form .skvnc-reminder-fields label > span {
  color: #f4ead9 !important;
}

.skvnc-reminder-fields .skvnc-remembered-person {
  grid-column: 1 / -1;
}

.skvnc-reminder-form input[type="text"],
.skvnc-reminder-form input[type="email"] {
  background: #fffdf9 !important;
  border-color: #d7c7ae !important;
  color: #241b12 !important;
}

@media (max-width: 850px) {
  .skvnc-shraaddha {
    margin-left: 10px;
    margin-right: 10px;
  }
}

@media (max-width: 560px) {
	.skvnc-app-frame {
		padding-left: 6px !important;
		padding-right: 6px !important;
		padding-bottom: 10px !important;
	}

	.skvnc-shraaddha {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
		font-size: 15px;
	}

	.skvnc-shraaddha button,
	.skvnc-shraaddha input,
	.skvnc-shraaddha select,
	.skvnc-shraaddha textarea {
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
	}

	.skvnc-shraaddha-banner {
		padding: 12px !important;
		gap: 10px;
	}

	.skvnc-shraaddha-banner h2 {
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
		font-size: 19px !important;
	}

	.skvnc-rules-open {
		font-size: 14px !important;
	}

	.skvnc-option-label {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

  .skvnc-shraaddha-heading {
    padding: 18px 4px 12px;
		gap: 10px;
  }

	.skvnc-shraaddha-heading h3 {
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
		font-size: clamp(21px, 7vw, 27px) !important;
		line-height: 1.15 !important;
	}

	.skvnc-basis-tabs button,
	.skvnc-basis-tabs button:last-child {
		min-width: 0;
		padding: 10px 8px;
		grid-template-columns: 25px minmax(0, 1fr);
	}

	.skvnc-basis-tabs b {
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
		font-size: 14px;
		white-space: nowrap;
	}

  .skvnc-shraaddha-fields {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 14px !important;
    padding: 16px 12px;
  }

	.skvnc-shraaddha-fields label {
		min-width: 0;
	}

	.skvnc-shraaddha select,
	.skvnc-shraaddha input[type="text"],
	.skvnc-shraaddha input[type="email"] {
		height: 48px;
		min-width: 0;
		padding: 0 12px;
		font-size: 16px !important;
		letter-spacing: 0 !important;
	}

  .skvnc-shraaddha-form-footer {
		min-height: 0;
    padding: 12px;
  }

	.skvnc-shraaddha-form-footer button {
		font-size: 15px !important;
	}

	.skvnc-shraaddha-disclaimer {
		padding: 12px;
		font-size: 14px;
		line-height: 1.55;
	}

	.skvnc-rules-panel,
	.skvnc-kala-help,
	.skvnc-result-date h4 small,
	.skvnc-tithi-details p,
	.skvnc-reminder-choice p {
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
	}

  .skvnc-tithi-details {
    grid-template-columns: 1fr;
  }
}
