/* The existing hero, video and olive-oil offer deliberately keep index.css. */
#main_olive {
  display: flow-root;
  background:
    radial-gradient(ellipse at 0% 55%, rgba(128, 143, 91, .24), transparent 55%),
    radial-gradient(ellipse at 100% 35%, rgba(159, 166, 116, .22), transparent 55%),
    #e6dfcf;
}
.modern-site {
  --m-ink: #172c23;
  --m-paper: #e9e3d3;
  --m-green: #182f25;
  --m-muted: #a7b6a6;
  --m-lime: #d7df94;
  color: var(--m-ink);
  background: var(--m-paper);
  overflow: clip;
  font-size: 17px;
  line-height: 1.65;
}
.modern-site *, .modern-site *::before, .modern-site *::after { box-sizing: border-box; }
.modern-site [id] { scroll-margin-top: var(--sticky-height, 58px); }
.sticky-bar, body.dark-mode .sticky-bar { border-bottom: 0; box-shadow: none; }
.m-wrap { width: min(1240px, calc(100% - 112px)); margin-inline: auto; }
.modern-site h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.7rem, 5vw, 5.2rem);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 1.05;
  text-align: left;
}
.modern-site h3 { margin: 0; font-size: 1.22rem; font-weight: 500; line-height: 1.35; }
.modern-site p { margin: 0; }
.modern-site .m-eyebrow {
  margin: 0 0 1.4rem;
  font-size: 0.73rem;
  letter-spacing: 0.18em;
  font-weight: 700;
  line-height: 1.6;
}
.modern-site .m-lead { font-size: 1.07rem; line-height: 1.7; max-width: 46ch; }
.m-trust-strip { color: #dce5cb; background: #1d3429; }
.m-trust-strip .m-wrap { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.35rem; font-size: 0.85rem; letter-spacing: 0.03em; }
.m-scene { position: relative; isolation: isolate; color: #f4f1e5; overflow: hidden; }
.m-scene-background {
  position: absolute;
  inset: -12% 0;
  z-index: -2;
  background-size: cover;
  background-position: center;
  transform: translate3d(0, var(--parallax-y, 0px), 0);
  will-change: transform;
}
.m-scene::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11,27,18,.73), rgba(11,27,18,.12)); }
.m-scene-olives { min-height: 590px; display: flex; align-items: center; }
.m-scene-olives .m-scene-background { background-image: url('./media/oliven_bg.jpg'); }
.m-scene-copy { padding-block: 100px; }
.m-scene-copy h2 { font-size: clamp(3rem, 6.7vw, 7rem); }
.m-scene-copy > p:not(.m-eyebrow) { margin-top: 1.5rem; max-width: 42ch; }
.m-scene-line { display: block; height: 1px; width: 100px; margin-top: 2rem; background: #d7df94; }
.m-catalog { position: relative; background: #e9e3d3; padding-block: 95px; }
.m-section-top { display: grid; grid-template-columns: 1fr 0.8fr; align-items: end; gap: 4rem; }
.m-section-top .m-lead { color: #50604f; padding-bottom: 0.35rem; }
.m-filters { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 2.7rem 0 1.7rem; }
.m-filters button {
  font: inherit; font-size: .9rem; color: #344936; background: transparent;
  border: 1px solid #b9c0a8; border-radius: 99px; padding: .55rem 1.1rem; cursor: pointer;
  transition: background .2s, color .2s;
}
.m-filters button[aria-pressed='true'] { color: #f1f0df; background: #243c2d; border-color: #243c2d; }
.m-products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.2rem 1.5rem; align-items: start; }
.m-product { min-width: 0; background: #ddd9c8; border-radius: 4px; overflow: hidden; }
.m-product[hidden] { display: none; }
.m-product-image { display: block; width: 100%; aspect-ratio: 1.25; border: none; padding: 0; background: #cdd2ba; overflow: hidden; cursor: zoom-in; }
.m-product-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
@media (hover:hover) { .m-product-image:hover img { transform: scale(1.045); } }
.m-product-copy { padding: 1.35rem; }
.m-product-copy h3 { min-height: 2.8em; }
.modern-site .m-product-price { margin-top: .65rem; font-size: 1.04rem; font-weight: 700; }
.m-product details { border-top: 1px solid #bfc5af; margin-top: 1rem; }
.m-product summary { font-size: .85rem; padding-block: .75rem; }
.m-product details p { font-size: .9rem; line-height: 1.6; margin-bottom: .8rem; color: #4d5b49; }
.m-product-inquiry { display: flex; align-items: center; justify-content: space-between; padding-top: .5rem; color: #243c2d; text-decoration: none; font-size: .85rem; font-weight: 700; }
.m-product-inquiry span { font-size: 1.3rem; }
.m-show-products { display: flex; gap: 2rem; align-items: center; justify-content: center; margin: 2.5rem auto 0; padding: .95rem 1.5rem; border: 1px solid #738468; background: transparent; color: #223a2a; font: inherit; font-size: .9rem; cursor: pointer; border-radius: 3px; }
.m-show-products[hidden] { display: none; }
.m-filter-count { height: 1px; width: 1px; overflow: hidden; position: absolute; clip-path: inset(50%); }
.m-scene-origin { padding-block: 110px; }
.m-scene-origin .m-scene-background { background-image: url('./media/placeholder_desktop_optimized.jpg'); background-position: center 60%; }
.m-scene-origin::after { background: linear-gradient(90deg, rgba(9,28,19,.82), rgba(9,28,19,.38)); }
.m-origin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.m-origin-title h2 { font-size: clamp(3rem, 5.8vw, 6rem); }
.m-since { display: inline-block; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #aec28f; font-size: .85rem; }
.m-origin-panel { background: rgba(19,42,30,.83); border: 1px solid rgba(206,220,177,.3); padding: 2.5rem; backdrop-filter: blur(12px); }
.m-origin-panel > p { font-size: 1.05rem; }
.m-origin-panel #olivensorte { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #647b5c; }
.m-origin-panel #olivensorte p { font-size: .95rem; color: #ced9bf; }
.m-kitchen { background: #213d2e; color: #edeedd; padding-block: 80px; }
.m-kitchen .m-eyebrow { color: #bdcc9c; }
.m-kitchen h2 { font-size: clamp(2.5rem, 4vw, 4rem); }
.m-uses { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 2rem; margin-top: 3rem; }
.m-uses article { border-top: 1px solid #627c55; padding-top: 1.3rem; }
.m-use-number { font-size: .8rem; color: #bdcc9c; }
.m-uses h3 { margin-top: 1.4rem; font-size: 1.4rem; }
.m-uses p { margin-top: .7rem; color: #c1cfb5; font-size: .98rem; }
.m-quality { padding-block: 90px; background: #d9d9c0; }
.m-quality-grid { display: grid; grid-template-columns: .85fr 1fr; gap: 5rem; }
.m-quality .m-lead { margin-top: 1.7rem; color: #445641; }
.m-small { font-size: .8rem; color: #54654b; max-width: 47ch; margin-top: 1.5rem !important; }
.m-reports { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; margin-bottom: 1.7rem; }
.m-reports button { padding: .7rem; border: 1px solid #9bac8a; background: #c9cfb4; color: #243c2d; cursor: zoom-in; font: inherit; }
.m-reports img { width: 100%; height: 170px; object-fit: cover; object-position: top; display: block; }
.m-reports button > span { display: flex; justify-content: space-between; margin-top: .7rem; font-size: .75rem; }
.m-extra { border-top: 1px solid #9aa78a; }
.modern-site summary { cursor: pointer; list-style: none; display: flex; gap: .8rem; align-items: center; justify-content: space-between; }
.modern-site summary::-webkit-details-marker { display: none; }
.modern-site summary::after { content: '+'; font-weight: 400; font-size: 1.3rem; line-height: 1; flex-shrink: 0; }
.modern-site details[open] > summary::after { content: '−'; }
.m-extra > summary { padding-block: 1rem; font-size: .95rem; }
.m-nutrition { width: 100%; border-collapse: collapse; margin-bottom: 1rem; font-size: .88rem; }
.m-nutrition td { padding: .5rem 0; border-top: 1px solid #b7c0a5; }
.m-nutrition td:last-child { text-align: right; }
.m-lab-values { display: grid; gap: 1rem; padding-bottom: 1.5rem; }
.m-lab-value h3 { font-size: .98rem; font-weight: 700; }
.m-lab-value p { font-size: .9rem; margin-top: .3rem; }
.m-faq { background: #e9e3d3; padding-block: 85px; }
.m-faq-grid { display: grid; grid-template-columns: .85fr 1fr; gap: 5rem; }
.m-faq-list details { border-bottom: 1px solid #b0b9a1; }
.m-faq-list summary { padding-block: 1.3rem; font-size: 1.05rem; }
.m-faq-list details p { padding-bottom: 1.3rem; font-size: .98rem; color: #4a5d47; }
.m-contact { text-align: center; padding-block: 90px; background: #172e22; color: #f2f0de; }
.m-contact h2 { text-align: center; font-size: clamp(3rem, 5.5vw, 5.5rem); }
.m-contact > .m-wrap > p:not(.m-eyebrow) { margin: 1.6rem auto 2rem; max-width: 47ch; color: #c7d3bc; }
.m-contact .m-eyebrow { color: #c6d59c; }
.m-button { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; padding: 1.05rem 1.5rem; background: #d8e29d; color: #173321; text-decoration: none; border-radius: 3px; font-weight: 700; font-size: .98rem; transition: background .2s, transform .2s; }
.m-button:hover { background: #e9efbf; transform: translateY(-2px); }
.m-button svg { width: 23px; height: 23px; flex-shrink: 0; }
.m-email { display: block; width: fit-content; margin: 1.5rem auto 0; color: #cbd7bb; font-size: .9rem; text-underline-offset: 4px; }
.m-footer { background: #11261c; color: #b8c7ae; padding: 1.5rem 0; font-size: .78rem; }
.m-footer .m-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.m-footer a { color: inherit; text-decoration: none; }
.m-footer .m-footer-brand { font-size: 1.4rem; color: #e3e9d1; font-weight: 700; margin-right: auto; }
.modern-site :is(a,button,summary):focus-visible { outline: 3px solid #ad842b; outline-offset: 4px; }
nav#mobileMenu { background: #e6e2d1; border-color: #aab397; }
nav#mobileMenu > a { display: flex; justify-content: space-between; background: transparent; border: 0; border-bottom: 1px solid #bec6af; border-radius: 0; padding: 1rem .25rem; font-weight: 500; color: #1e3b29; }
nav#mobileMenu > a:hover { background: #d8dfc7; transform: none; box-shadow: none; }
nav#mobileMenu .menu-head { background: #e6e2d1; }
body.dark-mode nav#mobileMenu { background: #e6e2d1; }
body.dark-mode nav#mobileMenu > a { color: #1e3b29; background: transparent; }
body.dark-mode nav#mobileMenu .menu-head { background: #e6e2d1; color: #1e3b29; }
@media (min-width:1500px) { .m-wrap { width: min(1400px,calc(100% - 160px)); } }
@media (max-width:1000px) {
  .m-wrap { width: calc(100% - 64px); }
  .m-section-top, .m-origin-grid { gap: 2rem; }
  .m-quality-grid, .m-faq-grid { gap: 2.5rem; }
  .m-origin-panel { padding: 1.8rem; }
}
@media (max-width:700px) {
  .m-wrap { width: calc(100% - 36px); }
  .modern-site { font-size: 16px; }
  .modern-site h2 { font-size: clamp(2.35rem,10vw,3.5rem); }
  .modern-site .m-eyebrow { font-size: .66rem; letter-spacing: .13em; margin-bottom: 1rem; }
  .m-trust-strip .m-wrap { flex-wrap: wrap; justify-content: center; font-size: .72rem; gap: .35rem 1rem; padding-block: 1rem; }
  .m-scene-olives { min-height: 410px; }
  .m-scene-copy { padding-block: 75px; }
  .m-scene-copy h2 { font-size: clamp(3rem,13vw,4.5rem); }
  .m-scene-copy > p:not(.m-eyebrow) { font-size: .95rem; max-width: 30ch; }
  .m-catalog { padding-block: 55px; }
  .m-section-top { grid-template-columns: 1fr; gap: 1.3rem; }
  .modern-site .m-lead { font-size: .98rem; }
  .m-filters { margin: 1.6rem 0 1.3rem; gap: .4rem; }
  .m-filters button { padding: .4rem .75rem; font-size: .77rem; }
  .m-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem .65rem; }
  .m-product-image { aspect-ratio: 1; }
  .m-product-copy { padding: .8rem; }
  .m-product-copy h3 { font-size: .96rem; min-height: 3.8em; }
  .modern-site .m-product-price { font-size: .88rem; }
  .m-product summary { font-size: .75rem; }
  .m-product details p { font-size: .83rem; }
  .m-product-inquiry { font-size: .8rem; }
  .m-show-products { width: 100%; font-size: .87rem; margin-top: 1.7rem; padding-inline: .7rem; }
  .m-scene-origin { padding-block: 60px; }
  .m-origin-grid { grid-template-columns: 1fr; gap: 2rem; }
  .m-origin-panel { padding: 1.4rem; }
  .m-origin-panel > p { font-size: .98rem; }
  .m-since { margin-top: 1.3rem; }
  .m-kitchen { padding-block: 50px; }
  .m-uses { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 2rem; }
  .m-uses article { display: grid; grid-template-columns: 2rem 1fr; gap: .35rem .65rem; padding-top: 1rem; }
  .m-uses h3 { margin: 0; font-size: 1.2rem; }
  .m-use-number { padding-top: .3rem; }
  .m-uses p { grid-column: 2; margin-top: 0; font-size: .92rem; }
  .m-quality, .m-faq { padding-block: 55px; }
  .m-quality-grid, .m-faq-grid { grid-template-columns: 1fr; gap: 2rem; }
  .m-reports img { height: 145px; }
  .m-reports { gap: .5rem; }
  .m-reports button { padding: .45rem; }
  .m-faq-list summary { font-size: .98rem; padding-block: 1rem; }
  .m-contact { padding-block: 60px; }
  .m-button { padding: 1rem; font-size: .9rem; }
  .m-footer .m-wrap { gap: .7rem 1.1rem; }
  .m-footer .m-footer-brand { flex-basis: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  .m-scene-background { transform: none !important; will-change: auto; }
  .m-product-image img, .m-button { transition: none; }
}
/* Product selection and WhatsApp order basket */
.topic-scroll-nav { bottom: 108px; z-index: 980; }
@media (max-width:700px) { .topic-scroll-nav { right: 16px; bottom: 88px; } }
.m-add-cart { display:flex; width:100%; align-items:center; justify-content:space-between; gap:.4rem; padding:.7rem .9rem; margin-top:.3rem; background:#294732; color:#f0f1df; border:0; border-radius:3px; font:inherit; font-size:.84rem; cursor:pointer; }
.m-add-cart:hover { background:#3a5d3d; }
.m-add-cart span { font-size:1.3rem; line-height:1; }
.m-variant-label { display:flex; align-items:center; justify-content:space-between; gap:.5rem; font-size:.8rem; margin-bottom:.7rem; }
.m-variant { font:inherit; background:#e9e3d3; border:1px solid #a6b197; color:#243c2d; padding:.3rem .5rem; min-width:80px; max-width:100%; }
.m-cart-launcher { position:fixed; right:25px; bottom:25px; z-index:990; display:flex; align-items:center; gap:.65rem; padding:.95rem 1.2rem; font:inherit; font-size:.95rem; font-weight:700; background:#d8e29d; color:#173321; border:1px solid #a8bd74; border-radius:99px; cursor:pointer; box-shadow:0 8px 30px #11261c44; }
.m-cart-badge { display:grid; place-items:center; min-width:25px; height:25px; border-radius:50%; background:#213d2e; color:#f1f0df; font-size:.8rem; }
.m-cart-launcher[hidden], .m-cart-dialog[hidden], .m-cart-overlay[hidden], .m-cart-send[hidden] { display:none; }
.m-cart-overlay { position:fixed; inset:0; z-index:10040; background:#0b1d16a8; backdrop-filter:blur(4px); }
.m-cart-dialog { position:fixed; z-index:10041; right:0; top:0; width:min(480px,100%); height:100dvh; display:flex; flex-direction:column; background:#e9e3d3; color:#213d2e; box-shadow:-15px 0 60px #0003; padding:1.5rem; font-size:16px; }
.m-cart-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-bottom:1.5rem; border-bottom:1px solid #b3bea1; }
.m-cart-heading h2 { font:400 2rem/1.1 Georgia,serif; letter-spacing:-.04em; margin:0; }
.m-cart-close { border:0; background:transparent; color:inherit; width:38px; height:38px; font-size:2rem; cursor:pointer; }
.m-cart-items { overflow-y:auto; flex:1; min-height:0; padding-block:.6rem; }
.m-cart-empty { padding:2rem 0; font-size:1rem; line-height:1.65; }
.m-cart-item { display:grid; grid-template-columns:62px 1fr auto; gap:.75rem; padding:1.2rem 0; border-bottom:1px solid #bcc4ab; align-items:start; }
.m-cart-item img { width:62px; height:70px; object-fit:cover; border-radius:4px; }
.m-cart-item h3 { font:600 .98rem/1.35 Outfit,sans-serif; margin:0 0 .3rem; }
.m-cart-item p { font-size:.8rem; margin:0; }
.m-cart-item > strong { font-size:.85rem; white-space:nowrap; }
.m-cart-quantity { display:flex; align-items:center; gap:.5rem; margin-top:.65rem; }
.m-cart-quantity button { border:1px solid #9bab85; background:transparent; color:inherit; min-width:30px; height:30px; font:inherit; cursor:pointer; }
.m-cart-quantity .m-cart-remove { margin-left:auto; border:0; font-size:.75rem; min-width:0; text-decoration:underline; }
.m-cart-oil { background:#d8ddc3; color:#213d2e; border:1px solid #acb995; padding:.8rem; margin:.7rem 0; font:inherit; font-size:.9rem; cursor:pointer; }
.m-cart-customer[hidden] { display:none; }
.m-cart-customer { display:grid; gap:.65rem; padding:.9rem 0 1rem; border-top:1px solid #aebc98; }
.m-cart-customer h3 { margin:0; font:600 1rem/1.3 Outfit,sans-serif; }
.m-cart-customer .m-cart-required { margin:-.35rem 0 0; font-size:.74rem; color:#506149; }
.m-cart-customer label { display:grid; gap:.25rem; font-size:.75rem; font-weight:600; }
.m-cart-customer input { width:100%; min-width:0; padding:.62rem .7rem; border:1px solid #9bab85; border-radius:3px; background:#f7f3e8; color:#213d2e; font:inherit; font-size:.88rem; }
.m-cart-customer input:user-invalid { border-color:#9b2f2f; box-shadow:0 0 0 1px #9b2f2f; }
.m-cart-customer-row { display:grid; grid-template-columns:minmax(110px,.7fr) 1.3fr; gap:.65rem; }
.m-cart-form-error { min-height:1.1em; margin:0; color:#8a2525; font-size:.74rem; line-height:1.35; }
.m-cart-bottom { border-top:1px solid #aebc98; padding-top:1rem; }
.m-cart-summary { display:grid; gap:.45rem; }
.m-cart-summary > div { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; font-size:.84rem; }
.m-cart-summary > div strong { white-space:nowrap; }
.m-cart-shipping { color:#506149; }
.m-cart-total { margin-top:.2rem; padding-top:.6rem; border-top:1px solid #b8c1aa; font-size:1rem !important; }
.m-cart-total strong { font-size:1.3rem; }
.m-cart-bottom p { font-size:.78rem; line-height:1.6; margin:.65rem 0 1rem; color:#506149; }
.m-cart-send { display:block; text-align:center; padding:1rem .7rem; background:#284b32; color:#f2f1df; text-decoration:none; font-weight:700; font-size:.95rem; }
.m-cart-send[aria-disabled="true"] { opacity:.45; cursor:not-allowed; }
.m-cart-open { overflow:hidden; }
.m-cart-status { position:fixed; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.m-cart-dialog :is(button,a,input):focus-visible, .m-cart-launcher:focus-visible { outline:3px solid #ad842b; outline-offset:3px; }
@keyframes basket-pulse { 50% { transform:scale(1.07); } }
.m-cart-pulse { animation:basket-pulse .35s ease; }
@media(max-width:700px) {
 .m-add-cart { font-size:.75rem; padding:.65rem; }
 .m-cart-launcher { right:15px; bottom:15px; padding:.75rem 1rem; }
 .m-cart-dialog { padding:1.1rem; }
 .m-cart-item { grid-template-columns:50px 1fr auto; gap:.6rem; }
 .m-cart-item img { width:50px; height:62px; }
 .m-cart-item > strong { font-size:.75rem; }
 .m-cart-customer { gap:.5rem; padding:.75rem 0; }
 .m-cart-customer input { padding:.55rem .6rem; }
 .m-cart-quantity { gap:.3rem; }
 .m-cart-quantity .m-cart-remove { font-size:.68rem; }
 .m-cart-dialog { padding-bottom:max(1.1rem,env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) { .m-cart-pulse { animation:none; } }
