/*!
Theme Name: dry-mantra-theme
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: dry-mantra-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

dry-mantra-theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;

  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;

  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/* 404 Page Styles - Dry Mantra Theme */
.dm-error-wrapper {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  min-height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
}

.dm-error-container {
  max-width: 680px;
  width: 100%;
  text-align: center;
  position: relative;
}

/* Animated Visual Floating Icons */
.dm-icon-wrapper {
  position: relative;
  display: inline-block;
  margin-bottom: 15px;
}

.dm-main-number {
  font-family: var(--font-heading);
  font-size: var(--font-size-h1);
  font-weight: 800;
  color: var(--color-navy);
  line-height: 1;
  letter-spacing: -1px;
}

.dm-floating-nut {
  position: absolute;
  font-size: var(--font-size-24);
  animation: float 4s ease-in-out infinite;
}

.nut-1 {
  top: -10px;
  left: -30px;
  animation-delay: 0s;
}
.nut-2 {
  bottom: 0px;
  right: -30px;
  animation-delay: 1.5s;
}
.nut-3 {
  top: 35%;
  left: -45px;
  animation-delay: 2.5s;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-12px) rotate(8deg);
  }
}

.dm-headline {
  font-family: var(--font-heading);
  font-size: var(--font-size-h3);
  font-weight: 700;
  color: var(--color-heading);
  margin-bottom: 15px;
}

.dm-headline span {
  color: var(--color-primary);
}

.dm-description {
  font-size: var(--font-size-body-lg);
  color: var(--color-text);
  margin-bottom: 35px;
  line-height: 1.6;
}

/* Action Buttons */
.dm-cta-group {
  display: flex;
  gap: 15px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.dm-btn {
  padding: 14px 32px;
  border-radius: var(--radius-full);
  text-decoration: none;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: var(--font-size-body-md);
  transition: all 0.3s ease;
  display: inline-block;
}

.dm-btn-primary {
  background-color: var(--color-primary);
  color: var(--color-white) !important;
  box-shadow: var(--shadow-btn);
}

.dm-btn-primary:hover {
  background-color: var(--color-primary-dark);
  transform: translateY(-2px);
}

.dm-btn-secondary {
  background-color: transparent;
  color: var(--color-navy) !important;
  border: 2px solid var(--color-navy);
}

.dm-btn-secondary:hover {
  background-color: var(--color-navy);
  color: var(--color-white) !important;
  transform: translateY(-2px);
}

/* Category Links Styling */
.dm-quick-links {
  border-top: 1px solid var(--color-border);
  padding-top: 30px;
}

.dm-quick-links p {
  font-family: var(--font-heading);
  font-size: var(--font-size-body-sm);
  color: var(--color-gray);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 15px;
  font-weight: 600;
}

.dm-pills {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.dm-pill-link {
  background: var(--color-white);
  padding: 10px 22px;
  border-radius: var(--radius-full);
  font-size: var(--font-size-body);
  color: var(--color-navy) !important;
  text-decoration: none;
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-card);
  transition: all 0.2s ease;
}

.dm-pill-link:hover {
  border-color: var(--color-primary);
  color: var(--color-primary) !important;
  transform: translateY(-1px);
}

/* Mobile Responsive */
@media (max-width: 600px) {
  .dm-main-number {
    font-size: calc(100vw / var(--context));
  }
  .dm-headline {
    font-size: var(--font-size-h4);
  }
  .dm-btn {
    width: 100%;
    text-align: center;
  }
}
