.mytheme-product-page {
   padding: 28px 0 72px;
   background:
      radial-gradient(circle at top right, rgba(230, 126, 34, 0.08), transparent 28%),
      linear-gradient(180deg, #f7f7f1 0%, #ffffff 22%, #ffffff 100%);
}

.mytheme-product-page .woocommerce-notices-wrapper {
   margin-bottom: 24px;
}

.mytheme-product-page__breadcrumbs {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   align-items: center;
   margin-bottom: 22px;
   color: var(--gray);
   font-size: 14px;
}

.mytheme-product-page__breadcrumbs a {
   color: var(--gray);
   text-decoration: none;
   transition: var(--transition);
}

.mytheme-product-page__breadcrumbs a:hover {
   color: var(--primary);
}

.mytheme-product-page__hero {
   display: grid;
   grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
   gap: 30px;
   align-items: start;
}

.mytheme-product-gallery,
.mytheme-product-summary,
.mytheme-product-tabs,
.mytheme-product-advantages {
   background: rgba(255, 255, 255, 0.96);
   border: 1px solid rgba(42, 109, 57, 0.08);
   border-radius: 24px;
   box-shadow: 0 18px 50px rgba(31, 81, 43, 0.08);
}

.mytheme-product-gallery {
   padding: 22px;
}

.mytheme-product-gallery__stage {
   position: relative;
   border-radius: 20px;
   overflow: hidden;
   background: linear-gradient(135deg, #eef3eb, #dce8df);
   aspect-ratio: 16 / 11;
   min-height: 420px;
}

.mytheme-product-gallery__image {
   width: 100%;
   height: 100% !important;
   object-fit: cover;
   display: block;
}

.mytheme-product-gallery__placeholder {
   width: 100%;
   height: 100%;
   display: grid;
   place-items: center;
   padding: 32px;
   text-align: center;
   color: var(--primary-dark);
   font-size: 18px;
   font-weight: 600;
}

.mytheme-product-gallery__sticker,
.mytheme-product-summary__eyebrow,
.mytheme-product-summary__category {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   border-radius: 999px;
   font-size: 13px;
   font-weight: 700;
   letter-spacing: 0.02em;
}

.mytheme-product-gallery__sticker {
   position: absolute;
   top: 18px;
   left: 18px;
   background: linear-gradient(135deg, #e67e22, #cf5f0f);
   color: #fff;
   padding: 10px 16px;
   box-shadow: 0 12px 22px rgba(230, 126, 34, 0.26);
}

.mytheme-product-gallery__counter {
   position: absolute;
   right: 18px;
   bottom: 18px;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 9px 14px;
   border-radius: 999px;
   background: rgba(19, 32, 18, 0.72);
   color: #fff;
   font-size: 13px;
   font-weight: 600;
   backdrop-filter: blur(10px);
}

.mytheme-product-gallery__thumbs {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
   gap: 12px;
   margin-top: 18px;
}

.mytheme-product-gallery__thumb {
   position: relative;
   border: 0;
   background: #eff3ee;
   border-radius: 14px;
   overflow: hidden;
   cursor: pointer;
   aspect-ratio: 1;
   padding: 0;
   box-shadow: inset 0 0 0 2px transparent;
   transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mytheme-product-gallery__thumb:hover,
.mytheme-product-gallery__thumb.is-active {
   transform: translateY(-2px);
   box-shadow: inset 0 0 0 2px var(--accent), 0 10px 16px rgba(42, 109, 57, 0.12);
}

.mytheme-product-gallery__thumb img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.mytheme-product-gallery__specs {
   margin-top: 22px;
   padding-top: 22px;
   border-top: 1px solid rgba(42, 109, 57, 0.1);
}

.mytheme-product-gallery__specs-title {
   font-size: 18px;
   margin-bottom: 14px;
   color: var(--primary-dark);
}

.mytheme-product-gallery__spec-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.mytheme-product-gallery__spec {
   display: flex;
   gap: 14px;
   align-items: flex-start;
   padding: 16px;
   border-radius: 18px;
   background: linear-gradient(135deg, #fbfcfa, #f2f6f1);
   border: 1px solid rgba(42, 109, 57, 0.08);
}

.mytheme-product-gallery__spec-icon {
   width: 44px;
   height: 44px;
   flex: 0 0 44px;
   display: grid;
   place-items: center;
   border-radius: 14px;
   background: var(--primary);
   color: #fff;
   font-size: 18px;
}

.mytheme-product-gallery__spec-label {
   display: block;
   margin-bottom: 4px;
   color: var(--gray);
   font-size: 13px;
}

.mytheme-product-gallery__spec-value {
   display: block;
   color: var(--primary-dark);
   font-size: 17px;
   font-weight: 700;
   line-height: 1.35;
}

.mytheme-product-summary {
   padding: 28px;
   position: sticky;
   top: calc(var(--header-offset, 100px) + 18px);
}

.mytheme-product-summary__meta {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-bottom: 16px;
}

.mytheme-product-summary__eyebrow {
   background: rgba(42, 109, 57, 0.12);
   color: var(--primary-dark);
   padding: 8px 14px;
}

.mytheme-product-summary__category {
   background: rgba(230, 126, 34, 0.12);
   color: #9d4d0d;
   padding: 8px 14px;
   text-decoration: none;
}

.mytheme-product-summary__category:hover {
   background: rgba(230, 126, 34, 0.18);
}

.mytheme-product-summary__title {
   margin: 0 0 12px;
   color: var(--primary-dark);
   font-size: clamp(32px, 4vw, 44px);
   line-height: 1.08;
}

.mytheme-product-summary__subtitle {
   color: #4d5f4f;
   font-size: 18px;
   line-height: 1.6;
   margin-bottom: 22px;
}

.mytheme-product-summary__selector-header {
   display: flex;
   justify-content: space-between;
   gap: 16px;
   align-items: center;
   margin-bottom: 14px;
}

.mytheme-product-summary__selector-title {
   font-size: 18px;
   font-weight: 700;
   color: var(--primary-dark);
}

.mytheme-product-summary__selector-link {
   color: var(--accent-hover);
   font-weight: 600;
   text-decoration: none;
}

.mytheme-product-summary__selector-link:hover {
   text-decoration: underline;
}

.mytheme-product-summary__selector {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-bottom: 22px;
}

.mytheme-product-summary__package {
   border: 1px solid rgba(42, 109, 57, 0.16);
   background: #fff;
   color: #4b5e4c;
   padding: 11px 18px;
   border-radius: 999px;
   cursor: pointer;
   font-size: 15px;
   font-weight: 700;
   transition: var(--transition);
}

.mytheme-product-summary__package:hover,
.mytheme-product-summary__package.is-active {
   background: var(--primary);
   color: #fff;
   border-color: var(--primary);
   box-shadow: 0 14px 24px rgba(42, 109, 57, 0.18);
}

.mytheme-product-summary__price {
   padding: 24px;
   border-radius: 22px;
   background:
      radial-gradient(circle at top right, rgba(230, 126, 34, 0.14), transparent 40%),
      linear-gradient(135deg, #f6f9f3, #eef4ed);
   border: 1px solid rgba(42, 109, 57, 0.1);
}

.mytheme-product-summary__price-label {
   color: var(--gray);
   font-size: 14px;
   margin-bottom: 8px;
}

.mytheme-product-summary__price-value {
   color: var(--primary-dark);
   font-size: clamp(38px, 4vw, 52px);
   line-height: 1;
   font-weight: 800;
   margin-bottom: 10px;
}

.mytheme-product-summary__current-package {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 14px;
   padding: 8px 14px;
   border-radius: 999px;
   background: rgba(42, 109, 57, 0.12);
   color: var(--primary-dark);
   font-size: 14px;
   font-weight: 700;
}

.mytheme-product-summary__price-note {
   color: #5b695a;
   font-size: 14px;
   line-height: 1.6;
}

.mytheme-product-summary__actions {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
   margin-top: 20px;
}

.mytheme-product-summary__actions .btn {
   width: 100%;
   padding: 15px 20px;
   display: inline-flex;
   justify-content: center;
   align-items: center;
   gap: 10px;
}

.mytheme-product-summary__facts {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
   margin-top: 22px;
}

.mytheme-product-summary__fact {
   display: flex;
   gap: 12px;
   align-items: center;
   padding: 14px 15px;
   background: #f8faf7;
   border: 1px solid rgba(42, 109, 57, 0.08);
   border-radius: 18px;
}

.mytheme-product-summary__fact-icon {
   width: 42px;
   height: 42px;
   flex: 0 0 42px;
   border-radius: 12px;
   background: rgba(42, 109, 57, 0.12);
   display: grid;
   place-items: center;
   color: var(--primary-dark);
}

.mytheme-product-summary__fact strong {
   display: block;
   color: var(--primary-dark);
   font-size: 15px;
   line-height: 1.35;
}

.mytheme-product-summary__fact span {
   display: block;
   color: var(--gray);
   font-size: 13px;
   margin-top: 2px;
}

.mytheme-product-tabs {
   margin-top: 30px;
   padding: 28px;
}

.mytheme-product-tabs__nav {
   display: flex;
   gap: 10px;
   flex-wrap: wrap;
   margin-bottom: 28px;
   padding-bottom: 18px;
   border-bottom: 1px solid rgba(42, 109, 57, 0.1);
}

.mytheme-product-tabs__button {
   border: 1px solid rgba(42, 109, 57, 0.12);
   background: #fff;
   color: #506152;
   border-radius: 999px;
   padding: 12px 18px;
   cursor: pointer;
   font-size: 15px;
   font-weight: 700;
   transition: var(--transition);
}

.mytheme-product-tabs__button:hover,
.mytheme-product-tabs__button.is-active {
   background: rgba(42, 109, 57, 0.1);
   color: var(--primary-dark);
   border-color: rgba(42, 109, 57, 0.18);
}

.mytheme-product-tabs__panel {
   display: none;
   scroll-margin-top: calc(var(--header-offset, 100px) + 24px);
}

.mytheme-product-tabs__panel.is-active {
   display: block;
}

.mytheme-product-copy {
   color: #49584a;
   font-size: 17px;
   line-height: 1.8;
}

.mytheme-product-copy p + p {
   margin-top: 18px;
}

.mytheme-product-copy ul,
.mytheme-product-copy ol {
   margin: 18px 0 0 20px;
}

.mytheme-product-highlight {
   margin: 24px 0;
   padding: 20px 22px;
   border-radius: 20px;
   background: linear-gradient(135deg, rgba(230, 126, 34, 0.1), rgba(230, 126, 34, 0.04));
   border-left: 4px solid var(--accent);
}

.mytheme-product-specs {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 16px;
}

.mytheme-product-specs__item {
   display: flex;
   justify-content: space-between;
   gap: 18px;
   align-items: flex-start;
   padding: 16px 18px;
   border-radius: 18px;
   background: #fafbf9;
   border: 1px solid rgba(42, 109, 57, 0.08);
}

.mytheme-product-specs__label {
   color: var(--gray);
}

.mytheme-product-specs__value {
   color: var(--primary-dark);
   font-weight: 700;
   text-align: right;
}

.mytheme-product-packages {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
}

.mytheme-product-packages__card {
   border-radius: 22px;
   border: 1px solid rgba(42, 109, 57, 0.12);
   overflow: hidden;
   background: #fff;
   transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.mytheme-product-packages__card:hover,
.mytheme-product-packages__card.is-active {
   transform: translateY(-4px);
   border-color: rgba(230, 126, 34, 0.32);
   box-shadow: 0 18px 28px rgba(31, 81, 43, 0.12);
}

.mytheme-product-packages__head {
   padding: 22px;
   background: linear-gradient(180deg, #f8faf7 0%, #eef5ee 100%);
   border-bottom: 1px solid rgba(42, 109, 57, 0.08);
}

.mytheme-product-packages__title {
   font-size: 22px;
   font-weight: 800;
   color: var(--primary-dark);
   margin-bottom: 6px;
}

.mytheme-product-packages__price {
   color: var(--accent-hover);
   font-size: 28px;
   line-height: 1.2;
   font-weight: 800;
}

.mytheme-product-packages__desc {
   color: var(--gray);
   font-size: 14px;
   margin-top: 8px;
}

.mytheme-product-packages__body {
   padding: 20px 22px;
}

.mytheme-product-packages__list {
   list-style: none;
}

.mytheme-product-packages__list li {
   position: relative;
   padding-left: 24px;
   color: #4f5d50;
}

.mytheme-product-packages__list li + li {
   margin-top: 12px;
}

.mytheme-product-packages__list li::before {
   content: "";
   position: absolute;
   top: 10px;
   left: 0;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: var(--primary);
}

.mytheme-product-packages__footer {
   padding: 0 22px 22px;
}

.mytheme-product-packages__footer .btn {
   width: 100%;
}

.mytheme-product-delivery {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px;
}

.mytheme-product-delivery__card {
   padding: 20px 22px;
   border-radius: 20px;
   background: linear-gradient(135deg, #fbfcfa, #f2f6f1);
   border: 1px solid rgba(42, 109, 57, 0.08);
}

.mytheme-product-delivery__card h3 {
   font-size: 18px;
   margin-bottom: 10px;
}

.mytheme-product-delivery__card p,
.mytheme-product-delivery__card ul {
   color: #516051;
   line-height: 1.7;
}

.mytheme-product-delivery__card ul {
   margin-left: 20px;
}

.mytheme-product-related {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
}

.mytheme-product-related__card {
   background: #fff;
   border: 1px solid rgba(42, 109, 57, 0.1);
   border-radius: 22px;
   overflow: hidden;
   display: flex;
   flex-direction: column;
   min-height: 100%;
}

.mytheme-product-related__image {
   display: block;
   aspect-ratio: 16 / 10;
   background: linear-gradient(135deg, #e8ede8, #d9e3da);
}

.mytheme-product-related__image img {
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
}

.mytheme-product-related__body {
   padding: 18px;
   display: flex;
   flex-direction: column;
   gap: 12px;
   flex: 1;
}

.mytheme-product-related__title {
   font-size: 20px;
   color: var(--primary-dark);
   text-decoration: none;
}

.mytheme-product-related__title:hover {
   color: var(--accent-hover);
}

.mytheme-product-related__meta {
   display: grid;
   gap: 8px;
   color: #586958;
   font-size: 14px;
}

.mytheme-product-related__price {
   margin-top: auto;
   color: var(--accent-hover);
   font-size: 24px;
   font-weight: 800;
}

.mytheme-product-related__actions {
   margin-top: 6px;
}

.mytheme-product-related__actions .btn {
   width: 100%;
}

.mytheme-product-empty {
   padding: 28px;
   border-radius: 20px;
   background: #fafbf9;
   color: var(--gray);
   border: 1px dashed rgba(42, 109, 57, 0.18);
}

.mytheme-product-advantages {
   margin-top: 30px;
   padding: 28px;
}

.mytheme-product-advantages__title {
   margin-bottom: 18px;
}

.mytheme-product-advantages__grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 16px;
}

.mytheme-product-advantages__card {
   padding: 22px 20px;
   border-radius: 20px;
   background: linear-gradient(180deg, #ffffff 0%, #f5f8f4 100%);
   border: 1px solid rgba(42, 109, 57, 0.08);
   box-shadow: 0 10px 18px rgba(31, 81, 43, 0.05);
}

.mytheme-product-advantages__icon {
   width: 54px;
   height: 54px;
   display: grid;
   place-items: center;
   border-radius: 16px;
   background: rgba(42, 109, 57, 0.12);
   color: var(--primary-dark);
   margin-bottom: 16px;
   font-size: 22px;
}

.mytheme-product-advantages__card h3 {
   margin-bottom: 10px;
   font-size: 18px;
}

.mytheme-product-advantages__card p {
   color: #566555;
   line-height: 1.7;
}

@media (max-width: 1180px) {
   .mytheme-product-page__hero,
   .mytheme-product-packages,
   .mytheme-product-related,
   .mytheme-product-advantages__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .mytheme-product-summary {
      position: static;
   }
}

@media (max-width: 900px) {
   .mytheme-product-page {
      padding: 18px 0 56px;
   }

   .mytheme-product-page__hero,
   .mytheme-product-gallery__spec-grid,
   .mytheme-product-specs,
   .mytheme-product-delivery,
   .mytheme-product-related,
   .mytheme-product-advantages__grid {
      grid-template-columns: 1fr;
   }

   .mytheme-product-summary__actions,
   .mytheme-product-summary__facts {
      grid-template-columns: 1fr;
   }

   .mytheme-product-gallery,
   .mytheme-product-summary,
   .mytheme-product-tabs,
   .mytheme-product-advantages {
      border-radius: 20px;
   }

   .mytheme-product-summary__title {
      font-size: 30px;
   }
}

@media (max-width: 640px) {
   .mytheme-product-gallery,
   .mytheme-product-summary,
   .mytheme-product-tabs,
   .mytheme-product-advantages {
      padding: 18px;
   }

   .mytheme-product-gallery__stage {
      min-height: 280px;
   }

   .mytheme-product-gallery__sticker,
   .mytheme-product-gallery__counter {
      font-size: 12px;
   }

   .mytheme-product-summary__selector-header {
      flex-direction: column;
      align-items: flex-start;
   }

   .mytheme-product-tabs__nav {
      overflow-x: auto;
      flex-wrap: nowrap;
      padding-bottom: 14px;
   }

   .mytheme-product-tabs__button {
      white-space: nowrap;
   }

   .mytheme-product-specs__item {
      flex-direction: column;
   }

   .mytheme-product-specs__value {
      text-align: left;
   }
}
