@charset "UTF-8";

:root {
	
	/* colors */
	--bank-green: rgb(0, 102, 117); /* Special color for Credit Agricole logos */

	/* address colors */
	--form-outer-border: var(--blue-gray-light);
	--current-address-background: var(--blue-gray-base);
	--address-border: var(--gray-medium);
	--address-alt-text: var(--gray-light);
	--red-bool-false: var(--red-base);
	--edit-color: var(--blue-dark1);

	/* cart elements */
	--cart-title-background: var(--orange-base);
	--cart-title-background-lighter: var(--blue-washed);
	--cart-title-text: var(--white);
	--cart-title-test-mode-background: var(--red-base);
	--cart-title-test-mode-text: var(--white);
	--cart-header-row-background: var(--blue-washed-light);
	--cart-header-row-text:  var(--blue-dark3);
	--cart-table-inner-border: var(--gray-medium);
	--cart-table-inner-border-narrow-screen: var(--gray-light); 
	--cart-table-head-inner-border: var(--gray-light);
	--cart-table-information-text: var(--gray-medium);
	--destock-color: var(--red);
	
	/* Other elements */
	--cart-disclaimer-color: var(--orange-dark);
	--cart-disclaimer-background: var(--gray-light2);
	
	/* cart-distributor-box */
	--dist-logo-border: var(--gray-medium);
    --dist-logo-bg: var(--white);

	/* urls */
	--cart-topper-big-cart-icon: url('../img/topper-cart-big-white.svg');
	--search-help-catalog-bg-img: url('../img/home-search-bg.jpg');
	--search-help-catalog-i-info: url('../img/i-information.svg');
}

/* cart box when in cart view */

.cart header .cart-box .contents {
    border-bottom-color: var(--contact-box-selected-border);
}

/* common rules for .cart */

.cart #brands-disclaimer {
    padding: .5em 1.5em;
}

.cart main > .container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 1200px;
	min-height: 400px;
	margin: 0 auto;
	padding: 0 1em 1em 1em;
	box-sizing: border-box;
}

.cart .warnings {
	margin: 1em 0;
	font-size: 14px;
	color: var(--cart-disclaimer-color);
	background-color: var(--cart-disclaimer-background);
	padding: 1em;
	text-align: center;
}

.cart .warnings > *:first-child {
	margin-top: 0;
}

.cart .warnings > * {
	margin-top: 1em;
}

.cart .warnings p {
	margin: 0;
	padding: 0;
}

.cart .warnings em {
	text-decoration: underline;
	font-style: inherit;
}

.cart .warnings h5 {
	margin: 0;
	padding: 0;
	font-size: inherit;
	text-transform: uppercase;
	text-decoration: underline;
	text-align: center;
}

.cart .threat:not(.mild) {
	color: var(--red-dark);
}

.cart .warnings .no-booking {
	font-weight: bold;
}

/*-----------------------------------------
|              CONTENT-TOPPER              |
 -----------------------------------------*/

.content-topper .topper-cart-icon {
	background-image: var(--cart-topper-big-cart-icon);
}

/*-----------------------------------------
|               SEARCH-HELP                |
 -----------------------------------------*/

.cart .search-help {
	width: 100%;
	min-height: 400px;
	
    background-image: var(--search-help-catalog-bg-img);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    box-sizing: border-box;
    
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
}

.search-help #i-information {
	width: 128px;
	height: 128px;
    margin: 0 3em 2em 0;
	
	background: var(--transparent);
	background-image: var(--search-help-catalog-i-info);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
    
    box-sizing: border-box;
}

.search-help #empty-element-for-centering {
	width: 128px;
	height: 128px;
    margin: 2em 0 0 3em;
}

.search-help .search-help-contents {
	padding: .5em;
	max-width: 650px;
}

.search-help .search-help-contents h2,
.search-help .search-help-contents h3,
.search-help .search-help-contents #opening-hours {
	color: var(--blue-dark2);
}

.search-help .search-help-contents h2,
.search-help .search-help-contents h3 {
	font-weight: blod;
	font-weight: 800;
	margin: .5em 0;
}

.search-help .search-help-contents h2 {
	font-size: 48px;
}

.search-help .search-help-contents h3 {
	font-size: 32px;
	margin-bottom: .2em;
	white-space: pre-wrap;
}

.search-help .search-help-contents h3 > span {
	white-space: nowrap;
}

.search-help .search-help-contents #opening-hours {
	font-size: 24px;
	margin: .2em 0;
}

.search-help .search-help-contents .search-help-separator {
	height: 4px;
	width: 100%;
	background-color: var(--white);
	border-radius: .5em;
}

.search-help a {
	color: inherit;
	text-decoration: none;
}


/*-----------------------------------------
|                   CARTS                  |
 -----------------------------------------*/

.carts {
	display: flex;
	flex-direction: column;
}

.cart-table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}

.cart-table .cart-header th {
	font-weight: bold;
	font-size: 18px;
	text-align: left;
	margin: 0;
	padding: .2em 1em;
	background-color: var(--cart-title-background);
	color: var(--cart-title-text);
	border-radius: .2em;
}

.cart-table .cart-header.test-mode th {
	color: var(--cart-title-test-mode-text);
	background-color: var(--cart-title-test-mode-background);
	text-align: center;
}

.cart-table .cart-header.fees th,
.cart-table .cart-header.order-fees th {
	background-color: var(--cart-title-background-lighter);
}

.cart-table thead tr {
	background: var(--cart-header-row-background);
	color: var(--cart-header-row-text);
}

.cart-table thead th {
	padding: .2em .5em;
	border: 1px solid var(--cart-table-head-inner-border);
}

.cart-table td {
	padding: .5em;
	vertical-align: baseline;
}

.cart-table .select {
	text-align: center;
	width: 1px;
}

.cart-table .code {
	text-align: center;
	white-space: nowrap;
}

.cart-table .name {
	text-align: left;
}

.cart-table .destock {
	text-align: right;
	font-weight: normal;
	font-style: italic;
	font-size: 13px;
	color: var(--destock-color);
	display: none; /* FIXME: sentence to be improved, and this line should be removed */ 
}

.cart-table .quantity {
	text-align: center;
	white-space: nowrap;
	width: 1px;
}

.cart-table .quantity input {
	width: 3em;
}

.cart-table .price {
	text-align: right;
	white-space: nowrap;
	width: 1px;
}

.cart-table tbody td {
	border-bottom: 1px solid var(--cart-table-inner-border);
}

.cart-table tfoot td {
	padding: 0 .5em;
}

.cart-table .subtotal,
.cart-table .total,
.cart-table .vat {
	text-align: right;
	font-weight: bold;
}

.cart-table .subtotal {
	font-weight: normal;
	font-style: italic;
	color: var(--gray-medium);
}

.cart-table .subtotal td {
	border-bottom: none;
}

.cart-table .subtotal .expiry {
	text-align: left;
	font-size: 13px;
	color: var(--body-text-color);
	font-style: normal;
}

.cart-table .subtotal .expiry .warning {
	padding-left: 1.5em;
	background: url('../img/icon-warning-orange.svg') no-repeat center left;
	background-size: 1em;
}

.cart-table tfoot .total.initial {
	font-size: 18px;
}

.cart-table .total.initial td {
	padding: .5em;
	border-top: 2px solid var(--cart-table-inner-border);
}

.cart-table .vat {
	font-size: 14px;	
}

.cart-table .total.final,
.cart-table .vat {
	font-style: italic;
}

.cart-table .fyi {
	color: var(--cart-table-information-text);
	font-size: .8em;
}


.inputs.narrow-screen .inputs-wrapper,
.cart-table .inputs-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	font-size: 13px;
}

.inputs.narrow-screen .inputs-wrapper {
	flex-flow: row wrap;
	justify-content: space-around;
	margin-top: 1em;
}

.inputs.narrow-screen .inputs-wrapper > button {
	white-space: nowrap;
}

.inputs.narrow-screen .inputs-wrapper > *,
.cart-table .inputs-wrapper > * {
	margin: .2em 0;
}

/* .inputs.narrow-screen .inputs-wrapper button.delete,
.cart-table button.delete {
	background: var(--gray-medium);
	color: var(--white);
	font-weight: normal;
} */


/* .inputs.narrow-screen .inputs-wrapper button.delete .icon,
.cart-table button.delete .icon {
	background-image: url('../img/icon-remove-item.svg');
	margin-bottom: -.1em;
} */

/* .inputs.narrow-screen .inputs-wrapper button.recalc,
.cart-table button.recalc {
	background: var(--orange-washed);
} */

/* .inputs.narrow-screen .inputs-wrapper button.recalc .icon,
.cart-table button.recalc .icon {
	background-image: url('../img/icon-calculate.svg');
	margin-bottom: -.1em;
} */

.cart.display .narrow-screen.inputs-row {
	width: 100%;
}
.cart.display .narrow-screen.inputs-row .inputs-narrow-screen {
	width: 100%;
}

/* On normal screens, the following elements are not visible */

.cart-table thead.narrow-screen,
.cart-table tbody td.code.narrow-screen,
.cart-table tbody tr.narrow-screen {
	display: none;
}

.cart-table tbody .narrow-screen td {
	padding-bottom: .2em;
}

.cart.display div.inputs.narrow-screen {
	display: none;
}

.cart .submits .submit-info {
	margin-right: 0.5em;
}

/* cart distributor box */

.cart .dist-infos-container {
	width: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
	align-items: flex-start;
	
	margin: 1em 0 0.5em 0;
    border: 2px solid var(--dist-logo-border);
	padding: .25em;
	
	box-sizing: border-box;
}

.cart .dist-infos-container .info {
	align-self: stretch;
	flex-grow: 1; 
	display: flex;
	flex-flow: column nowrap;
	justify-content: space-between;
}

.cart .dist-infos-container .distLogo {
    width: 10em;
    height: 6em;
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: border-box;
    border: 2px solid var(--dist-logo-border);
    background-color: var(--dist-logo-bg);
    padding: 4px;
    margin-right: 2em;
}

.cart .dist-infos-container .logo {
    display: block;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.cart .dist-infos-container .name-city {
	margin-bottom: .5em;
}

.cart .dist-infos-container .name-city h4 {
	font-size: 18px;
	margin: .25em 0 4px 0;
}
.cart .dist-infos-container .name-city p {
	margin: 0;
	margin-top: .5em;
}

.cart .dist-infos-container .website p {
	margin: 0;
	margin-right: .5em;

}
.cart .dist-infos-container .website .website-link {
	text-decoration: none;
}

.cart .dist-infos-container .action {
	display: flex;
	flex-flow: row;
	justify-content: flex-end;
}

.cart .dist-infos-container .action > a {
	color: var(--blue-dark2);
	font-size: 13px;
	margin: 2px;
}

/* cart KAP NEGOCES distributor box */

.cart .dist-infos-container#kap-negoces {
	justify-content: flex-end;
	align-items: stretch;
    min-height: 125px;
    background: url(../img/content-topper-bg.jpg) no-repeat center left;
    background-color: var(--background-blue-gray);
    background-size: auto 100%;
	color: var(--white);
}

.logo-link  {
	display: flex;
	flex-flow: column nowrap;
	justify-content: space-between;
	align-items: stretch;
}

.cart .dist-infos-container#kap-negoces .distLogo {
	border: none;
	margin-right: 0;
	width: 8em;
	height: 4em;
	background-color: var(--transparent);
}

.cart .dist-infos-container#kap-negoces .info {
	margin-left: 10em;
	justify-content: space-around; 
}

.cart .dist-infos-container#kap-negoces .title,
.cart .dist-infos-container#kap-negoces p {
	text-align: center;
	margin: 0;
}

.cart .dist-infos-container#kap-negoces .title {
	font-size: 18px;
	margin: .25em 0 4px 0;
}

.cart .order-controls .submits#kap-is-chosen {
    flex-flow: row wrap;
}

.cart .dist-infos-container#kap-negoces .action > a {
	color: var(--blue-dark3);
	margin: 0;
	margin: 2px;
	margin-top: 4px;
	width: 100%;
	text-align: center;
}

.cart .order-controls #new-account-link,
.cart .order-controls #login-link {
	margin: 4px;
}

.cart .order-controls #login-link {
	margin-right: 0;
}

/* override unconnected */
.cart .unconnected h4 {
    border: 2px solid var(--orange-light);
    background: var(--white);
    color: var(--blue-dark1);
}

/* delivery choice */


.cart .field.carrier {
	display: flex;
	padding: 1em;
	flex-direction: row;
	justify-content: space-around;
}

.cart .field.carrier .choice input {
	visibility: hidden;
}

.cart .field.carrier .choice input + label:hover,
.cart .field.carrier .choice input + label:focus,
.cart .field.carrier .choice input:focus + label {
	box-shadow: 0 0 5px var(--white);
	filter: brightness(110%);
}

.cart .field.carrier .choice input:checked + label {
	box-shadow: 0 0 5px var(--orange-base);
	background-color: var(--blue-washed);
	color: var(--gray-light);
	filter: none;
}

.cart .field.carrier .choice {
	width: 28em;
	max-width: 90%;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

.cart .field.carrier .choice > label {
	min-height: 8em;
}

.cart .field.carrier label {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: var(--blue-washed-light);
	padding: 1em 1em 1em 7.5em;
	font-size: 13px;
	background-repeat: no-repeat;
	background-position: center left 1em;
	background-size: 6em;
	box-sizing: border-box;
	margin-left: .25em;
    margin-right: .25em;
}

.cart .delivery label {
	background-image: url('../img/icon-delivery.svg');
}

.cart .removal label {
	background-image: url('../img/icon-removal.svg');
}

.cart .field.carrier .title {
	text-align: center;
	font-weight: bold;
	font-size: 14px;
}

.cart .field.carrier .carrier,
.cart .field.carrier .fees {
	padding-left: 2em;
}

.cart .field.carrier .fees {
	font-weight: bold;
	font-style: italic;	
}

/*
.cart main h3 {
	margin-top: 2em;
}
 ↓ Replaced by ↓ */
.cart main .order-controls h3 {
	margin-top: 2em;
}

.user .pay-controls .submits,
.cart .submits {
	margin: 1.5em 3px .2em 3px;
	display: flex;
	flex-direction: row;
	gap: .5em;
	justify-content: flex-end;
	align-items: center;
	text-align: right;
}

.cart .submits.pro-order {
	flex-direction: column;
	gap: .3em;
}

.cart .submits .conds {
	flex-grow: 1;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
}

.cart .submits.pro-order .conds {
	flex-direction: column;
	gap: .3em;
	align-items: flex-start;
	text-align: initial;
}

.pro-order .conds p {
	margin: 0;
}

.pro-order .acceptance {
	display: flex;
	flex-direction: row;
	gap: .2em;
	align-items: baseline;
	max-width: 960px;
}

.cart .submits .conds #accept-public-salesterms {
	margin-right: 1em;
}

.pro-order .conds + input[type="submit"] {
	align-self: flex-end;
}

/*-----------------------------------------
|               CART RECOVER               |
 -----------------------------------------*/

.recover form {
	padding: 1em .5em;
	margin: 2em 0;
	
    color: var(--black);
    background-color: var(--white);
    border: 2px solid var(--gray-medium);
}

.recover form h3 {
	margin: 0;
	padding: 0 0 .5em 0;
	text-align: center;
	border-bottom: 1px solid var(--gray-medium);
	text-transform: uppercase;
}

.recover form p {
	margin: 0;
	padding: 0;
}

.recover form .info {
	font-style: italic;
	color: var(--gray-medium);
	text-align: center;
}

.recover form table {
	margin-top: 1em;
}

.recover .question {
	margin: 1em;
}

.recover .submits {
	font-size: 13px;
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	align-content: flex-end;
}

.recover .submits #no {
	background: var(--gray-medium);
	color: var(--white);
	font-weight: normal;
}

/*-----------------------------------------
|              ORDER CONFIRM               |
 -----------------------------------------*/

.order-confirm h3 {
	margin: 1em 0;
	padding: .2em 1em;
	border-radius: .2em;
	text-align: center;
	background: var(--blue-washed);
	color: var(--white);
}

.order.confirm .order-confirm h3 {
	background: var(--form-messages-success-background);
	color: var(--form-messages-success-color);
}

.order-confirm .order-code {
	padding-left: 1em;
	font-weight: bold;
}

.order-confirm .warning {
	color: var(--orange-dark);
	font-style: italic;
}

.order-confirm .cash {
	text-align: center;
}

.order-confirm .submits {
	text-align: right;
}

.order.confirm .button.back {
	background: var(--gray-medium);
	color: var(--white);
	font-weight: normal;
}

.order-carrier {
	display: flex;
	align-items: center;
	justify-content: center;
}

.order-carrier p {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: var(--blue-washed);
	color: var(--gray-light);
	padding: 1em 1em 1em 7.5em;
	background-repeat: no-repeat;
	background-position: center left 1em;
	background-size: 6em;
	box-sizing: border-box;
	min-height: 6em;
	max-width: 24em;
	text-align: center;
	font-weight: bold;
}

.order-carrier .carrier {
	background-image: url('../img/icon-delivery.svg');
}

.order-carrier .removal {
	background-image: url('../img/icon-removal.svg');
}

/*-----------------------------------------
|               PAYMENT FORM               |
 -----------------------------------------*/

.pay-controls {
    margin: 1em 0;
    padding: .5em;
    border: 2px solid var(--gray-medium);
    border-radius: 2px;
    background-color: var(--white);
    box-sizing: border-box;
}

#order-pay-form {
	position: relative;
	overflow: hidden;
}

#order-pay-form-align {
	position: absolute;
	top: -5em;
}

.pay-controls h3 {
	margin: 0;
	text-align: center;
	color: var(--blue-dark2);
}

.pay-controls h4 {
	margin: 1em 0 .5em 0;
	padding: .2em 1em;
	border-radius: .2em;
	background-color: var(--blue-washed-light);
	color: var(--white);
}

.pay-controls .amount {
	font-size: 22px;
	font-weight: bold;
	color: var(--orange-base);
	margin-left: 1em;
}

.pay-controls .banner {
	margin: 1em 1em 0 1em;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	padding: .2em 1em .2em 2em;
	border-radius: .2em .2em 0 0;
	background: var(--bank-green);
	border: 1px solid var(--bank-green);
	border-bottom-width: 0;
	color: var(--white);
}

.pay-controls .banner h5 {
	margin: 0;
	font-size: inherit;
	flex-grow: 1;
}

.pay-controls .logos {
	flex-grow: 1;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
}

.pay-controls .logos img {
	min-height: 2em;
	max-height: 3.5em;
	margin-left: .5em;
	max-width: 100%;
}

.pay-controls .logos .logo-3DS {
	max-height: 3em;
}

.pay-controls .pay-buttons {
	margin: 0 1em;
	border: 1px solid var(--bank-green);
	border-top-width: 0;
	padding: 1em;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
}

.pay-buttons .pay-button {
	margin: .15em .25em;
	padding: 4px;
	width: 108px;
	height: 83px;
	background-position: center;
	background-size: 100px 75px;
	background-repeat: no-repeat;
	border-radius: 12px;
	cursor: pointer;
}

.pay-buttons .pay-button:focus,
.pay-buttons .pay-button:hover {
	box-shadow: 0 0 10px var(--orange-light);
}

.pay-button .card-logo {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	background-color: var(--white);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border-radius: 10px;
}

.pay-buttons .pay-button-cb .card-logo {
	background-image: url('../img/payment/card-cb.png');
}

.pay-buttons .pay-button-visa .card-logo {
	background-image: url('../img/payment/card-visa.png');
}

.pay-buttons .pay-button-mc .card-logo {
	background-image: url('../img/payment/card-mc.png');
}

.pay-buttons .pay-button-ecard .card-logo {
	background-image: url('../img/payment/card-ecard.png');
}

.pay-buttons .pay-button-maestro .card-logo {
	background-image: url('../img/payment/card-maestro.png');
}

.pay-buttons .pay-button-amex .card-logo {
	background-image: url('../img/payment/card-amex.png');
}

.pay-controls .transfer .info {
	margin: 0 0 .5em 0;
	padding: 0 1em;
	text-align: center;
	font-style: italic;
}

.pay-controls .transfer p {
	margin: 0;
}

.pay-controls .transfer .submits {
	margin: 0;
	padding: 0 1em;
}

.pay-controls .messages {
	margin: .5em 0 0 0;
}

.messages .refused {
	background: var(--form-messages-error-background);
	color: var(--form-messages-error-color);
}

.messages .cancelled {
	background: var(--form-messages-warning-background);
	color: var(--form-messages-warning-color);
}

.messages .wait {
	background: var(--form-messages-info-background);
	color: var(--form-messages-info-color);
	font-weight: normal;
	font-style: italic;
}

/* Bank transfer details */

#transfer-details > * {
	margin: 0 0 .5em 1em;
}

.dl.pdf {
	float: right;
	font-weight: bold;
	text-decoration: none;
	padding: .3em .3em .3em 1.6em;
	background: url('../img/icons/pdf.png');
	background-repeat: no-repeat;
	background-position: .2em 40%;
	background-size: 1em 1em;
	border-radius: .3em;
}

.dl.pdf:hover, .dl.pdf:focus {
	text-decoration: underline;
}

#transfer-details .warning {
	color: var(--orange-dark);
	font-style: italic;
}

#transfer-details .warning em {
	font-style: inherit;
	text-decoration: underline;
}

#transfer-details .disclaimer li {
	text-align: left;
}

#transfer-details h5 {
	margin: .5em 0 0 0;
	padding: 0;
	font-size: 1.1em;
}

#transfer-details .fieldname {
	font-weight: bold;
}

#transfer-details .owner {
	color: inherit;
}

.rib p {
	margin: 0 0 0 1em;
}

.rib table, .iban table {
	margin: 0 auto;
	text-align: center;
	border-collapse: collapse;
}

.rib thead {
	font-size: .7em;
	font-weight: bold;
}

.rib tbody td, .iban tbody td {
	border: 1px solid black;
	border-top-color: transparent;
	padding: 0 .5em;
}

.order-paid .backlink {
	text-align: right;
}

/*-----------------------------------------
|           ONLINE PAYMENT FORM            |
 -----------------------------------------*/

#payment-form {
    margin: 1em 0;
    padding: .5em;
    border: 2px solid var(--gray-medium);
    border-radius: 2px;
    background-color: var(--white);
    box-sizing: border-box;
}

#payment-form h3 {
	margin: 0;
	text-align: center;
	color: var(--blue-dark2);
}

#payment-form .payment-details {
	font-weight: bold;
	font-style: italic;
}

#payment-form .logos {
	text-align: center;
}

#payment-form .logos img {
	height: 5em;
}

#payment-form .button.back {
	background: var(--gray-medium);
	color: var(--white);
	font-weight: normal;
}

/*-----------------------------------------
|             ADDRESSES-CONTAINER          |
 -----------------------------------------*/
.order.cart.display #addresses-container {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-around;
	
	margin-top: 2.5em;
	padding: 0 1em;
}

.order.cart.display .change-address-container {
	box-sizing: border-box;
	min-width: 27em;
	min-height: 5em;
    border: 2px solid var(--address-border);
	margin-top: .5em;
	margin-left: .25em;
    margin-right: .25em;
	padding: .5em;

	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;

}
.order.cart.display .change-address-container h4 {
	text-align: center;
	margin: 0;
}

.order.cart.display .change-address-container .address-info {
	flex-grow: 1;
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	padding-left: .5em;
}

.order.cart.display .change-address-container .address-info > p {
	font-size: 13px;
	white-space: pre-wrap;
	margin: 0;
}
.order.cart.display .change-address-container .address-info > p.street {
	flex-grow: 1;
}

.change-address-container .change-address-link {
	align-self: flex-end;
	justify-self: flex-end;
	text-align: center;
	color: var(--button-text-color);
	font-size: 13px
}

/*-----------------------------------------
|            DELIVERY-ADDRESSES            |
 -----------------------------------------*/

ul.pro-order-address-choice {
	margin: 0;
	padding: 0;
	
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1em;
	justify-content: center;
}


ul.pro-order-address-choice li {
	list-style-type: none;
	padding: 0;
	
	position: relative;
	width: 17em;
	max-width: 100%;
}

.pro-order-address-choice input[type="radio"] {
	appearance: none;
	position: absolute;
	left: -10px;
	top: -10px;
	visibility: hidden;	
	opacity: 0;
}

.pro-delivery-address {
	--border-color: var(--blue-washed-light);
	
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	
	display: flex;
	flex-direction: column;
	gap: 0;
	
	border: 2px solid var(--border-color);
	
	font-size: .8em;
}

.pro-delivery-address p,
.pro-delivery-address h4 {
	margin: 0;
	padding: 0 1em;
}

.pro-delivery-address h4 {
	background: var(--border-color);
	color: var(--address-alt-text);
	text-align: center;
	
	padding: .2em 1em;
}

.pro-delivery-address .address-info {
	flex-grow: 1;
}

.pro-delivery-address .street {
	white-space: pre-wrap;
}

.pro-delivery-address .company,
.pro-delivery-address .contact.name {
	font-weight: bold;
	font-style: italic;
}

.pro-delivery-address .country,
.pro-delivery-address .phone,
.pro-delivery-address .company + .contact.name {
	display: none;
}

.pro-delivery-address.default .explain {
	flex-grow: 1;
	display: flex;
	align-items: center;
	text-align: center;
	font-style: italic;
	padding: 1.5em 1em;
}

.pro-delivery-address .buttons {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-start;
	align-items: center;
	gap: .5em;
	padding: 0 .2em .2em;
}

.pro-delivery-address .button {
	font-size: 1.2em;
	border-radius: 2px;
	background: transparent;
	border: 1px solid transparent;
	color: var(--button-text-color);
}

.pro-delivery-address .button:focus,
.pro-delivery-address .button:hover {
	border-color: var(--gray-medium);
}

.pro-delivery-address .text {
	display: none;
}

.pro-delivery-address .delete-address {
	color: var(--red-bool-false);
}

*:focus + .pro-delivery-address,
*:hover + .pro-delivery-address,
.pro-delivery-address:hover {
	box-shadow: 0 0 5px var(--white);
	filter: brightness(110%);
}

*:checked + .pro-delivery-address {
	--border-color: var(--blue-washed);
	box-shadow: 0 0 5px var(--orange-base);
}

#pro-addresses-container.removal,
#pro-addresses-container.removal + .submits .delivery-discharge,
#pro-addresses-container.default + .submits .delivery-discharge {
	display: none;
}

.pro-address-controls {
	display: flex;
	justify-content: flex-end;
	gap: .5em;
	padding: .5em 0;
}

.button.create-address {
	background-color: var(--blue-gray-base);
	color: var(--blue-gray-light2);
	display: flex;
	align-items: center;
	gap: .5em;
	max-width: 14em;
	text-align: center;
}

/*-----------------------------------------
|          DELIVERY-ADDRESS-FORM           |
 -----------------------------------------*/

#delivery-address-edit-form .messages {
	margin-bottom: .5em;
}

#delivery-address-edit-form .address-fields {
	display: flex;
	flex-direction: column;
	gap: .5em;
}

#delivery-address-edit-form .field label {
	min-width: 17ch;
}

#delivery-address-edit-form .company-name {
	font-weight: bold;
}

#delivery-address-edit-form .explain {
	margin-top: 0;
	padding-left: 1rem;
	
	font-style: italic;
	color: var(--gray-dark);
}


/*-----------------------------------------
|             ONE-ADDRESS-FORM             |
 -----------------------------------------*/

.edit-address .form-container {
	min-height: 300px;
}

#address-edit-form .street {
    display: flex;
    flex-flow: row nowrap;
}

#address-edit-form #street {
	width: 100%;
	min-height: 2em;
	resize: vertical;
}

/*-----------------------------------------
|               QUESTION-CARD              |
 -----------------------------------------*/

.cart .question-card {
	max-width: 100%;
	width: auto;
	margin: 0 1em;
}


/*-----------------------------------------
|               MEDIA QUERIES              |
 -----------------------------------------*/

@media only screen and (max-device-width: 1140px), screen and (max-width: 1140px) {
	
	.search-help .search-help-contents h2 {
		font-size: 38px;
	}
	
	.search-help .search-help-contents h3 {
		font-size: 26px;
	}
	
	.search-help .search-help-contents #opening-hours {
		font-size: 20px;
	}
	
	.search-help #i-information {
   		margin-right: 2em;
	}
	
	.search-help #empty-element-for-centering {
	    margin-left: 0;
	}
}

@media only screen and (max-device-width: 1024px), screen and (max-width: 1024px) {
	.search-help #empty-element-for-centering {
		display: none;	
	}
}

@media only screen and (max-device-width: 960px), screen and (max-width: 960px) {
	/* .cart .field.carrier .choice, */
	.order.cart.display .change-address-container {
		min-width: 24em;
		max-width: 27em;
	}
}


@media only screen and (max-device-width: 860px), screen and (max-width: 860px) {
	.search-help .search-help-contents {
		max-width: 500px;
	}
}

@media only screen and (max-device-width: 800px), screen and (max-width: 800px) {

	.cart .field.carrier {
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: center;
	}

	.cart .field.carrier .choice {
		flex-direction: column;
		justify-content: center;
		align-self: center;
		box-sizing: border-box;
		margin-bottom: .5em;
	}

	.cart .field.carrier .choice:first-child {
		margin-top: .5em;
	}

	.cart .field.carrier label {
		min-height: 8em;
	}

	.order.cart.display #addresses-container {
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: center;
	}

}

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

	.cart.display .carts {
		margin-bottom: 1em;
	}

	.cart-table thead {
		display: none;
	}
	.cart-table thead.narrow-screen {
		display: table-header-group;
	}

	.cart-table tbody tr .name {
		display: none;
	}
	
	.cart-table tbody tr.narrow-screen .name {
		display: table-cell;
	}
	
	.cart-table tbody tr.narrow-screen {
		display: table-row;
	}

	.cart-table tbody tr .code {
		display: none;
	}
	
	.cart-table tbody tr .code.narrow-screen {
		display: table-cell;
	}

	.cart-table tbody tr td.select {
		display: none;
	}
	.cart-table tbody tr td.select.narrow-screen {
		display: table-cell;
		border-bottom: 1px solid var(--cart-table-inner-border);
	}

	.cart-table tbody .narrow-screen td {
		border-bottom: 1px solid var(--cart-table-inner-border-narrow-screen);
	}

	.cart-table .cart > td {
		padding-top: .2em; 
	}

	.cart-table .cart.narrow-screen > td  {
		padding-top: .5em; 
	}

	.cart .search-help {
		background-position: left 25% center;
	}
	
	.cart .search-help {
		flex-flow: column nowrap;
		justify-content: flex-start;
		min-height: 0;
	}
	
	.search-help #i-information {
		width: 84px;
		height: 84px;
   		margin: 1em 0 0 0;
	}
	
	.search-help .search-help-contents {
		max-width: 450px;
		margin: 0 auto; 
	}
	
	.search-help .search-help-contents h2,
	.search-help .search-help-contents h3,
	.search-help .search-help-contents #opening-hours {
		text-align: center;
	}
	
	.search-help .search-help-contents h2 {
		font-size: 34px;
		margin-top: 0;
	}
	
	.search-help .search-help-contents h3 {
		font-size: 24px;
	}
	
	.search-help .search-help-contents #opening-hours {
		font-size: 18px;
	}
}

@media only screen and (max-device-width: 560px), screen and (max-width: 560px) {

	.recover .submits {
		flex-direction: column;
		align-items: stretch;
		align-content: stretch;
	}

	.recover .submits > input:last-child {
		margin-top: .3em;
	}

	.carts {
		padding: 0;
	}

	.cart main > .container {
		padding: .5em .3em;
	}
}

@media only screen and (max-device-width: 680px), screen and (max-width: 680px) {
	.cart .order-controls .submits {
		flex-flow: column nowrap;
	}
	.cart .order-controls .submits .conds {
		margin-bottom: 1.5em;
	}

}

@media only screen and (max-device-width: 560px), screen and (max-width: 560px) {
	.cart .dist-infos-container#kap-negoces {
		background-image: none;
		flex-flow: row;
		justify-content: flex-start;
	}

	.cart .dist-infos-container#kap-negoces .info {
		margin: 0;
		padding: .25em .5em;
	}
}
@media only screen and (max-device-width: 500px), screen and (max-width: 500px) {
	.cart-table .inputs-wrapper {
		display: none;
	}

	.cart.display div.inputs.narrow-screen {
		display: block;
	}

	.cart .field.carrier {
		padding: 0;
	}

	.cart .dist-infos-container {
		flex-flow: column;
		justify-content: flex-start;
		align-items: stretch;
	}

	.cart .dist-infos-container .distLogo {
		margin-right: 0;
	}
	.cart .dist-infos-container .info {
		margin-top: .5em;
	}
	.cart .dist-infos-container .website {
		margin-bottom: .5em;
	}

	.cart .dist-infos-container .distLogo,
	.cart .dist-infos-container .name-city,
	.cart .dist-infos-container .website {
		align-self: center;
	}
}
@media only screen and (max-device-width: 460px), screen and (max-width: 460px) {
		
	.search-help #i-information {
		width: 56px;
		height: 56px;
	}
	
	.search-help .search-help-contents {
		padding-left: 1em;
		padding-right: 1em; 
	}
	
	.search-help .search-help-contents h2 {
		font-size: 30px;
	}
	
	.search-help .search-help-contents h3 {
		font-size: 22px;
	}
	
	.search-help .search-help-contents #opening-hours {
		font-size: 16px;
	}

	.recover form {
		padding: 1em .2em;
	}

	.recover form .cart-table {
		font-size: 14px;
	}

	.recover form .cart-table tbody tr td.name {
		font-size: 12px;
	}

	.cart-table tr > * {
		padding: .2em;
	}

	.cart-table,
	.cart-table .cart-header th,
	.cart-table tfoot .total.initial {
		font-size: 14px;
	}

	.cart-table td,
	.cart-table tfoot td,
	.cart-table .total.initial td,
	.cart-table .total.initial td.inputs,
	.cart-table tfoot .inputs-wrapper > button[type="submit"] {
		padding: .2em;
	}

	.order.cart.display .change-address-container {
		min-width: 19.5em;
		max-width: 24em;
	}

	.cart .conds label {
		text-align: left;
		white-space: pre-line;
		font-size: 15px;
	}
}

@media only screen and (max-device-width: 320px), screen and (max-width: 320px) {
	.centered-contents h1 {
		font-size: 24px;
	}
	
	.cart .field.carrier label,
	.order-carrier p {
		padding: 7.5em 1em 1em 1em;
		background-position: top 1em center;
	}
	
	.pay-controls .logos {
		flex-shrink: 1;
		justify-content: center;
	}

	.cart .order-controls .submits#kap-is-chosen {
		justify-content: center;
	}
}