/* CC-F15: desktop geometry and paint only. Component layout/behaviour stays owned
   by F3/F11/F13/F14. The approved header is the reference: frame minus gutters. */
@media (min-width:1201px) {
  body { --cc-f15-frame:1450px; --cc-f15-edge:clamp(16px,2.3vw,32px); --cc-f15-useful:calc(var(--cc-f15-frame) - 2*var(--cc-f15-edge)); }

  #cc-f13-footer {
    padding-inline:max(var(--cc-f15-edge),calc((100% - var(--cc-f15-frame))/2 + var(--cc-f15-edge)));
  }
  #cc-f13-footer .cc-f13-inner { max-width:none; }

  /* Woodmart's container owns the gutter once; V2 rows no longer add another. */
  body.single-product .main-page-wrapper > .wd-content-layout {
    max-width:var(--cc-f15-frame); padding-inline:var(--cc-f15-edge);
  }
  body.cc-f3-v2 .single-product-page > .elementor > :is(.v2-root,.v2-delivery-row,.v2-lower,.v2-purchase-info-row,.v2-recommendations-row,.v2-customer-help-row) {
    width:100%!important; padding-inline:0!important;
  }
  /* Native product templates (including EN) can stretch their section background.
     Only the direct row inner frame is bounded; nested reading columns stay intact. */
  body.single-product:not(.cc-f3-v2) .single-product-page > .elementor > .e-con > .e-con-inner {
    max-width:var(--cc-f15-useful); width:100%;
  }
  body.single-product:not(.cc-f3-v2) .single-product-page > .elementor > .e-con.wd-section-stretch > .e-con-inner {
    width:calc(100% - 2*var(--cc-f15-edge));
  }

  /* The full-width wrapper was white outside the theme's boxed event container. */
  body.cc-f11-events .main-page-wrapper,
  body.cc-f11-events .main-page-wrapper > .wd-content-layout { background:#f3f6fc; }
  body.cc-f11-events .main-page-wrapper > .wd-content-layout {
    max-width:none; width:100%; padding-inline:0;
  }
  body.cc-f11-events .tribe-events .tribe-events-l-container {
    max-width:var(--cc-f15-frame); padding-inline:var(--cc-f15-edge)!important;
  }
  body.cc-f11-events.single-tribe_events #tribe-events-pg-template {
    max-width:var(--cc-f15-frame); width:100%; margin-inline:auto;
  }
  body.cc-f11-events #tribe-events-content.tribe-events-single {
    max-width:none; padding-inline:var(--cc-f15-edge);
  }
  body.cc-f11-events .tribe-events-single-event-description > :is(p,ul,ol) { max-width:70ch; }

  /* Paint around visible text + real arrow, independently of the trailing hit slot.
     No padding, width, gap, transform or menu JS changes. A positioned item would
     change the absolute dropdown's containing block, so position only its controls. */
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-main,
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-branch > summary:has(span) {
    position:relative; isolation:isolate;
  }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) :is(.cc-f14-main,.cc-f14-branch > summary):is(:hover,:focus-visible),
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-branch[open] > summary {
    background:transparent;
  }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-main::before,
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-branch > summary:has(span)::before {
    content:""; position:absolute; z-index:-1; pointer-events:none; border-radius:7px;
    inset:0 calc(var(--cc-f14-arrow-slot) - 19px) 0 0;
  }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-item:has(.cc-f14-branch) > .cc-f14-main::before { right:-19px; }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-item:not(:has(.cc-f14-branch)) > .cc-f14-main::before { right:calc(var(--cc-f14-arrow-slot) - 2px); }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-item:first-child > .cc-f14-main::before { left:-6px; }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-item:is(:hover,:has(.cc-f14-branch[open]),:focus-within) > .cc-f14-main::before,
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-branch[open] > summary:has(span)::before { background:#ffffff1c; }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-branch > summary:has(span):is(:hover,:focus-visible)::before { background:#ffffff1c; }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) :is(.cc-f14-main,.cc-f14-branch > summary):focus-visible { outline:none!important; }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-main:focus-visible::before,
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-item:has(> .cc-f14-branch > summary:focus-visible) > .cc-f14-main::before,
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-branch > summary:has(span):focus-visible::before { outline:3px solid #ff9c22; outline-offset:2px; }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-main:focus-visible { text-decoration:underline; text-underline-offset:3px; }
  header.elementor-location-header .cc-f14-nav:not(.cc-f14-compact) .cc-f14-branch > summary:focus-visible svg { color:#ff9c22; }
}
