/**
 * Red Ribbon Week seasonal skin.
 *
 * This stylesheet changes color, texture, and emphasis only. The shared
 * Elementor header/footer structure and all navigation behavior remain intact.
 */
.ptr-rrw-theme {
  --ptr-rrw-red: #dc2028;
  --ptr-rrw-red-bright: #ef3340;
  --ptr-rrw-burgundy: #a91522;
  --ptr-rrw-wine: #6f0e17;
  --ptr-rrw-surface: #fff;
  --ptr-rrw-gold: #ffcc38;
  --ptr-rrw-gold-bright: #ffda68;
  --ptr-rrw-ink: #321014;
  --ptr-rrw-line: rgba(255, 255, 255, .22);
}

/* Header canvas and campaign edge. */
.ptr-rrw-theme .elementor-location-header {
  position: relative;
  background: var(--ptr-rrw-surface);
}

/* Utility bar and primary navigation: rich campaign red with ribbon texture. */
.ptr-rrw-theme .elementor-location-header .elementor-element-74694d98,
.ptr-rrw-theme .elementor-location-header .elementor-element-2ee7318f,
.ptr-rrw-theme .elementor-location-header .elementor-element-e7ac1af,
.ptr-rrw-theme .elementor-location-header .elementor-element-dc888d5,
.ptr-rrw-theme .elementor-location-header .elementor-element-13c74ed {
  background-color: var(--ptr-rrw-burgundy) !important;
  background-image:
    linear-gradient(122deg, transparent 0 46%, rgba(255,255,255,.055) 47% 49%, transparent 50% 100%),
    linear-gradient(58deg, transparent 0 46%, rgba(255,255,255,.035) 47% 49%, transparent 50% 100%),
    linear-gradient(90deg, var(--ptr-rrw-wine), var(--ptr-rrw-red), var(--ptr-rrw-burgundy)) !important;
  background-size: 110px 80px, 110px 80px, 100% 100% !important;
}

.ptr-rrw-theme .elementor-location-header .elementor-element-53a00145,
.ptr-rrw-theme .elementor-location-header .elementor-element-f10c7ce,
.ptr-rrw-theme .elementor-location-header .elementor-element-5854179 {
  background: var(--ptr-rrw-surface) !important;
  box-shadow: inset 0 -1px 0 rgba(169, 21, 34, .18);
}

.ptr-rrw-theme .elementor-location-header .elementor-element-6c94ca8f .elementor-icon-list-text,
.ptr-rrw-theme .elementor-location-header .elementor-element-5234b6ce,
.ptr-rrw-theme .elementor-location-header .elementor-element-5234b6ce a,
.ptr-rrw-theme .elementor-location-header .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title,
.ptr-rrw-theme .elementor-location-header .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title a,
.ptr-rrw-theme .elementor-location-header .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title span,
.ptr-rrw-theme .elementor-location-header .e-n-menu-dropdown-icon {
  color: #fff !important;
  fill: #fff !important;
}

.ptr-rrw-theme .elementor-location-header .elementor-element-5234b6ce a,
.ptr-rrw-theme .elementor-location-header .elementor-element-6c94ca8f a:hover .elementor-icon-list-text,
.ptr-rrw-theme .elementor-location-header .elementor-element-6c94ca8f a:focus-visible .elementor-icon-list-text {
  color: var(--ptr-rrw-gold) !important;
}

/* Make the existing RRW menu destination the seasonal focal point. */
.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"] {
  color: #fff !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"],
.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"] span,
.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"] .e-n-menu-title-text,
.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"] .e-n-menu-dropdown-icon {
  color: #fff !important;
  fill: #fff !important;
}

.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"]:hover,
.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"]:focus-visible {
  color: var(--ptr-rrw-gold) !important;
  background: transparent !important;
}

.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"]:hover span,
.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"]:focus-visible span,
.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"]:hover .e-n-menu-dropdown-icon,
.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"]:focus-visible .e-n-menu-dropdown-icon {
  color: var(--ptr-rrw-gold) !important;
  fill: var(--ptr-rrw-gold) !important;
}

.ptr-rrw-theme .elementor-location-header a[href*="red-ribbon-week-solutions"] .e-n-menu-title-text::before {
  content: none !important;
  display: none !important;
}

.ptr-rrw-theme .elementor-location-header .elementor-element-6043280f .elementor-button {
  border-color: var(--ptr-rrw-red) !important;
  background: var(--ptr-rrw-red) !important;
  color: #fff !important;
  fill: #fff !important;
}

.ptr-rrw-theme .elementor-location-header .elementor-element-6043280f .elementor-button:hover,
.ptr-rrw-theme .elementor-location-header .elementor-element-6043280f .elementor-button:focus-visible {
  background: var(--ptr-rrw-gold) !important;
  border-color: var(--ptr-rrw-gold) !important;
  color: var(--ptr-rrw-ink) !important;
  fill: var(--ptr-rrw-ink) !important;
}

/* Keep the standard light cart treatment; color only its campaign details. */
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__toggle_button,
.ptr-rrw-theme .elementor-location-header .ptr-mobile-cart .elementor-menu-cart__toggle .elementor-button,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__toggle_button:hover,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__toggle_button:focus-visible,
.ptr-rrw-theme .elementor-location-header .ptr-mobile-cart .elementor-menu-cart__toggle .elementor-button:hover,
.ptr-rrw-theme .elementor-location-header .ptr-mobile-cart .elementor-menu-cart__toggle .elementor-button:focus-visible {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #5b6870 !important;
  fill: #5b6870 !important;
}

.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__toggle_button .elementor-button-icon,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__toggle_button .elementor-button-icon i {
  color: var(--ptr-rrw-red) !important;
  fill: var(--ptr-rrw-red) !important;
}

.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__toggle_button .elementor-button-icon-qty {
  border-color: var(--ptr-rrw-gold) !important;
  background: var(--ptr-rrw-gold) !important;
  color: #17120a !important;
}

/* Make the side mini-cart controls legible and separate its close control. */
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__close-button,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__close-button-custom {
  margin-bottom: 40px !important;
}

.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-price,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-price .quantity,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-price .woocommerce-Price-amount {
  color: #4f5f66 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-remove {
  border-color: #718188 !important;
  opacity: 1 !important;
}

.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-remove::before,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-remove::after {
  background: #53636a !important;
  height: 2px;
}

.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-remove:hover,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-remove:focus-within {
  border-color: var(--ptr-rrw-red) !important;
}

.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-remove:hover::before,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-remove:hover::after,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-remove:focus-within::before,
.ptr-rrw-theme .elementor-location-header .elementor-menu-cart__product-remove:focus-within::after {
  background: var(--ptr-rrw-red) !important;
}

/* Gold interaction color for header utility links, navigation, and dropdowns. */
.ptr-rrw-theme .elementor-location-header a:not(.elementor-button):not(.elementor-menu-cart__toggle_button):not([href*="red-ribbon-week-solutions"]):hover,
.ptr-rrw-theme .elementor-location-header a:not(.elementor-button):not(.elementor-menu-cart__toggle_button):not([href*="red-ribbon-week-solutions"]):focus-visible,
.ptr-rrw-theme .elementor-location-header a:not(.elementor-button):not(.elementor-menu-cart__toggle_button):not([href*="red-ribbon-week-solutions"]):hover span,
.ptr-rrw-theme .elementor-location-header a:not(.elementor-button):not(.elementor-menu-cart__toggle_button):not([href*="red-ribbon-week-solutions"]):focus-visible span,
.ptr-rrw-theme .elementor-location-header .e-n-menu-title:hover,
.ptr-rrw-theme .elementor-location-header .e-n-menu-title:focus-visible,
.ptr-rrw-theme .elementor-location-header .e-n-menu-title:hover > .e-n-menu-title-container,
.ptr-rrw-theme .elementor-location-header .e-n-menu-title:focus-within > .e-n-menu-title-container,
.ptr-rrw-theme .elementor-location-header .e-n-menu-title:hover .e-n-menu-title-text,
.ptr-rrw-theme .elementor-location-header .e-n-menu-title:focus-visible .e-n-menu-title-text,
.ptr-rrw-theme .elementor-location-header .e-n-menu-title:hover .e-n-menu-dropdown-icon,
.ptr-rrw-theme .elementor-location-header .e-n-menu-title:focus-visible .e-n-menu-dropdown-icon,
.ptr-rrw-theme .elementor-location-header .elementor-icon-list-item > a:hover,
.ptr-rrw-theme .elementor-location-header .elementor-icon-list-item > a:focus-visible,
.ptr-rrw-theme .elementor-location-header .elementor-icon-list-item > a:hover .elementor-icon-list-text,
.ptr-rrw-theme .elementor-location-header .elementor-icon-list-item > a:focus-visible .elementor-icon-list-text,
.ptr-rrw-theme .elementor-location-header .elementor-icon-list-item > a:hover i,
.ptr-rrw-theme .elementor-location-header .elementor-icon-list-item > a:focus-visible i,
.ptr-rrw-theme .elementor-location-header .elementor-icon-list-item > a:hover svg,
.ptr-rrw-theme .elementor-location-header .elementor-icon-list-item > a:focus-visible svg {
  color: var(--ptr-rrw-gold) !important;
  fill: var(--ptr-rrw-gold) !important;
}

.ptr-rrw-theme .elementor-location-header .woocommerce-product-search .search-field:focus {
  border-color: var(--ptr-rrw-red) !important;
  box-shadow: 0 0 0 3px rgba(220, 32, 40, .18);
}

/* Campaign-page and catalog actions: ribbon red at rest, gold on interaction. */
.ptr-rrw-theme .site-main .elementor-button,
.ptr-rrw-theme .site-main a.button,
.ptr-rrw-theme .site-main button.button,
.ptr-rrw-theme .site-main input.button,
.ptr-rrw-theme .site-main .woocommerce a.button,
.ptr-rrw-theme .site-main .woocommerce button.button {
  border-color: var(--ptr-rrw-red) !important;
  background: var(--ptr-rrw-red) !important;
  color: #fff !important;
  fill: #fff !important;
}

.ptr-rrw-theme .site-main .elementor-button:hover,
.ptr-rrw-theme .site-main .elementor-button:focus-visible,
.ptr-rrw-theme .site-main a.button:hover,
.ptr-rrw-theme .site-main a.button:focus-visible,
.ptr-rrw-theme .site-main button.button:hover,
.ptr-rrw-theme .site-main button.button:focus-visible,
.ptr-rrw-theme .site-main input.button:hover,
.ptr-rrw-theme .site-main input.button:focus-visible,
.ptr-rrw-theme .site-main .woocommerce a.button:hover,
.ptr-rrw-theme .site-main .woocommerce a.button:focus-visible,
.ptr-rrw-theme .site-main .woocommerce button.button:hover,
.ptr-rrw-theme .site-main .woocommerce button.button:focus-visible {
  border-color: var(--ptr-rrw-gold) !important;
  background: var(--ptr-rrw-gold) !important;
  color: var(--ptr-rrw-ink) !important;
  fill: var(--ptr-rrw-ink) !important;
}

/* Footer: a restrained campaign-red continuation of the same structure. */
.ptr-rrw-theme .elementor-location-footer {
  --ptr-footer-teal: var(--ptr-rrw-burgundy);
  --ptr-footer-purple: var(--ptr-rrw-red-bright);
  --ptr-footer-gold: var(--ptr-rrw-gold);
  --ptr-footer-ink: var(--ptr-rrw-ink);
  --ptr-footer-muted: #76535b;
  --ptr-footer-line: rgba(169, 21, 34, .24);
  position: relative;
  overflow: hidden;
  border-top: 7px solid var(--ptr-rrw-red-bright);
}

.ptr-rrw-theme .elementor-location-footer .elementor-element-69fd2307,
.ptr-rrw-theme .elementor-location-footer .elementor-element-50725691 {
  background-color: var(--ptr-rrw-burgundy) !important;
  background-image:
    linear-gradient(128deg, transparent 0 44%, rgba(255,255,255,.045) 45% 48%, transparent 49% 100%),
    linear-gradient(52deg, transparent 0 44%, rgba(255,255,255,.03) 45% 48%, transparent 49% 100%),
    linear-gradient(100deg, var(--ptr-rrw-wine), var(--ptr-rrw-burgundy) 54%, #c51b26) !important;
  background-size: 150px 110px, 150px 110px, 100% 100% !important;
}

.ptr-rrw-theme .elementor-location-footer .elementor-element-50725691 {
  border-top-color: var(--ptr-rrw-line);
}

.ptr-rrw-theme .elementor-location-footer .elementor-element-2158663b .elementor-heading-title,
.ptr-rrw-theme .elementor-location-footer .elementor-element-50725691 .elementor-heading-title {
  color: #fff !important;
}

.ptr-rrw-theme .elementor-location-footer .elementor-element-7f63d224 button {
  background: var(--ptr-rrw-gold) !important;
  color: var(--ptr-rrw-ink) !important;
  box-shadow: 0 4px 0 #b7790b;
}

.ptr-rrw-theme .elementor-location-footer .elementor-element-7f63d224 button:hover,
.ptr-rrw-theme .elementor-location-footer .elementor-element-7f63d224 button:focus-visible {
  background: var(--ptr-rrw-gold-bright) !important;
  transform: translateY(-1px);
}

.ptr-rrw-theme .elementor-location-footer .elementor-element-50725691 a:hover .elementor-icon-list-text,
.ptr-rrw-theme .elementor-location-footer .elementor-element-50725691 a:focus-visible .elementor-icon-list-text,
.ptr-rrw-theme .elementor-location-footer .elementor-element-50725691 a:hover i,
.ptr-rrw-theme .elementor-location-footer .elementor-element-50725691 a:focus-visible i {
  color: var(--ptr-rrw-gold) !important;
}

.ptr-rrw-theme .elementor-location-footer .elementor-element-797af4af {
  background: var(--ptr-rrw-surface) !important;
}

.ptr-rrw-theme .elementor-location-footer .elementor-element-797af4af a {
  color: var(--ptr-rrw-red) !important;
}

@media (max-width: 1024px) {
  .ptr-rrw-theme .elementor-location-header .e-n-menu-toggle,
  .ptr-rrw-theme .elementor-location-header .elementor-menu-toggle {
    color: #fff !important;
    background: var(--ptr-rrw-burgundy) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ptr-rrw-theme .elementor-location-header *,
  .ptr-rrw-theme .elementor-location-footer * {
    transition-duration: .01ms !important;
  }
}
