/* Pulsante di apertura */
.arredi-cta {
margin: 12px 0 4px;
}

.arredi-open {
background: #8f724c !important;
color: #fff !important;
cursor: pointer;
font-size: 13px;
padding: 10px 22px;
}

.arredi-open:hover,
.arredi-open:focus {
background: #222 !important;
color: #fff !important;
}

body.arredi-modal-open {
overflow: hidden !important;
}

/* Modale indipendente da Bootstrap JS */
.arredi-modal[hidden] {
display: none !important;
}

.arredi-modal {
align-items: center;
bottom: 0;
display: flex;
justify-content: center;
left: 0;
padding: 25px;
position: fixed;
right: 0;
top: 0;
z-index: 2147483000;
}

.arredi-modal-backdrop {
background: rgba(0, 0, 0, .78);
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0;
}

.arredi-modal-dialog {
background: #fff;
box-shadow: 0 18px 70px rgba(0, 0, 0, .45);
color: #222;
max-height: calc(100vh - 50px);
max-width: 880px;
overflow-x: hidden;
overflow-y: auto;
padding: 30px;
position: relative;
text-align: left;
width: 100%;
z-index: 2;
}

.arredi-modal-close {
background: transparent;
border: 0;
color: #222;
font-family: Arial, sans-serif;
font-size: 34px;
height: 42px;
line-height: 36px;
padding: 0;
position: absolute;
right: 12px;
top: 9px;
width: 42px;
z-index: 3;
}

.arredi-modal-close:hover,
.arredi-modal-close:focus {
color: #8f724c;
outline: 1px dotted #8f724c;
}

.arredi-modal-header {
align-items: flex-start;
border-bottom: 1px solid #ddd;
display: flex;
margin: -30px -30px 25px;
padding: 27px 55px 22px 30px;
}

.arredi-modal-icon {
background: #8f724c;
color: #fff;
display: inline-block;
flex: 0 0 48px;
font-size: 20px;
height: 48px;
line-height: 48px;
margin-right: 15px;
text-align: center;
}

.arredi-modal-header h2 {
color: #222;
font-size: 24px;
line-height: 1.2;
margin: 0 0 5px;
text-transform: uppercase;
}

.arredi-modal-header p {
color: #555;
line-height: 1.45;
margin: 0;
}

.arredi-catalogo-box {
align-items: center;
background: #f1ece6;
border-left: 4px solid #8f724c;
display: flex;
gap: 20px;
justify-content: space-between;
margin: 0 0 22px;
padding: 14px 16px;
}

.arredi-catalogo-box strong,
.arredi-catalogo-box span {display: block;}

.arredi-catalogo-box strong {
color: #222;
margin-bottom: 3px;
}

.arredi-catalogo-box span {
color: #555;
font-size: 13px;
line-height: 1.35;
}

.arredi-catalogo-link,
.arredi-catalogo-link:visited,
.arredi-catalogo-link:focus {
background: #8f724c;
color: #fff;
flex: 0 0 auto;
font-size: 12px;
padding: 10px 14px;
text-transform: uppercase;
}

.arredi-catalogo-link:hover {
background: #222;
color: #fff;
}

.arredi-form-grid {
display: grid;
gap: 15px;
grid-template-columns: 1fr 1fr;
}

.arredi-field-full {grid-column: 1 / -1;}

.arredi-field {margin-bottom: 15px;}

.arredi-field label,
.arredi-products legend {
color: #222;
display: block;
font-weight: bold;
margin-bottom: 6px;
}

.arredi-field label span,
.arredi-products legend span,
.arredi-privacy em {color: #9e2525;}

.arredi-field input,
.arredi-field textarea {
background: #f7f7f7;
border: 1px solid #ccc;
border-radius: 0;
color: #222;
display: block;
font-family: Arial, sans-serif;
font-size: 15px;
padding: 10px 11px;
width: 100%;
}

.arredi-field input:focus,
.arredi-field textarea:focus {
background: #fff;
border-color: #8f724c;
box-shadow: 0 0 0 2px rgba(143, 114, 76, .18);
outline: none;
}


.arredi-field textarea {resize:none}

.arredi-products {
border: 1px solid #ddd;
margin: 3px 0 18px;
padding: 15px;
}

.arredi-products legend {
border: 0;
font-size: 14px;
margin: 0;
padding: 0 7px;
width: auto;
}

.arredi-help {
color: #666;
font-size: 12px;
margin: 0 0 10px;
}

.arredi-check-grid {
display: grid;
gap: 8px 12px;
grid-template-columns: 1fr 1fr;
margin-top: 8px;
transition: opacity .2s ease;
}

.arredi-products.richiesta-generale-attiva .arredi-check-grid {opacity: .42;}
.arredi-products.richiesta-generale-attiva .arredi-check-grid .arredi-check {cursor: not-allowed;}

.arredi-check,
.arredi-privacy {
align-items: flex-start;
color: #333;
cursor: pointer;
display: flex;
font-weight: normal;
line-height: 1.35;
margin: 0;
}

.arredi-check input,
.arredi-privacy input {
flex: 0 0 auto;
margin: 3px 8px 0 0;
}

.arredi-check-general {
background: #f1ece6;
border-left: 3px solid #8f724c;
font-weight: bold;
padding: 9px 10px;
}

.arredi-field-error {
color: #9e2525;
font-size: 13px;
font-weight: bold;
margin-top: 8px;
}

.arredi-products.has-error,
.arredi-privacy.has-error {
border-color: #b32727;
box-shadow: 0 0 0 1px #b32727;
}

.arredi-captcha-row {
align-items: flex-end;
display: flex;
gap: 18px;
margin: 3px 0 15px;
}

.arredi-captcha-row .arredi-field {
margin-bottom: 0;
max-width: 210px;
}

.arredi-captcha-image img {
background: #eee;
display: block;
height: 43px;
object-fit: contain;
width: 100%;
}

.arredi-captcha-refresh {
background: transparent;
border: 0;
color: #8f724c;
font-size: 12px;
padding: 5px 0 0;
text-decoration: underline;
}

.arredi-privacy {
border: 1px solid transparent;
font-size: 12px;
padding: 8px;
}

.arredi-privacy a {
color: #8f724c;
text-decoration: underline;
}

.arredi-response {margin-top: 12px;}

.arredi-response .alert {margin: 0 0 15px;}

.arredi-actions {
align-items: center;
border-top: 1px solid #ddd;
display: flex;
justify-content: space-between;
margin-top: 8px;
padding-top: 18px;
}

.arredi-actions small {color: #666;}

.arredi-actions .btn-1[disabled] {
cursor: wait;
opacity: .65;
}

.arredi-honeypot {
height: 1px;
left: -10000px;
overflow: hidden;
position: absolute;
top: auto;
width: 1px;
}

@media (max-width: 650px) {
.arredi-modal {
align-items: stretch;
padding: 0;
}

.arredi-modal-dialog {
max-height: 100vh;
padding: 20px;
}

.arredi-modal-header {
margin: -20px -20px 20px;
padding: 22px 48px 18px 20px;
}

.arredi-modal-icon {display: none;}

.arredi-modal-header h2 {font-size: 20px;}

.arredi-catalogo-box {
align-items: stretch;
flex-direction: column;
gap: 12px;
}

.arredi-catalogo-link {text-align: center;}

.arredi-form-grid,
.arredi-check-grid {grid-template-columns: 1fr;}

.arredi-captcha-row {
align-items: flex-start;
flex-direction: column;
gap: 8px;
}

.arredi-captcha-row .arredi-field {
max-width: none;
width: 100%;
}

.arredi-actions {
align-items: stretch;
flex-direction: column;
gap: 12px;
}

.arredi-actions .btn-1 {width: 100%;}
}
