/* ML CRM — formulário público de marcação */
.mlcrm-booking { --mlcrm-wine: #7f3447; --mlcrm-ink: #2d242a; --mlcrm-muted: #706870; --mlcrm-line: #eadfe2; --mlcrm-blush: #fbf4f5; max-width: 760px; margin: 28px auto; padding: clamp(20px, 4vw, 42px); border: 1px solid var(--mlcrm-line); border-radius: 20px; background: #fff; box-shadow: 0 14px 44px rgba(78, 42, 56, .09); color: var(--mlcrm-ink); }
.mlcrm-booking *, .mlcrm-booking *::before, .mlcrm-booking *::after { box-sizing: border-box; }
.mlcrm-booking__header { padding-bottom: 22px; border-bottom: 1px solid var(--mlcrm-line); }
.mlcrm-booking__eyebrow { margin: 0 0 7px; color: var(--mlcrm-wine); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.mlcrm-booking h2 { margin: 0; color: var(--mlcrm-ink); font-size: clamp(25px, 4.5vw, 34px); letter-spacing: -.035em; line-height: 1.1; }
.mlcrm-booking__header > p:last-child { max-width: 610px; margin: 10px 0 0; color: var(--mlcrm-muted); font-size: 14px; line-height: 1.6; }
.mlcrm-booking__form { display: grid; gap: 24px; padding-top: 24px; }
.mlcrm-step { display: grid; grid-template-columns: 31px minmax(0, 1fr); align-items: start; gap: 11px; }
.mlcrm-step > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #f3e4e8; color: var(--mlcrm-wine); font-size: 12px; font-weight: 800; }
.mlcrm-step h3 { margin: 3px 0 14px; color: var(--mlcrm-ink); font-size: 16px; letter-spacing: -.015em; }
.mlcrm-field { display: grid; gap: 6px; margin-bottom: 13px; }
.mlcrm-field label { color: #514951; font-size: 13px; font-weight: 700; }
.mlcrm-field input, .mlcrm-field select, .mlcrm-field textarea { width: 100%; min-height: 45px; margin: 0; padding: 10px 12px; border: 1px solid #d9ced2; border-radius: 10px; background: #fff; box-shadow: none; color: var(--mlcrm-ink); font-family: inherit; font-size: 15px; line-height: 1.35; }
.mlcrm-field textarea { min-height: 90px; resize: vertical; }
.mlcrm-field input:focus, .mlcrm-field select:focus, .mlcrm-field textarea:focus { border-color: var(--mlcrm-wine); box-shadow: 0 0 0 2px rgba(127,52,71,.14); outline: 0; }
.mlcrm-field select:disabled { cursor: not-allowed; background: #f5f2f3; color: #938a90; }
.mlcrm-grid { display: grid; grid-template-columns: 1fr; gap: 0 13px; }
.mlcrm-choice { display: flex; flex-wrap: wrap; gap: 8px; }
.mlcrm-choice label { display: inline-flex; min-height: 39px; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid #ded4d8; border-radius: 9px; color: #514951; font-size: 13px; font-weight: 600; }
.mlcrm-choice input { width: 15px; height: 15px; margin: 0; accent-color: var(--mlcrm-wine); }
.mlcrm-consent { display: flex; align-items: flex-start; gap: 9px; color: var(--mlcrm-muted); font-size: 12px; line-height: 1.5; }
.mlcrm-consent input { width: 16px; height: 16px; flex: 0 0 auto; margin: 2px 0 0; accent-color: var(--mlcrm-wine); }
.mlcrm-booking__footer { display: grid; gap: 10px; padding: 20px 0 0 42px; border-top: 1px solid var(--mlcrm-line); }
.mlcrm-button { min-height: 48px; border: 1px solid var(--mlcrm-wine); border-radius: 11px; background: var(--mlcrm-wine); color: #fff; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 800; transition: background .2s ease, transform .2s ease; }
.mlcrm-button:hover { background: #63273a; transform: translateY(-1px); }
.mlcrm-button:disabled { cursor: wait; opacity: .65; transform: none; }
.mlcrm-fineprint { margin: 0; color: #91878e; font-size: 11px; line-height: 1.45; text-align: center; }
.mlcrm-form-status { display: none; margin: 0; padding: 10px 12px; border-radius: 9px; font-size: 13px; line-height: 1.4; }
.mlcrm-form-status.is-visible { display: block; }
.mlcrm-form-status.is-success { border: 1px solid #bde1d3; background: #edf9f4; color: #20644e; }
.mlcrm-form-status.is-error { border: 1px solid #f0c3c9; background: #fff1f2; color: #8b3140; }
.mlcrm-form-status.is-loading { border: 1px solid #e6d9bb; background: #fff9e9; color: #7a5f25; }
.mlcrm-hp { position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (min-width: 560px) {
  .mlcrm-grid { grid-template-columns: 1fr 1fr; gap: 0 14px; }
}

@media (max-width: 460px) {
  .mlcrm-booking { margin: 18px 0; padding: 19px 16px; border-radius: 15px; }
  .mlcrm-step { grid-template-columns: 26px minmax(0, 1fr); gap: 9px; }
  .mlcrm-step > span { width: 25px; height: 25px; font-size: 11px; }
  .mlcrm-booking__footer { padding-left: 0; }
  .mlcrm-booking h2 { font-size: 25px; }
}

/* Popup global — Casa de Vinho & Argila, restrito ao CRM para não interferir com o tema. */
html.mlcrm-popup-open { overflow: hidden; }
.mlcrm-global { --mlcrm-g-wine:#581927; --mlcrm-g-ink:#381b22; --mlcrm-g-muted:#705d61; --mlcrm-g-gold:#c7a064; position:fixed; z-index:999999; inset:0; display:grid; place-items:end center; padding:0; font-family:Manrope,Arial,sans-serif; }
.mlcrm-global[hidden] { display:none; }
.mlcrm-global *, .mlcrm-global *::before, .mlcrm-global *::after { box-sizing:border-box; }
.mlcrm-global__backdrop { position:absolute; inset:0; background:rgba(43,15,22,.64); backdrop-filter:blur(8px); }
.mlcrm-global__panel { position:relative; width:100%; max-height:92svh; overflow:auto; padding:30px 19px 22px; border-radius:22px 22px 0 0; background:#fffaf4; box-shadow:0 -20px 70px rgba(20,5,10,.28); color:var(--mlcrm-g-ink); outline:0; }
.mlcrm-global__close { position:absolute; top:14px; right:14px; display:grid; width:36px; height:36px; place-items:center; border:1px solid rgba(88,25,39,.16); border-radius:50%; background:#fff; color:var(--mlcrm-g-wine); cursor:pointer; font-size:25px; line-height:1; }
.mlcrm-global__head { padding:4px 40px 18px 0; border-bottom:1px solid rgba(88,25,39,.12); }
.mlcrm-global__head p { margin:0 0 8px; color:#a56561; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.mlcrm-global__head h2 { margin:0; font-family:Georgia,serif; font-size:32px; font-weight:400; letter-spacing:-.045em; line-height:1; }
.mlcrm-global__head span { display:block; margin-top:10px; color:var(--mlcrm-g-muted); font-size:12px; line-height:1.55; }
.mlcrm-global__form { display:grid; gap:18px; padding-top:19px; }
.mlcrm-global__step { display:grid; grid-template-columns:31px minmax(0,1fr); gap:10px; }
.mlcrm-global__step > b { display:grid; width:27px; height:27px; place-items:center; border:1px solid rgba(199,160,100,.65); border-radius:50%; color:#a36d27; font-family:Georgia,serif; font-size:11px; }
.mlcrm-global label, .mlcrm-global legend { display:block; margin:0 0 6px; color:#4f4043; font-size:12px; font-weight:800; }
.mlcrm-global input:not([type=radio]):not([type=checkbox]), .mlcrm-global select, .mlcrm-global textarea { width:100%; min-height:43px; padding:10px; border:1px solid rgba(88,25,39,.2); border-radius:8px; background:#fff; color:var(--mlcrm-g-ink); font:inherit; font-size:14px; }
.mlcrm-global textarea { min-height:66px; resize:vertical; }
.mlcrm-global input:focus, .mlcrm-global select:focus, .mlcrm-global textarea:focus { border-color:var(--mlcrm-g-wine); box-shadow:0 0 0 2px rgba(88,25,39,.13); outline:0; }
.mlcrm-global fieldset { margin:13px 0 0; padding:0; border:0; }
.mlcrm-global__choices { display:flex; flex-wrap:wrap; gap:7px; }
.mlcrm-global__choices label { display:inline-flex; min-height:34px; align-items:center; gap:6px; margin:0; padding:7px 9px; border:1px solid rgba(88,25,39,.16); border-radius:7px; background:#fff; font-size:11px; font-weight:700; }
.mlcrm-global input[type=radio], .mlcrm-global input[type=checkbox] { width:15px; height:15px; margin:0; accent-color:var(--mlcrm-g-wine); }
.mlcrm-global__sub { margin-top:13px !important; }
.mlcrm-global__contact { display:grid; gap:6px; }
.mlcrm-global__contact label:not(.mlcrm-global__consent) { margin-top:3px; }
.mlcrm-global__consent { display:flex !important; align-items:flex-start; gap:8px; margin:7px 0 0 !important; color:var(--mlcrm-g-muted) !important; font-size:11px !important; font-weight:600 !important; line-height:1.45; }
.mlcrm-global__submit { min-height:49px; border:0; border-radius:7px; background:var(--mlcrm-g-wine); color:#fff; cursor:pointer; font:inherit; font-size:13px; font-weight:800; }
.mlcrm-global__submit span { margin-left:8px; font-size:17px; }
.mlcrm-global__submit:disabled { opacity:.65; cursor:wait; }
.mlcrm-global__fine { margin:0; color:#8e7e81; font-size:10px; line-height:1.5; text-align:center; }
@media (min-width:680px) { .mlcrm-global { place-items:center; padding:24px; } .mlcrm-global__panel { width:min(100%,650px); max-height:88svh; padding:36px 38px 30px; border-radius:19px; } .mlcrm-global__head h2 { font-size:37px; } }

/* Ponte WooCommerce: preserva o checkout, mas torna a preferência de reserva inequívoca. */
.mlcrm-wc-booking { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:18px 0 0; padding:14px 15px; border:1px solid rgba(88,25,39,.14); border-radius:12px; background:#fff9f2; color:#5b4247; font-size:13px; line-height:1.45; }
.mlcrm-wc-booking button { min-height:40px; border:1px solid #581927; border-radius:8px; background:transparent; color:#581927; cursor:pointer; font:inherit; font-size:12px; font-weight:800; transition:background .2s ease,color .2s ease,transform .2s ease; }
.mlcrm-wc-booking button:hover { background:#581927; color:#fff; transform:translateY(-1px); }
.mlcrm-wc-booking button b { margin-left:6px; font-size:16px; }
