/* AQ Smart Forms demo: scoped styles so Elementor/WordPress themes remain untouched. */
.aqsf-open-button{appearance:none;background:#273a14;color:#fff;border:0;border-radius:5px;padding:13px 29px;font:600 15px Arial,sans-serif;cursor:pointer}
.aqsf-open-button:hover{background:#3b5128}
body.aqsf-locked{overflow:hidden!important}
.aqsf-overlay[hidden],.aqsf-screen[hidden],.aqsf-modal [hidden]{display:none!important}
.aqsf-overlay,.aqsf-overlay *{box-sizing:border-box}
.aqsf-overlay{position:fixed;inset:0;z-index:2147483600;background:rgba(11,20,18,.77);display:flex;align-items:center;justify-content:center;padding:10px;isolation:isolate}
.aqsf-modal{--aq-olive:#293d16;--aq-forest:#304536;--aq-ink:#2e362d;--aq-muted:#747b70;--aq-border:#dcddd0;position:relative;display:flex;flex-direction:column;width:min(620px,calc(100vw - 40px));height:90vh;height:90dvh;max-height:1000px;overflow:hidden;color:var(--aq-ink);background-color:#f0e7d7;background-image:radial-gradient(circle at 13% 22%,rgba(255,255,255,.4),transparent 45%),repeating-linear-gradient(31deg,rgba(72,54,36,.018) 0px,rgba(72,54,36,.018) 1px,transparent 1px,transparent 4px);box-shadow:0 14px 65px rgba(0,0,0,.32);font-family:Arial,Helvetica,sans-serif;line-height:1.35;border:1px solid rgba(255,255,255,.5)}
.aqsf-header{padding:22px 35px 0;flex:0 0 auto;text-align:center}
.aqsf-eyebrow{font-size:10px;letter-spacing:4px;color:#817963;text-transform:uppercase}
.aqsf-header h2{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.15;color:#44382b;margin:8px 38px 20px}
.aqsf-close{position:absolute;right:16px;top:15px;z-index:4;display:flex;align-items:center;justify-content:center;gap:4px;background:#fff;border:1px solid #e1dfd3;color:#69949a;width:36px;height:36px;padding:0;border-radius:4px;cursor:pointer;font-size:32px;line-height:1}
.aqsf-close:hover{background:#e9f0ed;color:#294c52}
.aqsf-close-word{display:none;font-size:12px}
.aqsf-steps{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0 5px;color:var(--aq-muted)}
.aqsf-step{display:flex;align-items:center;flex-direction:column;flex:0 0 76px;font-family:Georgia,serif;font-size:15px;font-weight:600;gap:7px;color:#8d8d7f}
.aqsf-step-active{color:#293d16}
.aqsf-number{display:grid;place-items:center;border:1px solid #9a977e;border-radius:50%;background:#fff;width:31px;height:31px;font-family:Georgia,serif;font-size:17px;color:#647164;font-weight:400}
.aqsf-step-active .aqsf-number{background:#293d16;color:#fff;border-color:#293d16}
.aqsf-line{display:block;flex:1;margin-top:15px;background:#c4cabd;height:1px;min-width:15px}
.aqsf-form-scroll{overflow:auto;overscroll-behavior:contain;padding:12px 38px 29px;flex:1;scrollbar-color:#9b9a8a transparent;scrollbar-width:thin}
.aqsf-diagram{position:relative;max-width:349px;width:100%;margin:1px auto 13px;aspect-ratio:349/200;isolation:isolate}
.aqsf-diagram img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.aqsf-diagram span{position:absolute;z-index:2;color:#a92323;font:600 clamp(10px,1.6vw,11px) Georgia,serif;text-shadow:0 1px 1px rgba(255,255,255,.9)}
.aqsf-diagram-length{top:1%;left:50%;transform:translateX(-50%);background:rgba(235,235,232,.86);padding:0 2px;white-space:nowrap}
.aqsf-diagram-width{right:1%;top:50%;transform:translate(15%,-50%) rotate(90deg);white-space:nowrap;background:rgba(235,235,232,.78);padding:0 1px}
.aqsf-diagram-left{left:1%;top:34%;background:rgba(236,236,232,.9)}
.aqsf-diagram-right{left:1%;bottom:20%;background:rgba(236,236,232,.9)}
.aqsf-form{max-width:520px;margin:auto}
.aqsf-field{display:flex;flex-direction:column;gap:5px;margin:0 0 12px;font-size:13px;color:#343e2f;font-weight:600}
.aqsf-field b,.aqsf-product b{color:#b74d38}
.aqsf-field input,.aqsf-field select,.aqsf-field textarea{width:100%;max-width:100%;min-width:0;background:rgba(255,255,255,.97);border:1px solid #b5b9b1;color:#263c31;border-radius:5px;min-height:43px;padding:11px 13px;font:400 15px/1.3 Arial,Helvetica,sans-serif;outline:none;box-shadow:0 1px 0 rgba(0,0,0,.02);margin:0}
.aqsf-field input:focus,.aqsf-field textarea:focus,.aqsf-field select:focus{border-color:#65785c;box-shadow:0 0 0 3px rgba(87,121,89,.16)}
.aqsf-field input::placeholder{color:#a0a69b}
.aqsf-field textarea{resize:vertical;min-height:95px}
.aqsf-duo{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.aqsf-product{padding:0;margin:0 0 15px;border:0;min-width:0}
.aqsf-product legend{font-size:13px;font-weight:600;padding:0;margin:0 0 7px}
.aqsf-radio{display:inline-flex;align-items:center;gap:7px;margin:0 15px 5px 0;font-size:14px;color:#344335;cursor:pointer}
.aqsf-radio input,.aqsf-consent input{width:17px;height:17px;flex:0 0 17px;accent-color:#293d16;margin:0}
.aqsf-cover-label{font-size:13px;border-left:3px solid #7f9667;color:#415341;padding:8px 12px;background:rgba(255,255,255,.42);margin-bottom:14px}
.aqsf-primary,.aqsf-secondary{width:100%;min-height:45px;border-radius:5px;border:1px solid #293d16;background:#293d16;color:#fff;font:600 15px Arial,Helvetica,sans-serif;padding:10px 14px;cursor:pointer;transition:background-color .15s ease}
.aqsf-primary:hover{background:#3a5426}
.aqsf-primary:disabled{opacity:.57;cursor:wait}
.aqsf-secondary{background:transparent;color:#293d16}
.aqsf-secondary:hover{background:rgba(45,66,37,.06)}
.aqsf-buttons{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin:8px 0 0}
.aqsf-consent{display:flex;align-items:flex-start;gap:10px;margin:13px 0 0;font-size:12px;line-height:1.45;cursor:pointer}
.aqsf-privacy-link{font-size:12px;padding:3px 0 8px 27px}
.aqsf-privacy-link a{color:#304e3e;text-decoration:underline}
.aqsf-draft{font-size:11px;text-align:center;color:#626e63;margin:16px 0 0}
.aqsf-feedback{margin:12px 0;padding:9px 12px;border-radius:4px;background:#fff0ed;border:1px solid #da9a92;color:#a12e25;font-size:13px}
.aqsf-honeypot{position:absolute!important;left:-10000px!important;top:-10000px!important;opacity:0!important}
.aqsf-success{text-align:center;padding:40px 15px}
.aqsf-success-icon{display:grid;place-items:center;margin:0 auto 15px;border-radius:50%;width:56px;height:56px;background:#e0eadc;color:#30492f;font-size:25px}
.aqsf-success h3{font:normal 25px Georgia,serif;margin:0 0 10px;color:#304536}
.aqsf-success p{font-size:14px;color:#556557;margin:0 auto 20px;max-width:330px}
.aqsf-success button{max-width:230px}
.aqsf-overlay button:focus-visible,.aqsf-overlay a:focus-visible{outline:3px solid #cf8731;outline-offset:2px}
@media(max-width:767px){
 .aqsf-overlay{padding:0;align-items:stretch}
 .aqsf-modal{width:100vw;height:100vh;height:100dvh;max-height:none;border:0}
 .aqsf-header{padding:20px 22px 0}
 .aqsf-header h2{font-size:26px;margin:7px 32px 14px}
 .aqsf-eyebrow{letter-spacing:3px}
 .aqsf-close{right:12px;top:11px;width:40px;height:40px}
 .aqsf-form-scroll{padding:10px 18px calc(21px + env(safe-area-inset-bottom))}
 .aqsf-duo{grid-template-columns:1fr;gap:0}
 .aqsf-diagram{max-width:310px}
 .aqsf-radio{display:flex}
 .aqsf-steps{margin:0}
}
@media(min-width:768px) and (max-width:1199px){
 .aqsf-overlay{padding:0}
 .aqsf-modal{width:80vw;height:100vh;height:100dvh;max-height:none}
 .aqsf-close{display:flex}
 .aqsf-form-scroll{padding-bottom:35px}
}
@media(max-height:700px) and (min-width:1200px){.aqsf-header{padding-top:15px}.aqsf-header h2{margin-bottom:10px}.aqsf-form-scroll{padding-top:7px}.aqsf-diagram{max-width:280px}}
@media(prefers-reduced-motion:reduce){.aqsf-primary,.aqsf-secondary{transition:none}}
/* Aquacrom 2026 web design system. Configurable through admin, no external font loading. */
.aqsf-open-button{background:var(--aqsf-olive,#687156);border-radius:2px;font-family:var(--aqsf-body,Montserrat,Arial,sans-serif);letter-spacing:.035em}
.aqsf-open-button:hover{background:var(--aqsf-footer,#243E35)}
.aqsf-overlay{background:rgba(35,39,42,.7)}
.aqsf-modal{width:min(var(--aqsf-width,620px),calc(100vw - 40px));background:var(--aqsf-bg,#FBFAF6);background-image:none;border:1px solid var(--aqsf-border,#D7D2C8);font-family:var(--aqsf-body,Montserrat,Arial,sans-serif);--aq-ink:var(--aqsf-text,#23272A);--aq-muted:#656862;--aq-border:var(--aqsf-border,#D7D2C8)}
.aqsf-header{padding-top:23px}
.aqsf-eyebrow{color:var(--aqsf-cta,#8B866A);font:600 10px/1.4 var(--aqsf-body,Montserrat,sans-serif);letter-spacing:.32em}
.aqsf-header h2{font:400 34px/1.12 var(--aqsf-heading,'Frank Ruhl Libre',Georgia,serif);color:var(--aqsf-text,#23272A)}
.aqsf-step{font:500 13px/1.4 var(--aqsf-body,Montserrat,Arial,sans-serif);color:#70746d;letter-spacing:.015em}
.aqsf-step-active{color:var(--aqsf-text,#23272A)}
.aqsf-number{font:500 14px/1 var(--aqsf-body,Montserrat,Arial,sans-serif);border-color:var(--aqsf-champagne,#B8A06E);color:var(--aqsf-text,#23272A)}
.aqsf-step-active .aqsf-number{background:var(--aqsf-olive,#687156);border-color:var(--aqsf-olive,#687156)}
.aqsf-line{background:var(--aqsf-border,#D7D2C8)}
.aqsf-close{color:var(--aqsf-text,#23272A);border:1px solid var(--aqsf-border,#D7D2C8);border-radius:2px}
.aqsf-close:hover{background:var(--aqsf-paper,#F6F2EA);color:var(--aqsf-text,#23272A)}
.aqsf-form-scroll{scrollbar-color:var(--aqsf-cta,#8B866A) transparent}
.aqsf-field{font:500 13px/1.4 var(--aqsf-body,Montserrat,Arial,sans-serif);color:var(--aqsf-text,#23272A)}
.aqsf-field input,.aqsf-field select,.aqsf-field textarea{font:400 14px/1.4 var(--aqsf-body,Montserrat,Arial,sans-serif);border-radius:2px;border:1px solid var(--aqsf-border,#D7D2C8);background:#FFF;color:var(--aqsf-text,#23272A)}
.aqsf-field input:focus,.aqsf-field select:focus,.aqsf-field textarea:focus{border-color:var(--aqsf-olive,#687156);box-shadow:0 0 0 3px rgba(139,134,106,.13)}
.aqsf-duo.aqsf-single{grid-template-columns:1fr}
.aqsf-product legend,.aqsf-radio,.aqsf-consent{font-family:var(--aqsf-body,Montserrat,Arial,sans-serif)}
.aqsf-radio input,.aqsf-consent input{accent-color:var(--aqsf-olive,#687156)}
.aqsf-cover-label{border-left-color:var(--aqsf-cta,#8B866A);background:var(--aqsf-paper,#F6F2EA);color:var(--aqsf-text,#23272A)}
.aqsf-primary,.aqsf-secondary{border-radius:2px;font:600 13px/1.3 var(--aqsf-body,Montserrat,Arial,sans-serif);letter-spacing:.025em}
.aqsf-primary{background:var(--aqsf-olive,#687156);border-color:var(--aqsf-olive,#687156)}
.aqsf-primary:hover{background:var(--aqsf-footer,#243E35)}
.aqsf-secondary{color:var(--aqsf-olive,#687156);border-color:var(--aqsf-olive,#687156)}
.aqsf-secondary:hover{background:var(--aqsf-paper,#F6F2EA)}
.aqsf-privacy-link a{color:var(--aqsf-text,#23272A)}
.aqsf-draft{font-family:var(--aqsf-body,Montserrat,Arial,sans-serif)}
.aqsf-success h3{font:400 29px/1.2 var(--aqsf-heading,'Frank Ruhl Libre',Georgia,serif);color:var(--aqsf-text,#23272A)}
@media(max-width:767px){.aqsf-modal{width:100vw;height:100vh;height:100dvh}.aqsf-header h2{font-size:29px}}
@media(min-width:768px) and (max-width:1199px){.aqsf-modal{width:80vw;height:100vh;height:100dvh}}

/* v1.1: optional header/footer imagery and three optional footer links. */
.aqsf-header-art{margin:22px auto 3px;max-width:calc(100% - 40px)}
.aqsf-header-art img{display:block;margin:auto;width:auto;max-width:100%;height:auto;max-height:108px;object-fit:contain}
.aqsf-header:has(.aqsf-header-art){padding-top:1px}
.aqsf-brand-footer{margin:23px 0 0;border-top:1px solid var(--aqsf-border,#D7D2C8);padding:17px 0 0;text-align:center}
.aqsf-footer-art img{display:block;width:auto;max-width:100%;max-height:125px;height:auto;margin:0 auto 12px;object-fit:contain}
.aqsf-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:520px;margin:0 auto 8px}
.aqsf-footer-links a{flex:1 1 130px;max-width:230px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;background:var(--aqsf-footer,#243E35);color:#fff!important;text-decoration:none!important;font:600 12px/1.4 var(--aqsf-body,Montserrat,Arial,sans-serif);border:1px solid transparent;letter-spacing:.012em}
.aqsf-footer-links a:hover{background:var(--aqsf-olive,#687156);color:#fff!important}
@media(max-width:767px){.aqsf-header-art{margin:42px auto 3px;max-width:calc(100% - 20px)}.aqsf-header-art img{max-height:76px}.aqsf-footer-links a{flex-basis:132px}}


/* AQ Smart Forms 1.1.1: branded buttons. Scoped high-specificity rules
   intentionally override generic Elementor/theme default pink buttons.
   All colors still inherit the editable Aquacrom palette in Appearance. */
.aqsf-overlay .aqsf-modal button.aqsf-primary,
.aqsf-overlay .aqsf-modal button.aqsf-secondary,
.aqsf-overlay .aqsf-modal button.aqsf-close {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}

/* Next / Send / success buttons: dark Aquacrom green and a lighter hover. */
.aqsf-overlay .aqsf-modal button.aqsf-primary {
  background-color: var(--aqsf-footer, #243E35) !important;
  border: 1px solid var(--aqsf-footer, #243E35) !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
  font: 600 13px/1.4 var(--aqsf-body, Montserrat, Arial, sans-serif) !important;
  letter-spacing: .025em;
  padding: 12px 20px;
  min-height: 46px;
}
.aqsf-overlay .aqsf-modal button.aqsf-primary:hover:not(:disabled) {
  /* color-mix brightens admin-selected green; olive is the older-browser fallback */
  background-color: var(--aqsf-olive, #687156) !important;
  border-color: var(--aqsf-olive, #687156) !important;
  background-color: color-mix(in srgb, var(--aqsf-footer, #243E35) 78%, white) !important;
  border-color: color-mix(in srgb, var(--aqsf-footer, #243E35) 78%, white) !important;
  color: #FFFFFF !important;
}
.aqsf-overlay .aqsf-modal button.aqsf-primary:active:not(:disabled) {
  transform: translateY(1px);
}

/* Close: solid circular control, including icon color (Elementor-safe). */
.aqsf-overlay .aqsf-modal button.aqsf-close {
  background-color: var(--aqsf-olive, #687156) !important;
  border: 1px solid var(--aqsf-olive, #687156) !important;
  border-radius: 50% !important;
  width: 42px;
  height: 42px;
  padding: 0 !important;
  color: #FFFFFF !important;
  font: 400 31px/1 Arial, sans-serif !important;
}
.aqsf-overlay .aqsf-modal button.aqsf-close span {
  color: #FFFFFF !important;
}
.aqsf-overlay .aqsf-modal button.aqsf-close:hover {
  background-color: var(--aqsf-cta, #8B866A) !important;
  border-color: var(--aqsf-cta, #8B866A) !important;
  background-color: color-mix(in srgb, var(--aqsf-olive, #687156) 79%, white) !important;
  border-color: color-mix(in srgb, var(--aqsf-olive, #687156) 79%, white) !important;
  color: #FFFFFF !important;
}

/* Back: matching outlined pill instead of any theme-provided pink fill. */
.aqsf-overlay .aqsf-modal button.aqsf-secondary {
  background-color: transparent !important;
  border: 1px solid var(--aqsf-olive, #687156) !important;
  color: var(--aqsf-footer, #243E35) !important;
  border-radius: 999px !important;
  font: 600 13px/1.4 var(--aqsf-body, Montserrat, Arial, sans-serif) !important;
  padding: 12px 20px;
  min-height: 46px;
}
.aqsf-overlay .aqsf-modal button.aqsf-secondary:hover:not(:disabled) {
  background-color: var(--aqsf-paper, #F6F2EA) !important;
  border-color: var(--aqsf-footer, #243E35) !important;
  color: var(--aqsf-footer, #243E35) !important;
}
.aqsf-overlay .aqsf-modal button.aqsf-primary:focus-visible,
.aqsf-overlay .aqsf-modal button.aqsf-secondary:focus-visible,
.aqsf-overlay .aqsf-modal button.aqsf-close:focus-visible {
  outline: 3px solid var(--aqsf-champagne, #B8A06E) !important;
  outline-offset: 3px !important;
}
@media (prefers-reduced-motion: reduce) {
  .aqsf-overlay .aqsf-modal button.aqsf-primary,
  .aqsf-overlay .aqsf-modal button.aqsf-secondary,
  .aqsf-overlay .aqsf-modal button.aqsf-close { transition: none !important; }
}
