@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;
}

/*-----------------------------------------
|            REGISTRATION FIELD            |
 -----------------------------------------*/
 
#registration {
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	padding: .2em 1em;
	border: 1px solid gray;
	border-radius: .3rem;
	max-width: calc(12ch + 2em);
	box-sizing: border-box;
	font-family: Roboto, Helvetica, Arial, sans-serif;
} 

#registration::placeHolder {
	color: #aaa;
}

#registration.SIV {
	--siv-left-f: url('data:image/svg+xml;utf8,<svg width="266.24" height="679.59" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g transform="translate(56.603 -543.12)"><rect x="-56.603" y="543.12" width="266.24" height="679.59" fill="%231374ba" stroke-linecap="round" stroke-linejoin="round" stroke-width="4.8912" style="paint-order:stroke fill markers"/><text transform="scale(.97536 1.0253)" x="32.391201" y="1011.5217" fill="%23ffffff" font-family="Generic" font-size="144.35px" letter-spacing="-.72175px" stroke-linecap="round" stroke-linejoin="round" stroke-width="9.6233" style="line-height:5;paint-order:stroke fill markers" xml:space="preserve"><tspan x="32.391201" y="1011.5217" font-family="Arial" font-weight="bold" stroke-width="9.6233">F</tspan></text><g transform="matrix(.35142 0 0 .35142 76.519 804.78)" fill="%23fc0"><path id="s" d="m0 162.5 22.042 67.838-57.707-41.926h71.329l-57.707 41.926z"/><use y="-400" xlink:href="%23s"/><g id="s5"><use transform="translate(-100 -26.795)" xlink:href="%23s"/><use transform="translate(-173.21 -100)" xlink:href="%23s"/><use transform="translate(-200,-200)" xlink:href="%23s"/><use transform="translate(-173.21 -300)" xlink:href="%23s"/><use transform="translate(-100 -373.21)" xlink:href="%23s"/></g><use transform="scale(-1,1)" xlink:href="%23s5"/></g></g></svg>');
	--siv-right-dept: url('data:image/svg+xml;utf8,<svg width="266.24" height="679.59" version="1.1" xmlns="http://www.w3.org/2000/svg"><g transform="translate(56.602 -543.12)"><rect x="-56.602" y="543.12" width="266.24" height="679.59" fill="%231374ba" stroke-linecap="round" stroke-linejoin="round" stroke-width="4.8912" style="paint-order:stroke fill markers"/><g transform="matrix(.8143 0 0 .8143 13.082 163.66)"><path transform="scale(.92065 1.0862)" d="m-9.0798 953.87 23.758-2.6204q0.87346 7.2497 4.542 10.744t9.6954 3.4938q7.5991 0 12.927-6.9877 5.3281-6.9877 6.813-28.999-9.2587 10.744-23.147 10.744-15.111 0-26.117-11.617-10.918-11.704-10.918-30.396 0-19.478 11.53-31.357 11.617-11.966 29.523-11.966 19.478 0 31.969 15.111 12.491 15.024 12.491 49.525 0 35.113-13.015 50.661-13.015 15.548-33.89 15.548-15.024 0-24.282-7.9485-9.2587-8.0358-11.879-23.933zm55.552-53.631q0-11.879-5.5028-18.43-5.4155-6.551-12.578-6.551-6.813 0-11.355 5.4155-4.4547 5.3281-4.4547 17.557 0 12.403 4.8914 18.255 4.8914 5.7648 12.228 5.7648 7.075 0 11.879-5.5902 4.8914-5.5902 4.8914-16.421zm43.935 53.631 23.758-2.6204q0.87346 7.2497 4.542 10.744t9.6954 3.4938q7.5991 0 12.927-6.9877 5.3281-6.9877 6.813-28.999-9.2587 10.744-23.147 10.744-15.111 0-26.117-11.617-10.918-11.704-10.918-30.396 0-19.478 11.53-31.357 11.617-11.966 29.523-11.966 19.478 0 31.969 15.111 12.49 15.024 12.49 49.525 0 35.113-13.015 50.661t-33.89 15.548q-15.024 0-24.282-7.9485-9.2587-8.0358-11.879-23.933zm55.552-53.631q0-11.879-5.5028-18.43-5.4155-6.551-12.578-6.551-6.813 0-11.355 5.4155-4.4546 5.3281-4.4546 17.557 0 12.403 4.8914 18.255 4.8914 5.7648 12.228 5.7648 7.075 0 11.879-5.5902 4.8914-5.5902 4.8914-16.421z" fill="%23fff" aria-label="99"/><path d="m57.047 695.83-54.427 24.286v50l45.855 64.286-45.855 48.512 61.255-1.3e-4 67.457-44.226-14.286-57.143 49.371-30-80.8-22.857z" fill="%23d9a917" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" style="paint-order:stroke fill markers"/></g></g></svg>');
	background-image: var(--siv-left-f), var(--siv-right-dept);
	background-position: left center, right center;
	background-size: 1em auto, 1em auto;
	background-repeat: no-repeat, no-repeat;
}

#registration.FNI {
	padding: .2em;
	background-image: none;
	background-color: #121212;
	color: #ddd;
	letter-spacing: .06em;
}

/*-----------------------------------------
|               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;
		text-align: center;
	}
	.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;
		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;
	}
}