/* Final visual system — inspired by the supplied tech landing reference. */

html:root {
  --accent: #5146ff;
  --accent-hover: #4035e8;
  --accent-light: #7168ff;
  --accent-subtle: rgba(81, 70, 255, .14);
  --accent-glow: rgba(81, 70, 255, .42);
  --bg-primary: #09090d;
  --bg-secondary: #101116;
  --bg-card: #191a21;
  --bg-card-hover: #22232d;
  --bg-light-alt: #f2f3f8;
  --max-width: 1220px;
}

body.pt-theme {
  background:
    radial-gradient(circle at 5% 7%, rgba(81,70,255,.28), transparent 28rem),
    radial-gradient(circle at 96% 92%, rgba(81,70,255,.18), transparent 32rem),
    #07070a !important;
}

body.pt-theme .site {
  width: min(100%, 1440px);
  min-height: 100vh;
  margin-inline: auto;
  overflow: clip;
  box-shadow: 0 0 90px rgba(81,70,255,.22);
}

body.pt-theme .pt-nav {
  left: 50%;
  width: min(100%, 1440px);
  transform: translateX(-50%);
  background: rgba(9,9,13,.9);
}

.admin-bar .pt-nav { top: 32px; }

.pt-eyebrow {
  color: var(--accent);
  font-weight: 800;
  letter-spacing: .15em;
}

.pt-btn {
  min-height: 48px;
  font-weight: 750;
}

.pt-btn--accent {
  position: relative;
  box-shadow: 0 12px 28px rgba(81,70,255,.28);
}

.pt-btn--accent::after {
  content: '+';
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-left: .25rem;
  border-radius: 5px;
  background: rgba(255,255,255,.16);
  line-height: 1;
}

/* Angular details used throughout the reference layout. */
.pt-tech-notch::before,
.pt-tech-notch::after {
  width: min(72%, 940px);
  height: 18px;
}

.pt-tech-notch::before {
  clip-path: polygon(0 0, 8% 0, 11% 100%, 89% 100%, 92% 0, 100% 0, 100% 100%, 0 100%);
}

.pt-tech-notch::after {
  clip-path: polygon(0 0, 11% 0, 8% 100%, 92% 100%, 89% 0, 100% 0, 100% 100%, 0 100%);
}

/* HOME */
.pt-home .pt-main--dronyx { overflow: clip; }

.pt-home .pt-hero--tech {
  min-height: 820px;
  background:
    radial-gradient(circle at 73% 48%, rgba(81,70,255,.48), transparent 9%),
    radial-gradient(circle at 73% 48%, rgba(81,70,255,.16), transparent 31%),
    linear-gradient(120deg, #09090d 58%, #12121a 100%);
}

.pt-home .pt-hero--tech::after {
  content: '';
  position: absolute;
  inset: 104px 3.2% 44px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 20px;
  pointer-events: none;
}

.pt-home .pt-hero__watermark {
  top: 46%;
  color: rgba(255,255,255,.045);
  font-size: clamp(10rem, 24vw, 25rem);
}

.pt-home .pt-hero__name {
  font-size: clamp(4rem, 8vw, 8rem);
  line-height: .9;
  max-width: 800px;
  text-shadow: 0 22px 45px rgba(0,0,0,.36);
}

.pt-home .pt-hero__headline { color: #f4f4fa; }
.pt-home .pt-hero__description { color: #9ea0b1; }

.pt-home .pt-hero__photo-box,
.pt-home .pt-hero__mockup-preview {
  border-radius: 18px;
  clip-path: polygon(0 0, 91% 0, 100% 9%, 100% 100%, 9% 100%, 0 91%);
}

.pt-home .pt-hero__glow-orb {
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(81,70,255,.6), transparent 68%);
}

.pt-home .pt-features-dronyx,
.pt-home .pt-products-dronyx {
  color: #101118;
  background: #fff;
}

.pt-home .pt-tech-feature-card,
.pt-home .pt-dronyx-product-card,
.pt-home .pt-orbital-card {
  border-radius: 16px;
  clip-path: polygon(0 0, 88% 0, 100% 11%, 100% 100%, 0 100%);
}

.pt-home .pt-tech-feature-card {
  min-height: 280px;
}

.pt-home .pt-tech-feature-card--blue,
.pt-home .pt-dronyx-product-card--blue {
  background: linear-gradient(145deg, var(--accent-light), var(--accent));
}

.pt-home .pt-tech-banner,
.pt-home .pt-support-dronyx {
  background:
    radial-gradient(circle at 82% 50%, rgba(255,255,255,.17), transparent 22rem),
    linear-gradient(135deg, #6258ff, #4438ed);
}

.pt-home .pt-tech-banner__box {
  border-radius: 14px;
  clip-path: polygon(0 0, 93% 0, 100% 18%, 100% 100%, 0 100%);
}

.pt-home .pt-featured-dronyx {
  background:
    radial-gradient(circle at 50% 53%, rgba(81,70,255,.24), transparent 27rem),
    #09090d;
}

.pt-home .pt-featured-dronyx__mockup {
  border-radius: 16px;
  clip-path: polygon(8% 0, 100% 0, 100% 90%, 91% 100%, 0 100%, 0 9%);
}

.pt-home .pt-featured-dronyx__price del,
.pt-home .pt-dronyx-product-card__price del {
  color: #8a8b98;
}

.pt-home .pt-support-dronyx__photo {
  filter: none;
}

.pt-home .pt-footer--dronyx {
  background:
    radial-gradient(circle at 75% 30%, rgba(81,70,255,.2), transparent 24rem),
    #09090d;
}

/* PRODUCT LANDING — full-width alternating bands, not narrow floating columns. */
.pt-landing-page .pt-landing-main { overflow: clip; }

.pt-landing-page .pt-lp-hero {
  min-height: 790px;
  padding: 9rem 0 6.5rem;
  background:
    radial-gradient(circle at 72% 48%, rgba(81,70,255,.5), transparent 9%),
    radial-gradient(circle at 72% 48%, rgba(81,70,255,.16), transparent 30%),
    #09090d;
}

.pt-landing-page .pt-lp-hero::before {
  content: '';
  position: absolute;
  inset: 90px 3.2% 38px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 20px;
  pointer-events: none;
}

.pt-landing-page .pt-lp-hero__inner {
  grid-template-columns: minmax(0,.95fr) minmax(390px,1.05fr);
  gap: clamp(3rem, 7vw, 7rem);
}

.pt-landing-page .pt-lp-hero__title {
  font-size: clamp(4rem, 8vw, 8.2rem);
  line-height: .88;
  letter-spacing: -.055em;
}

.pt-landing-page .pt-lp-hero__subtitle {
  max-width: 560px;
  color: #a5a6b6;
}

.pt-landing-page .pt-lp-hero__trust span {
  padding: .55rem .85rem;
  color: #d9d9e3;
  background: #17181f;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 7px;
}

.pt-landing-page .pt-lp-hero__purchase {
  border-color: rgba(255,255,255,.13);
}

.pt-landing-page .pt-lp-hero__mockup-wrap::before {
  content: '';
  position: absolute;
  inset: 12%;
  z-index: -1;
  border-radius: 50%;
  background: var(--accent);
  filter: blur(55px);
  opacity: .58;
}

.pt-landing-page .pt-lp-hero__mockup {
  max-height: 570px;
  object-fit: contain;
  border-radius: 18px;
  clip-path: polygon(0 0, 90% 0, 100% 10%, 100% 100%, 10% 100%, 0 90%);
  box-shadow: 0 32px 75px rgba(0,0,0,.58);
}

.pt-landing-page .pt-lp-divider { display: none; }

.pt-landing-page .pt-lp-section {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: #fff;
  color: #101118;
}

.pt-landing-page .pt-lp-section h2,
.pt-landing-page .pt-lp-section h3,
.pt-landing-page .pt-lp-section h4 { color: #101118; }

.pt-landing-page .pt-lp-section p,
.pt-landing-page .pt-lp-section blockquote { color: #666878; }

.pt-landing-page .pt-lp-section--alt {
  background:
    radial-gradient(circle at 88% 20%, rgba(81,70,255,.15), transparent 25rem),
    #101116;
  color: #fff;
}

.pt-landing-page .pt-lp-section--alt h2,
.pt-landing-page .pt-lp-section--alt h3,
.pt-landing-page .pt-lp-section--alt h4 { color: #fff; }

.pt-landing-page .pt-lp-section--alt p,
.pt-landing-page .pt-lp-section--alt blockquote { color: #a5a6b5; }

.pt-landing-page .pt-lp-section:not(.pt-lp-hero)::before {
  content: '';
  position: absolute;
  z-index: 2;
  top: -1px;
  left: 50%;
  width: min(72%, 940px);
  height: 18px;
  transform: translateX(-50%);
  background: inherit;
  clip-path: polygon(0 0, 8% 0, 11% 100%, 89% 100%, 92% 0, 100% 0, 100% 100%, 0 100%);
}

.pt-landing-page .pt-lp-problem {
  max-width: 1040px;
  margin-inline: auto;
}

.pt-landing-page .pt-lp-problem__title,
.pt-landing-page .pt-lp-solution__title,
.pt-landing-page .pt-lp-includes__title,
.pt-landing-page .pt-lp-preview__title,
.pt-landing-page .pt-lp-content-list__title,
.pt-landing-page .pt-lp-for-whom__title,
.pt-landing-page .pt-lp-benefits__title,
.pt-landing-page .pt-lp-testimonials__title,
.pt-landing-page .pt-lp-faq__title {
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: 1;
}

.pt-landing-page .pt-lp-problem__text {
  padding: clamp(2rem, 5vw, 4rem);
  color: #4d4f5d;
  background: #f2f3f8;
  border: 0;
  border-left: 7px solid var(--accent);
  border-radius: 15px;
  clip-path: polygon(0 0, 94% 0, 100% 18%, 100% 100%, 0 100%);
}

.pt-landing-page .pt-lp-solution {
  max-width: 1080px;
  padding: clamp(2rem, 5vw, 4.5rem);
  background: #191a21;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  clip-path: polygon(0 0, 92% 0, 100% 14%, 100% 100%, 8% 100%, 0 86%);
}

.pt-landing-page .pt-lp-solution__icon {
  filter: drop-shadow(0 0 22px rgba(81,70,255,.55));
}

.pt-landing-page .pt-lp-includes__grid,
.pt-landing-page .pt-lp-benefits__grid,
.pt-landing-page .pt-lp-for-whom__grid,
.pt-landing-page .pt-lp-testimonials__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.pt-landing-page .pt-lp-includes__card,
.pt-landing-page .pt-lp-benefits__item,
.pt-landing-page .pt-lp-for-whom__item,
.pt-landing-page .pt-lp-testimonials__card {
  min-height: 190px;
  padding: 1.75rem;
  color: #fff;
  background: #191a21;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 15px;
  clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 0 100%);
}

.pt-landing-page .pt-lp-includes__card:nth-child(3n + 2),
.pt-landing-page .pt-lp-benefits__item:nth-child(3n + 2) {
  background: linear-gradient(145deg, var(--accent-light), var(--accent));
}

.pt-landing-page .pt-lp-includes__card p,
.pt-landing-page .pt-lp-benefits__item p,
.pt-landing-page .pt-lp-for-whom__item p,
.pt-landing-page .pt-lp-testimonials__card p { color: rgba(255,255,255,.72); }

.pt-landing-page .pt-lp-includes__card h3,
.pt-landing-page .pt-lp-benefits__item h3 { color: #fff; }

.pt-landing-page .pt-lp-preview__grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.25rem;
}

.pt-landing-page .pt-lp-preview__item {
  border-radius: 15px;
  clip-path: polygon(0 0, 90% 0, 100% 10%, 100% 100%, 0 100%);
}

.pt-landing-page .pt-lp-content-list__items {
  max-width: 1040px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1rem;
}

.pt-landing-page .pt-lp-content-list__item {
  padding: 1.4rem;
  border: 1px solid #dfe0e8;
  border-radius: 12px;
  background: #f7f7fa;
  color: #171820 !important;
}

body.pt-landing-page .pt-lp-content-list__item .pt-lp-content-list__title-text {
  color: #171820 !important;
  -webkit-text-fill-color: #171820 !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-weight: 700;
}

body.pt-landing-page .pt-lp-content-list__item .pt-lp-content-list__num {
  color: var(--accent) !important;
  -webkit-text-fill-color: var(--accent) !important;
  opacity: 1;
}

.pt-landing-page .pt-lp-content-list__item:hover {
  border-color: rgba(81,70,255,.45);
  background: #efeff7;
}

.pt-landing-page .pt-lp-testimonials__card {
  display: flex;
  flex-direction: column;
}

.pt-landing-page .pt-lp-testimonials__stars { color: var(--accent-light); }

.pt-landing-page section:has(.pt-lp-guarantee__inner) {
  background:
    radial-gradient(circle at 80% 50%, rgba(255,255,255,.15), transparent 24rem),
    linear-gradient(135deg, #6258ff, #4337ec);
}

.pt-landing-page section:has(.pt-lp-guarantee__inner) h2,
.pt-landing-page section:has(.pt-lp-guarantee__inner) p { color: #fff; }

.pt-landing-page .pt-lp-guarantee__inner {
  max-width: 980px;
  margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 5rem);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 16px;
  background: rgba(12,11,44,.16);
  clip-path: polygon(0 0, 92% 0, 100% 17%, 100% 100%, 8% 100%, 0 83%);
}

.pt-landing-page .pt-lp-faq__items {
  max-width: 980px !important;
  padding: 1rem 2rem;
  background: #f3f4f8;
  border-radius: 14px;
}

.pt-landing-page .pt-faq-item { border-color: #d9dae3; }
.pt-landing-page .pt-faq-item__question { color: #111219; }
.pt-landing-page .pt-faq-item__answer-inner { color: #626473; }

.pt-landing-page .pt-lp-cta-final {
  background:
    radial-gradient(circle at 40% 45%, rgba(81,70,255,.25), transparent 24rem),
    #09090d;
}

.pt-landing-page .pt-lp-cta-final__inner {
  max-width: 1120px;
  padding: clamp(2.5rem, 6vw, 5rem);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 18px;
  background: rgba(25,26,33,.86);
  clip-path: polygon(0 0, 92% 0, 100% 15%, 100% 100%, 8% 100%, 0 85%);
}

.pt-landing-page .pt-lp-cta-final__mockup {
  max-height: 360px;
  object-fit: contain;
}

.pt-landing-page .pt-lp-cta-final__title { color: #fff; }

/* Woo pages keep the palette while preserving readable forms. */
.woocommerce-cart .site,
.woocommerce-checkout .site { background: #f6f7fb !important; }

.woocommerce-cart .pt-footer,
.woocommerce-checkout .pt-footer { background: #09090d; }

@media (max-width: 992px) {
  .pt-landing-page .pt-lp-hero__inner { grid-template-columns: 1fr; }
  .pt-landing-page .pt-lp-hero__media { order: -1; }
  .pt-landing-page .pt-lp-hero__mockup { max-height: 430px; }
  .pt-landing-page .pt-lp-includes__grid,
  .pt-landing-page .pt-lp-benefits__grid,
  .pt-landing-page .pt-lp-for-whom__grid,
  .pt-landing-page .pt-lp-testimonials__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 782px) {
  /* On phones WordPress makes the admin bar scroll with the document. Keeping
     a fixed 46px offset leaves the navigation floating below the viewport top
     after the toolbar disappears. The toolbar's higher z-index still keeps it
     accessible while the page is at scroll position zero. */
  body.admin-bar .pt-nav,
  body.pt-theme .pt-nav { top: 0 !important; }
}

@media (max-width: 768px) {
  .pt-home .pt-hero--tech,
  .pt-landing-page .pt-lp-hero { min-height: auto; padding-top: 8rem; }
  .pt-home .pt-hero--tech::after,
  .pt-landing-page .pt-lp-hero::before { inset-inline: 1rem; }
  .pt-home .pt-hero__name,
  .pt-landing-page .pt-lp-hero__title { font-size: clamp(3.25rem, 16vw, 5rem); }
  .pt-home .pt-features-dronyx__grid { grid-template-columns: 1fr; }
  .pt-home .pt-tech-feature-card { min-height: 230px; }
  .pt-landing-page .pt-lp-includes__grid,
  .pt-landing-page .pt-lp-benefits__grid,
  .pt-landing-page .pt-lp-for-whom__grid,
  .pt-landing-page .pt-lp-testimonials__grid,
  .pt-landing-page .pt-lp-content-list__items { grid-template-columns: 1fr; }
  .pt-landing-page .pt-lp-solution { grid-template-columns: 1fr; }
  .pt-landing-page .pt-lp-faq__items { padding-inline: 1rem; }
}

@media (max-width: 520px) {
  .pt-container { padding-inline: 1.1rem; }
  .pt-landing-page .pt-lp-section { padding-block: 4.5rem; }
  .pt-landing-page .pt-lp-hero__trust { gap: .5rem; }
  .pt-landing-page .pt-lp-hero__trust span { width: 100%; }
  .pt-landing-page .pt-lp-guarantee__inner,
  .pt-landing-page .pt-lp-cta-final__inner { clip-path: none; }
}

/* Institutional footer — shared across the site. */
.pt-footer--dronyx .pt-footer__brand-text {
  font-size: clamp(3.2rem, 8.5vw, 8.5rem);
  letter-spacing: -.055em;
  word-spacing: .18em;
  white-space: nowrap;
}

.pt-footer--dronyx .pt-footer__institutional {
  display: grid;
  grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(140px, .75fr));
  gap: clamp(2rem, 5vw, 4.5rem);
  margin-bottom: 3.5rem;
}

.pt-footer--dronyx .pt-footer__logo {
  display: inline-block;
  margin-bottom: .85rem;
  color: #fff;
  font: 800 1.2rem/1.2 var(--font-display);
}

.pt-footer--dronyx .pt-footer__bio {
  max-width: 330px;
  margin: 0;
  color: #8f91a1;
  font-size: .9rem;
}

.pt-footer--dronyx .pt-footer__column {
  min-width: 0;
}

.pt-footer--dronyx .pt-footer__nav {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.pt-footer--dronyx .pt-footer__nav a {
  color: #9698a8;
  font-size: .9rem;
}

.pt-footer--dronyx .pt-footer__nav a:hover { color: #fff; }

.pt-footer--dronyx .pt-footer__social {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .6rem;
}

.pt-footer--dronyx .pt-footer__social-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #9698a8;
  font-size: .9rem;
}

.pt-footer--dronyx .pt-footer__social-link:hover { color: #fff; }
.pt-footer--dronyx .pt-footer__social-link svg { width: 18px; height: 18px; }

.pt-footer--dronyx .pt-footer__bottom {
  flex-direction: row;
  justify-content: space-between;
  text-align: left;
}

.pt-footer--dronyx .pt-footer__copy { margin: 0; color: #727483; }

@media (max-width: 900px) {
  .pt-footer--dronyx .pt-footer__institutional {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .pt-footer--dronyx .pt-footer__brand-text {
    font-size: clamp(2.35rem, 12vw, 4rem);
    white-space: normal;
  }
  .pt-footer--dronyx .pt-footer__institutional { grid-template-columns: 1fr; }
  .pt-footer--dronyx .pt-footer__bottom { flex-direction: column; text-align: center; }
}
