/* AXIRA model-based arrow product components. Scoped to prevent theme clashes. */
.axira-product-complete,.axira-product-spines,.axira-product-gallery,.axira-product-side,.axira-product-specifications,.axira-product-description{color:#f5f5f5;font-family:"futura-pt-condensed",sans-serif}
.axira-product-complete{--axira-green:#6DBD45;max-width:100%;width:100%;font-size:1.5em;line-height:1.45}
.axira-product-complete *, .axira-product-spines *, .axira-product-gallery *{box-sizing:border-box}
.axira-product-spines{margin-bottom:42px}
.axira-product-spines h2{font-family:"sui-generis",sans-serif!important;font-size:clamp(20px,2vw,28px);font-weight:700;color:#f4f4f4;margin:0 0 24px;line-height:1.3}
.axira-product-spine-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:7px}
.axira-product-spine-buttons button{border:1px solid #6DBD45;border-radius:0;background:transparent!important;color:#fff!important;min-height:48px;padding:10px 12px;font:400 18px "futura-pt-condensed",sans-serif!important;cursor:pointer;transition:background .18s,color .18s;box-shadow:none!important;text-transform:none!important}
.axira-product-spine-buttons button:hover,.axira-product-spine-buttons button:focus-visible{background:#294b20!important;outline:2px solid #6DBD45;outline-offset:2px}
.axira-product-spine-buttons button.is-active{background:#6DBD45!important;color:#131313!important}
.axira-product-spine-display{height:66px;position:relative;z-index:0}
.axira-product-spine-display span{font:700 clamp(74px,8vw,115px)/1 "sui-generis",sans-serif;color:transparent;-webkit-text-stroke:1px #6DBD45;position:relative;top:0;display:block}
.axira-product-visual .axira-product-gallery{position:relative;z-index:1}
.axira-product-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(245px,1fr);gap:32px;align-items:start}
.axira-product-gallery figure{margin:0;background:#1e1e1e;display:flex;align-items:center;justify-content:center;overflow:hidden}
.axira-product-main-image{aspect-ratio:1.65}
.axira-product-gallery figure img{width:100%;height:100%;object-fit:contain;display:block}
.axira-product-gallery-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.axira-product-gallery-details figure{aspect-ratio:1.4}
.axira-product-side{display:flex;flex-direction:column;gap:22px}
.axira-product-price{padding:20px 24px;background:#1e1e1e;display:flex;flex-direction:column;gap:4px}
.axira-product-price[hidden]{display:none!important}
.axira-product-price strong{font-family:"sui-generis",sans-serif;font-size:clamp(24px,2vw,36px);color:#6DBD45;font-weight:700;line-height:1.15}
.axira-product-price span{font-family:"sui-generis",sans-serif;font-size:13px;font-weight:700}
.axira-product-features h3,.axira-product-specifications h3,.axira-product-description h3{font-family:"sui-generis",sans-serif!important;font-size:19px!important;line-height:1.4;font-weight:700;color:#fff;margin:0 0 15px!important}
.axira-product-features ul{list-style:none!important;padding:0!important;margin:0!important}
.axira-product-features li{position:relative;font-size:1.5em;padding-left:22px;margin:0 0 5px;line-height:1.5}
.axira-product-features li:before{content:"";width:8px;height:8px;background:#6DBD45;border-radius:50%;position:absolute;left:0;top:.58em}
.axira-product-cta{display:flex;min-height:170px;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right;padding:24px;background-color:#1e1e1e;background-size:cover;background-position:center}
.axira-product-cta strong{font-family:"sui-generis",sans-serif;font-size:22px;line-height:1.2;color:#fff}
.axira-product-cta p{font-size:1.5em;color:#fff;margin:8px 0}
.axira-product-cta a{color:#fff;font-size:16px;text-decoration:none;border-bottom:1px solid #6DBD45;padding-bottom:3px}
.axira-product-cta a:hover{color:#6DBD45}
.axira-product-specifications,.axira-product-description{margin-top:32px}
.axira-product-specifications dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 42px}
.axira-product-specifications dl div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;font-size:17px;align-items:baseline;line-height:1.3}
.axira-product-specifications dt{color:#bbb;text-transform:uppercase}
.axira-product-specifications dd{color:#fff;margin:0;overflow-wrap:anywhere}
.axira-product-description{max-width:100%}
.axira-product-description p{font-size:1.5em;line-height:1.55;color:#c8c8c8;margin:0 0 13px}
.axira-product-empty{color:#aaa}
@media(max-width:800px){.axira-product-columns{grid-template-columns:1fr}.axira-product-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.axira-product-cta{grid-column:1/-1}.axira-product-spines{margin-bottom:30px}}
@media(max-width:560px){.axira-product-side{grid-template-columns:1fr}.axira-product-specifications dl{grid-template-columns:1fr}.axira-product-spine-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.axira-product-spine-buttons button{min-height:42px}.axira-product-spines h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.axira-product-spine-buttons button{transition:none}}
/* 1.2: teaser between price and features; optional Origin Crest colour choice. */
.axira-product-teaser{font-family:'futura-pt-condensed',sans-serif;color:#d2d2d2;font-size:1.5em;line-height:1.5;margin:0 0 6px}
.axira-crest-colors{margin-top:18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.axira-crest-colors label{font:700 13px 'sui-generis',sans-serif;color:#f2f2f2}
.axira-crest-colors select{background:#191919;color:#fff;border:1px solid #6DBD45;border-radius:0;padding:10px;min-width:140px}

/* AXIRA 1.4: unlimited model gallery; main photo plus all additional photos. */
.axira-product-gallery-details{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.axira-product-gallery-details figure{aspect-ratio:1.4}
.axira-product-extra{display:grid;gap:28px;margin-top:34px;color:#ccc;font-family:"futura-pt-condensed",sans-serif}
.axira-product-extra-section{padding-top:20px;border-top:1px solid #353535}
.axira-product-extra-section h3{font:700 19px/1.4 "sui-generis",sans-serif!important;color:#fff;margin:0 0 14px!important}
.axira-product-extra-section p{font-size:1.5em;line-height:1.55}
.axira-product-extra-link{display:inline-block;margin-top:12px;color:var(--axira-green,#6DBD45);text-decoration:none;border-bottom:1px solid currentColor}
@media(max-width:520px){.axira-product-gallery-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.axira-product-gallery-details figure{aspect-ratio:1.1}}

/* v1.5.1: complete product content is scaled once, not twice. */
.axira-product-complete :is(.axira-product-description p,.axira-product-teaser,.axira-product-extra-section p){font-size:inherit}
/* Individual widgets outside the complete product still get 1.5em. */
.axira-product-complete .axira-product-features li{font-size:inherit}

.axira-product-complete .axira-product-cta p{font-size:inherit}


/* AXIRA 1.5.6: compact large image, horizontal image carousel, and accessible lightbox. */
.axira-product-gallery{width:100%;min-width:0;}
.axira-product-gallery .axira-product-main-image{
  width:100%;
  aspect-ratio:2.05 / 1;
  max-height:var(--axira-gallery-main-height,380px);
  min-height:0;
  background:#1e1e1e;
}
.axira-product-gallery .axira-product-image-open{
  all:unset;
  display:block;
  width:100%;height:100%;
  box-sizing:border-box;cursor:zoom-in;
}
.axira-product-gallery .axira-product-image-open:focus-visible{
  outline:2px solid var(--axira-ui-accent,#6DBD45);outline-offset:-3px;
}
.axira-product-gallery .axira-product-image-open img{
  display:block;width:100%;height:100%;object-fit:contain;
}
.axira-product-carousel{position:relative;margin-top:10px;min-width:0;}
.axira-product-gallery .axira-product-gallery-details{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 20px) / 2.45);
  grid-template-columns:none;
  gap:var(--axira-gallery-gap,10px);
  width:100%;min-width:0;
  overflow-x:auto;overflow-y:hidden;
  scroll-behavior:smooth;scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:#555 transparent;
  overscroll-behavior-inline:contain;
  margin:0;padding:0 0 3px;
}
.axira-product-gallery .axira-product-gallery-details figure{
  aspect-ratio:1.9 / 1;
  height:var(--axira-gallery-thumb-height,150px);
  min-width:0;scroll-snap-align:start;
  background:transparent!important;
  border:0;overflow:hidden;
}
.axira-product-gallery .axira-product-gallery-details .axira-product-image-open{background:transparent!important;}
.axira-product-gallery .axira-product-gallery-details img{background:transparent!important;}
.axira-product-gallery .axira-product-carousel-nav{
  display:flex;align-items:center;justify-content:center;
  position:absolute;z-index:2;top:calc(50% - 18px);
  width:34px;height:36px;padding:0;border:1px solid #444;border-radius:0;
  background:rgba(20,20,20,.88);color:#fff;
  font:400 30px/1 sans-serif;cursor:pointer;
  transition:border-color .16s,background .16s;
}
.axira-product-gallery .axira-product-carousel-nav:hover,
.axira-product-gallery .axira-product-carousel-nav:focus-visible{
  border-color:#6DBD45;background:#243b1b;
}
.axira-product-gallery .axira-product-carousel-prev{left:0;}
.axira-product-gallery .axira-product-carousel-next{right:0;}
.axira-product-lightbox{
  padding:0;border:1px solid #4f4f4f;border-radius:0;
  width:min(95vw,1400px);max-width:95vw;max-height:94vh;
  background:#121212;color:#fff;box-shadow:0 18px 80px rgba(0,0,0,.75);
}
.axira-product-lightbox::backdrop{background:rgba(0,0,0,.92);}
.axira-product-lightbox-content{
  display:grid;grid-template-columns:46px minmax(0,1fr) 46px;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:center;position:relative;
  padding:40px 12px 12px;
  height:min(90vh,950px);
  box-sizing:border-box;
}
.axira-product-lightbox-image{width:100%;height:100%;min-height:0;object-fit:contain;grid-column:2;grid-row:1;}
.axira-product-lightbox :is(.axira-product-lightbox-close,.axira-product-lightbox-prev,.axira-product-lightbox-next){
  border:0;background:transparent;color:#fff;cursor:pointer;
  font:400 34px/1 sans-serif;min-height:46px;min-width:40px;
}
.axira-product-lightbox :is(.axira-product-lightbox-close,.axira-product-lightbox-prev,.axira-product-lightbox-next):focus-visible{outline:2px solid #6DBD45;}
.axira-product-lightbox-close{position:absolute;right:8px;top:3px;z-index:2;}
.axira-product-lightbox-prev{grid-column:1;grid-row:1;}
.axira-product-lightbox-next{grid-column:3;grid-row:1;}
.axira-product-lightbox-counter{grid-column:1/-1;grid-row:2;text-align:center;font:400 15px/1.2 'futura-pt-condensed',sans-serif;color:#aaa;}
.axira-product-lightbox [hidden]{display:none!important;}
@media(max-width:560px){
 .axira-product-gallery .axira-product-main-image{aspect-ratio:1.8 / 1;max-height:280px;}
 .axira-product-gallery .axira-product-gallery-details{grid-auto-columns:70%;gap:8px;}
 .axira-product-gallery .axira-product-gallery-details figure{height:125px;aspect-ratio:1.9 / 1;}
 .axira-product-gallery .axira-product-carousel-nav{width:29px;height:32px;}
 .axira-product-lightbox-content{grid-template-columns:30px minmax(0,1fr) 30px;padding:38px 2px 10px;}
 .axira-product-lightbox :is(.axira-product-lightbox-prev,.axira-product-lightbox-next){font-size:25px;min-width:30px;}
}
@media(prefers-reduced-motion:reduce){.axira-product-gallery .axira-product-gallery-details{scroll-behavior:auto;}.axira-product-gallery .axira-product-carousel-nav{transition:none;}}

.axira-ui .axira-product-gallery .axira-product-gallery-details{gap:var(--axira-gallery-gap,var(--axira-ui-grid-gap,10px));}


/* AXIRA v1.5.9: complete product detail without spine picker; aligned data charts. */
.axira-product-complete--charts{--axira-chart-green:var(--axira-ui-accent,#6DBD45);width:100%;min-width:0;}
.axira-product-complete--charts .axira-product-columns{align-items:start;}
.axira-product-complete--charts .axira-product-visual,
.axira-product-complete--charts .axira-product-side{min-width:0;}
.axira-product-complete--charts .axira-product-side{gap:14px;}
.axira-product-complete--charts .axira-product-price{padding:12px 18px;}
.axira-product-complete--charts .axira-product-cta{min-height:115px;padding:12px 18px;}
.axira-product-complete--charts .axira-product-features h3,
.axira-product-complete--charts .axira-product-description h3{margin:0 0 9px!important;}
.axira-product-complete--charts .axira-product-features li{line-height:1.25;margin-bottom:4px;}
.axira-product-complete--charts .axira-product-description{margin:0;min-height:0;position:relative;}
.axira-product-complete--charts .axira-product-description-content{color:#d3d3d3;min-height:0;overflow:hidden;}
.axira-product-complete--charts .axira-product-description-content p{font-size:inherit;line-height:var(--axira-ui-body-line,1.2);margin:0 0 10px;}
.axira-product-complete--charts .axira-product-readmore{
  margin:6px 0 0;border:0;padding:0;background:none;color:var(--axira-chart-green);cursor:pointer;
  font:600 1em/1.2 'futura-pt-condensed',sans-serif;text-decoration:underline;text-underline-offset:3px;
}
.axira-product-complete--charts .axira-product-readmore:hover{color:#fff;}
/* Side-by-side, fully visible tables. Each cell can wrap; no sideways scrolling. */
.axira-product-charts{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);
  gap:clamp(18px,2vw,28px);
  align-items:start;
  margin-top:28px;width:100%;min-width:0;
  font-size:16px; /* independent of the 1.5em product body setting */
}
.axira-product-chart-section{min-width:0;width:100%;max-width:100%;}
.axira-product-chart-section h3{font:700 var(--axira-ui-heading-size,clamp(20px,2vw,26px))/1.2 var(--axira-ui-heading-font,'sui-generis',sans-serif)!important;color:var(--axira-ui-heading-color,#fff);margin:0 0 15px!important;}
.axira-product-chart-subtitle{font:700 15px/1.25 var(--axira-ui-heading-font,'sui-generis',sans-serif)!important;color:var(--axira-chart-green);text-transform:uppercase;margin:18px 0 8px!important;}
.axira-product-table-scroll{width:100%;min-width:0;max-width:100%;overflow:visible;margin-bottom:18px;}
.axira-product-table{border-collapse:collapse;border-spacing:0;width:100%;min-width:0;max-width:100%;table-layout:fixed;color:var(--axira-ui-body-color,#eee);font:400 var(--axira-table-body-size,1.1em)/1.2 var(--axira-ui-body-font,'futura-pt-condensed',sans-serif)!important;}
.axira-product-table--fitting{min-width:0;}
.axira-product-table thead th{padding:10px 6px;text-align:left;background:var(--axira-table-head-bg,#f2f2f2);color:var(--axira-table-head-text,#2e7b16);font:700 .73em/1.2 var(--axira-ui-heading-font,'sui-generis',sans-serif)!important;white-space:normal;overflow-wrap:break-word;word-break:normal;vertical-align:top;}
.axira-product-table tbody tr:nth-child(odd){background:var(--axira-table-row-odd,#191919);}
.axira-product-table tbody tr:nth-child(even){background:var(--axira-table-row-even,#252525);}
.axira-product-table tbody :is(td,th){border-bottom:1px solid var(--axira-table-border,#313131);padding:var(--axira-table-padding,9px) 6px;text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;word-break:normal;min-width:0;line-height:1.2;}
.axira-product-table tbody th{color:var(--axira-chart-green);font-weight:700;}
.axira-product-table--technical thead th:first-child{width:13%;}
.axira-product-table--technical thead th:nth-child(6){width:22%;}
.axira-product-table--fitting thead th:first-child{width:9%;}
.axira-product-table--fitting thead th:nth-child(4){width:28%;}
.axira-product-table--fitting tbody td{font-size:inherit;}
.axira-description-dialog{border:1px solid #414141;background:#181818;color:#f1f1f1;max-width:min(720px,92vw);width:92vw;max-height:85vh;padding:32px;box-shadow:0 12px 75px #0009;}
.axira-description-dialog::backdrop{background:#000c;}
.axira-description-dialog h3{font:700 23px/1.2 'sui-generis',sans-serif;color:#fff;margin:0 36px 22px 0;}
.axira-description-dialog .axira-description-dialog-copy{max-height:65vh;overflow:auto;font:400 20px/1.4 'futura-pt-condensed',sans-serif;}
.axira-description-dialog-close{position:absolute;right:12px;top:12px;border:1px solid #666;background:#222;color:#fff;cursor:pointer;font:400 24px/1 sans-serif;padding:5px 12px;}
@media(max-width:800px){.axira-product-complete--charts .axira-product-side{height:auto!important;max-height:none!important;}}
@media(max-width:560px){.axira-description-dialog{padding:22px;}}

/* Keep fixed right-column sections compact enough for an honest description excerpt. */
.axira-product-complete--charts .axira-product-side{gap:10px;}
.axira-product-complete--charts .axira-product-features li{font-size:var(--axira-ui-feature-size,clamp(17px,1.25vw,21px))!important;line-height:1.22;}
.axira-product-complete--charts .axira-product-features h3{margin-bottom:7px!important;}
.axira-product-complete--charts .axira-product-cta{min-height:95px;}
.axira-product-complete--charts .axira-product-price{padding:8px 16px;}
.axira-product-complete--charts .axira-product-description{flex:0 1 auto;}
@media(min-width:801px){.axira-product-complete--charts .axira-product-side{overflow:hidden;}}

/* Product widget adapts to its own container, not only the viewport. */
.axira-product-complete--charts{container-type:inline-size;}
@container (max-width:1080px){
  .axira-product-complete--charts .axira-product-columns{grid-template-columns:minmax(0,1fr);}
  .axira-product-complete--charts .axira-product-side{height:auto!important;max-height:none!important;overflow:visible!important;}
}
@media(max-width:1080px){
  .axira-product-complete--charts .axira-product-columns{grid-template-columns:minmax(0,1fr);}
  .axira-product-complete--charts .axira-product-side{height:auto!important;max-height:none!important;overflow:visible!important;}
}

/* AXIRA v1.5.11: readability takes priority over forcing two cramped tables. */
.axira-product-charts .axira-product-chart-section{overflow:visible;}
.axira-product-charts .axira-product-table{margin:0;}
@container (max-width:1120px){
  .axira-product-charts{grid-template-columns:minmax(0,1fr);gap:24px;}
}
@media (max-width:1120px){
  .axira-product-charts{grid-template-columns:minmax(0,1fr);gap:24px;}
}
/* v1.5.12: on mobile retain the SAME six-column HTML tables.
   Do not switch cells to card rows and do not create horizontal scrolling. */
.axira-product-table thead th[aria-label="STRAIGHTNESS"]{white-space:normal;overflow-wrap:normal;}
@container (max-width: 680px){
  .axira-product-charts{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:24px;}
  .axira-product-charts .axira-product-table-scroll{overflow:visible;}
  .axira-product-charts .axira-product-table{
    display:table;width:100%;max-width:100%;min-width:0;table-layout:fixed;
    font-size:clamp(9px,2.8vw,11px)!important;
  }
  .axira-product-charts .axira-product-table thead{display:table-header-group;position:static!important;clip:auto!important;width:auto!important;height:auto!important;overflow:visible!important;white-space:normal!important;}
  .axira-product-charts .axira-product-table tbody{display:table-row-group;}
  .axira-product-charts .axira-product-table tbody tr{display:table-row;border:0;}
  .axira-product-charts .axira-product-table :is(th,td){display:table-cell;min-width:0;max-width:none;word-break:normal;overflow-wrap:anywhere;}
  .axira-product-charts .axira-product-table tbody :is(td,th)::before{content:none!important;display:none!important;}
  .axira-product-charts .axira-product-table thead th{font-size:clamp(7.5px,2.4vw,9.5px)!important;padding:7px 2px!important;line-height:1.15!important;letter-spacing:-.025em;}
  .axira-product-charts .axira-product-table tbody :is(td,th){padding:7px 2px!important;line-height:1.2!important;}
  .axira-product-charts .axira-product-table--fitting thead th:nth-child(4){width:25%;}
  .axira-product-charts .axira-product-table--fitting thead th:first-child{width:11%;}
  .axira-product-charts .axira-product-table--technical thead th:nth-child(6){width:22%;}
}
/* @media fallback for browsers without container queries and Elementor editor views. */
@media (max-width:680px){
  .axira-product-charts{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:24px;}
  .axira-product-charts .axira-product-table-scroll{overflow:visible;}
  .axira-product-charts .axira-product-table{display:table;width:100%;max-width:100%;min-width:0;table-layout:fixed;font-size:clamp(9px,2.8vw,11px)!important;}
  .axira-product-charts .axira-product-table thead{display:table-header-group;position:static!important;clip:auto!important;width:auto!important;height:auto!important;overflow:visible!important;white-space:normal!important;}
  .axira-product-charts .axira-product-table tbody{display:table-row-group;}
  .axira-product-charts .axira-product-table tbody tr{display:table-row;border:0;}
  .axira-product-charts .axira-product-table :is(th,td){display:table-cell;min-width:0;max-width:none;overflow-wrap:anywhere;word-break:normal;}
  .axira-product-charts .axira-product-table tbody :is(td,th)::before{content:none!important;display:none!important;}
  .axira-product-charts .axira-product-table thead th{font-size:clamp(7.5px,2.4vw,9.5px)!important;padding:7px 2px!important;line-height:1.15!important;letter-spacing:-.025em;}
  .axira-product-charts .axira-product-table tbody :is(td,th){padding:7px 2px!important;line-height:1.2!important;}
  .axira-product-charts .axira-product-table--fitting thead th:nth-child(4){width:25%;}
  .axira-product-charts .axira-product-table--fitting thead th:first-child{width:11%;}
}
