/* Auto-extracted inline styles scoped by filename */

.ps-contact__info h3 {
    /* font-size: 20pt; */
    /* font-family: 'LORA'; */
    /* font-family: 'Lora', sans-serif; */
    /* font-size: 27pt; */
    padding: 0 55px;
    font-family: 'Lora', sans-serif;
    font-size: 27pt;
    line-height: 1.45;
    letter-spacing: 5px;
    font-style: italic;
    font-weight: 400;
    text-align: center;
    color: #5b3339;
}

.ps-contact__info p {
    font-family: 'Montserrat';
    font-size: 16pt;
}

/* ===== page.calltoaction.tpl.php ===== */

/* scoped under: .page-calltoaction */

.page-calltoaction.block-call-to-action {
    background: #fbf8f3;
    padding: 140px 20px 130px;
    text-align: center;
}


.page-calltoaction.block-call-to-action h2 {
    font-family: Georgia, serif;
    font-size: 68px;
    font-weight: 400;
    line-height: 1.2;
    color: #5b3339;
    margin-bottom: 60px;
}


.page-calltoaction.block-call-to-action .cta-text {
    max-width: 900px;
    margin: 0 auto 65px;
    font-size: 30px;
    line-height: 1.55;
    color: #6b4a52;
}


.page-calltoaction.block-call-to-action .cta-text p {
    margin-bottom: 0;
}


.page-calltoaction.block-call-to-action .btn-cta {
    display: inline-block;
    min-width: 430px;
    padding: 22px 55px;
    background: #98855b;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 34px;
    text-decoration: none;
    border-radius: 999px;

    transition: .25s;
}


.page-calltoaction.block-call-to-action .btn-cta:hover {
    background: #7d6c47;
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}


@media (max-width: 991px) {


    .page-calltoaction.block-call-to-action {
        padding: 80px 25px;
    }


    .page-calltoaction.block-call-to-action h2 {
        font-size: 42px;
        margin-bottom: 35px;
    }


    .page-calltoaction.block-call-to-action .cta-text {
        font-size: 22px;
        margin-bottom: 40px;
    }


    .page-calltoaction.block-call-to-action .btn-cta {
        min-width: 100%;
        font-size: 26px;
        padding: 18px 25px;
    }


}


/* ===== page.certification.tpl.php ===== */


/* scoped under: .page-certification */
.page-certification.block-certification{
    width:100%;
    background:#fff;
    overflow:hidden;
}

.page-certification.block-certification > .container-fluid > .row{
    min-height:760px;
}

/* ==================================================
   LEFT CONTENT
================================================== */

.page-certification.block-certification .certification-content{
    height:100%;
    min-height:760px;
    padding:90px 7% 55px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
    color:#303030;
}

.page-certification.block-certification h2{
    margin:0 0 55px;
    font-family: 'Lora', sans-serif;
    font-size:36pt;
    line-height:1.15;
    font-weight:400;
    color:#5b3339;
}

.page-certification.block-certification .intro-text{
    width:100%;
    max-width:720px;
    margin:0 auto 55px;
    font-size:22px;
    line-height:1.35;
    color:#252525;
}

.page-certification.block-certification .intro-text p{
    font-family: 'Montserrat', sans-serif;
    font-size:13pt;
}
.page-certification.block-certification .intro-text p:last-child{
    margin-bottom:0;
}

/* ==================================================
   THREE CERTIFICATION ICONS
================================================== */

.page-certification.block-certification .certification-icons{
    width:100%;
    max-width:760px;
    margin:0 auto 55px;
    align-items: center;
}

.page-certification.block-certification .certification-icon{
    width:100%;
    max-width:165px;
    margin:0 auto;
}

.page-certification.block-certification .certification-icon img{
    display:block;
    width:100%;
    height:auto;
    max-height:165px;
    object-fit:contain;
}

/* ==================================================
   BOTTOM TEXT
================================================== */

.page-certification.block-certification .bottom-text{
    width:100%;
    max-width:900px;
    margin:0 auto;
    text-align:left;
    font-size:21px;
    line-height:1.4;
    color:#252525;
}

.page-certification.block-certification .bottom-text p:last-child{
    margin-bottom:0;
}

/* ==================================================
   RIGHT LOGO PANEL
================================================== */

.page-certification.block-certification .certification-banner{
    height:100%;
    min-height:760px;
    padding:70px 55px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#5b3339;
}

.page-certification.block-certification .certification-banner img{
    display:block;
    width:100%;
    height:100%;
    max-width:430px;
    max-height:650px;
    object-fit:contain;
    object-position:center;
}

/* ==================================================
   TABLET
================================================== */

@media(max-width:1199.98px){

    .page-certification.block-certification > .container-fluid > .row{
        min-height:680px;
    }

    .page-certification.block-certification .certification-content{
        min-height:680px;
        padding:70px 45px 50px;
    }

    .page-certification.block-certification h2{
        font-size:44px;
        margin-bottom:45px;
    }

    .page-certification.block-certification .intro-text{
        font-size:20px;
        margin-bottom:45px;
    }

    .page-certification.block-certification .certification-icons{
        margin-bottom:45px;
    }

    .page-certification.block-certification .bottom-text{
        font-size:19px;
    }

    .page-certification.block-certification .certification-banner{
        min-height:680px;
        padding:60px 40px;
    }
}

/* ==================================================
   MOBILE
================================================== */

@media(max-width:991.98px){

    .page-certification.block-certification > .container-fluid > .row{
        min-height:0;
    }

    .page-certification.block-certification .certification-content{
        min-height:0;
        padding:60px 30px;
    }

    .page-certification.block-certification h2{
        font-size:36px;
        margin-bottom:35px;
    }

    .page-certification.block-certification .intro-text{
        font-size:19px;
        margin-bottom:40px;
    }

    .page-certification.block-certification .certification-icons{
        margin-bottom:35px;
    }

    .page-certification.block-certification .certification-icon{
        max-width:125px;
    }

    .page-certification.block-certification .certification-icon img{
        max-height:125px;
    }

    .page-certification.block-certification .bottom-text{
        max-width:700px;
        font-size:18px;
        text-align:center;
    }

    .page-certification.block-certification .certification-banner{
        min-height:480px;
        padding:55px 35px;
    }

    .page-certification.block-certification .certification-banner img{
        max-width:330px;
        max-height:370px;
    }
}

@media(max-width:575.98px){

    .page-certification.block-certification .certification-content{
        padding:45px 20px;
    }

    .page-certification.block-certification h2{
        font-size:30px;
    }

    .page-certification.block-certification .intro-text{
        font-size:17px;
    }

    .page-certification.block-certification .certification-icons > [class*="col-"]{
        padding-left:7px;
        padding-right:7px;
    }

    .page-certification.block-certification .certification-icon{
        max-width:95px;
    }

    .page-certification.block-certification .certification-icon img{
        max-height:95px;
    }

    .page-certification.block-certification .bottom-text{
        font-size:17px;
    }

    .page-certification.block-certification .certification-banner{
        min-height:400px;
        padding:45px 25px;
    }

    .page-certification.block-certification .certification-banner img{
        max-width:280px;
        max-height:310px;
    }
}


/* ===== page.contactinformation.tpl.php ===== */


/* scoped under: .page-contactinformation */
/* =========================================================
   BLOCK 25 – CONTACT INFORMATION
========================================================= */

.page-contactinformation.block-contact-store {
    background: #fff;
    overflow: hidden;
}

/* =========================================================
   MAIN LAYOUT
========================================================= */

.page-contactinformation.block-contact-store .contact-main {
    position:relative;
    padding-top:110px;
}

/* Full width brown strip */

.page-contactinformation .hours-background{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:245px;
    background:#988860;
    z-index:0;
}


.page-contactinformation.block-contact-store .contact-main > .row {
    min-height: 540px;
}

.page-contactinformation.block-contact-store .contact-left {
    position:relative;
    z-index:2;

    display:flex;
    flex-direction:column;
    min-height:540px;
}

/* =========================================================
   TITLE
========================================================= */

.page-contactinformation.block-contact-store h2 {
    max-width: 650px;
    margin: 25px auto 50px;
    padding: 0 55px;

    font-family: 'Lora', sans-serif;
    font-size: 27pt;
    line-height: 1.45;
    letter-spacing: 5px;
    font-style: italic;
    font-weight: 400;
    text-align: center;

    color: #5b3339;
}

/* =========================================================
   OPENING HOURS
========================================================= */

.page-contactinformation.block-contact-store .hours-box {
    position:relative;
    z-index:2;
    padding:25px 70px 35px;
    margin-top:auto;
    color:#fff;
    width: 100%;
    min-height: 245px;
    background:transparent;
    font-size: 18px;
    line-height: 1.25;
}

/* Only style the actual box heading */
.page-contactinformation.block-contact-store .hours-box h3 {
    margin: 0 0 22px;

    font-family: Arial, sans-serif;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;

    color: #fff;
}


.page-contactinformation.block-contact-store .hours-box p {
    display: grid;
    grid-template-columns: 245px minmax(0, 1fr);
    column-gap: 35px;
    align-items: baseline;

    max-width: 550px;
    margin: 0 auto 8px;
    color: #fff;
}

.page-contactinformation.block-contact-store .hours-box p b {
    font-family: Montserrat, sans-serif;
    font-size: 13pt;
    display: inline;
    margin: 0;
    font-weight: 400;
    text-align: left;
    text-transform: none;
}

.page-contactinformation.block-contact-store .hours-box p span {
    font-family: Montserrat, sans-serif;
    font-size: 13pt;
    display: block;
}


/* =========================================================
   STORE IMAGE
========================================================= */

.page-contactinformation.block-contact-store .contact-image {
    position:relative;
    z-index:2;

    height:540px;

    padding-right:40px;
}

.page-contactinformation.block-contact-store .contact-image img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}

/* =========================================================
   BOTTOM CONTACT DETAILS
========================================================= */

.page-contactinformation.block-contact-store .contact-bottom {
    padding: 34px 0 24px;
    background: #fff;
}

.page-contactinformation.block-contact-store .contact-item {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    line-height: 1.05;

    color: #777;
}

.page-contactinformation.block-contact-store .contact-item i {
    flex: 0 0 auto;
    margin-right: 18px;

    font-size: 25px;
    color: #5b3339;
}

.page-contactinformation.block-contact-store .contact-item span {
    display: inline-block;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {
    .page-contactinformation.block-contact-store h2 {
        padding-right: 35px;
        padding-left: 35px;
        font-size: 39px;
        letter-spacing: 3px;
    }

    .page-contactinformation.block-contact-store .hours-box {
        padding-right: 35px;
        padding-left: 35px;
        font-size: 16px;
    }

    .page-contactinformation.block-contact-store .hours-box p {
        grid-template-columns: 190px minmax(0, 1fr);
        column-gap: 20px;
    }

    .page-contactinformation.block-contact-store .contact-item {
        font-size: 18px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 991.98px) {
    .page-contactinformation.block-contact-store .contact-main {
        padding-top: 45px;
    }

    .page-contactinformation.block-contact-store .contact-main > .row {
        min-height: 0;
    }

    .page-contactinformation.block-contact-store .contact-left {
        min-height: 0;
    }

    .page-contactinformation.block-contact-store h2 {
        max-width: 700px;
        margin: 0 auto 45px;
        padding: 0 30px;

        font-size: 34px;
        line-height: 1.35;
        letter-spacing: 2px;
    }

    .page-contactinformation.block-contact-store .hours-box {
        min-height: 0;
        padding: 35px 30px;
    }

    .page-contactinformation.block-contact-store .hours-box p {
        max-width: 580px;
    }

    .page-contactinformation.block-contact-store .contact-image {
        height: 430px;
        margin-right: 0;
    }

    .page-contactinformation.block-contact-store .contact-bottom {
        padding: 30px 0 10px;
    }

    .page-contactinformation.block-contact-store .contact-item {
        margin-bottom: 22px;
    }
}

@media (max-width: 575.98px) {
    .page-contactinformation.block-contact-store h2 {
        font-size: 29px;
        letter-spacing: 1px;
    }

    .page-contactinformation.block-contact-store .hours-box {
        padding: 30px 25px;
        font-size: 16px;
    }

    .page-contactinformation.block-contact-store .hours-box p {
        display: block;
        margin-bottom: 15px;
        text-align: center;
    }

    .page-contactinformation.block-contact-store .hours-box p b,
    .page-contactinformation.block-contact-store .hours-box p strong {
        display: block;
        margin-bottom: 3px;
        font-weight: 700;
        text-align: center;
    }

    .page-contactinformation.block-contact-store .contact-image {
        height: 320px;
    }
}


/* ===== page.corporatearrows.tpl.php ===== */


/* scoped under: .page-corporatearrows */
/* =========================================================
   CORPORATE PROCESS FLOW
   ========================================================= */

.block-process-flow.page-corporatearrows {
    width: 100%;
    overflow: hidden;
    background-color: #fbf9f6;
}

.block-process-flow.page-corporatearrows > .container-fluid,
.block-process-flow.page-corporatearrows > .container-fluid > .row {
    min-height: 900px;
}

/* Bootstrap columns must stretch to the complete block height */
.block-process-flow.page-corporatearrows .row {
    align-items: stretch;
}

/* =========================================================
   SIDEBAR
   ========================================================= */

.block-process-flow.page-corporatearrows .process-sidebar {
    width: 190px;
    height: 100%;
    min-height: 900px;
    padding: 30px 0;
    background-color: #96845d;

    display: flex;
    align-items: center;
    justify-content: center;
}

.block-process-flow.page-corporatearrows .process-sidebar-title {
    color: #fff;
    font-size: 32px;
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;

    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

/* =========================================================
   PROCESS AREA
   ========================================================= */

.block-process-flow.page-corporatearrows .process-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 900px;
    background-color: #fbf9f6;
}

/*
 * This element fills the wrapper. The paragraphs can therefore
 * be positioned against the complete available process area.
 */
.block-process-flow.page-corporatearrows .process-items {
    position: absolute;
    inset: 0;
    z-index: 2;
}

/* =========================================================
   PROCESS CONTENT
   Every paragraph in #BLOCKCONTENT# becomes one positioned step.
   ========================================================= */

.block-process-flow.page-corporatearrows .process-items > p {
    position: absolute;
    width: 360px;
    max-width: calc(100% - 40px);
    margin: 0;

    color: #5b3439;
    font-size: 22px;
    line-height: 1.45;
    font-weight: 400;
    text-align: center;
}

.block-process-flow.page-corporatearrows .process-items > p > strong {
    display: block;
    margin-bottom: 18px;

    color: #5b3439;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    line-height: 1.15;
    font-weight: 400;
}

/* 1 — Idee */
.block-process-flow.page-corporatearrows
.process-items > p:nth-child(1) {
    top: 31%;
    left: 8%;
}

/* 2 — Design */
.block-process-flow.page-corporatearrows
.process-items > p:nth-child(2) {
    top: 10%;
    left: 51%;
    transform: translateX(-50%);
}

/* 3 — Voorontwerp */
.block-process-flow.page-corporatearrows
.process-items > p:nth-child(3) {
    top: 44%;
    right: 7%;
}

/* 4 — Productie */
.block-process-flow.page-corporatearrows
.process-items > p:nth-child(4) {
    bottom: 6%;
    left: 45%;
    transform: translateX(-50%);
}

/* =========================================================
   ARROWS
   Correct the URL to the actual location of arrow.png.
   ========================================================= */

.block-process-flow.page-corporatearrows .process-arrow {
    position: absolute;
    z-index: 1;

    width: 230px;
    height: 130px;

    background-image: url("../images/arrow.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    pointer-events: none;
}

/* Idee → Design */
.block-process-flow.page-corporatearrows .arrow-1 {
    top: 9%;
    left: 21%;
}

/* Design → Voorontwerp */
.block-process-flow.page-corporatearrows .arrow-2 {
    top: 14%;
    right: 14%;
    transform: rotate(68deg);
}

/* Voorontwerp → Productie */
.block-process-flow.page-corporatearrows .arrow-3 {
    right: 20%;
    bottom: 7%;
    transform: rotate(169deg);
}

/* Productie → Idee */
.block-process-flow.page-corporatearrows .arrow-4 {
    bottom: 10%;
    left: 11%;
    transform: rotate(253deg);
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1199.98px) {
    .block-process-flow.page-corporatearrows
    .process-items > p {
        width: 300px;
        font-size: 19px;
    }

    .block-process-flow.page-corporatearrows
    .process-items > p > strong {
        font-size: 29px;
    }

    .block-process-flow.page-corporatearrows .process-arrow {
        width: 190px;
        height: 110px;
    }

    .block-process-flow.page-corporatearrows
    .process-items > p:nth-child(1) {
        left: 4%;
    }

    .block-process-flow.page-corporatearrows
    .process-items > p:nth-child(3) {
        right: 3%;
    }
}

/* =========================================================
   MOBILE
   Switch from absolute layout to a readable vertical sequence.
   ========================================================= */

@media (max-width: 991.98px) {
    .block-process-flow.page-corporatearrows > .container-fluid,
    .block-process-flow.page-corporatearrows > .container-fluid > .row {
        min-height: 0;
    }

    .block-process-flow.page-corporatearrows .row {
        display: block;
    }

    .block-process-flow.page-corporatearrows .col-auto,
    .block-process-flow.page-corporatearrows .col {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .block-process-flow.page-corporatearrows .process-sidebar {
        width: 100%;
        min-height: 90px;
        height: auto;
        padding: 25px;
    }

    .block-process-flow.page-corporatearrows .process-sidebar-title {
        font-size: 30px;
        white-space: normal;
        writing-mode: horizontal-tb;
        transform: none;
    }

    .block-process-flow.page-corporatearrows .process-wrapper {
        height: auto;
        min-height: 0;
        padding: 55px 30px;
    }

    .block-process-flow.page-corporatearrows .process-items {
        position: relative;
        inset: auto;

        display: flex;
        flex-direction: column;
        gap: 45px;
    }

    .block-process-flow.page-corporatearrows .process-items > p {
        position: relative;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        width: 100%;
        max-width: 650px;
        margin: 0 auto;

        transform: none !important;
    }

    .block-process-flow.page-corporatearrows .process-arrow {
        display: none;
    }
}


/* ===== page.corporatedealbreakerblock.tpl.php ===== */


/* scoped under: .page-corporatedealbreakerblock */


.page-corporatedealbreakerblock.block-deals-chocolate {
    background: #f6f1eb;
}


.page-corporatedealbreakerblock.block-deals-chocolate .block-text {
    min-height: 720px;
    padding: 130px 55px 85px 90px;
    color: #5b3339;
}


.page-corporatedealbreakerblock.block-deals-chocolate h2 {
    font-family: "Lora";
    font-size: 20pt;
    line-height: 1.55;
    font-weight: 400;
    color: #5b3339;
    margin-bottom: 55px;
}


.page-corporatedealbreakerblock.block-deals-chocolate .block-content {
    font-family: "Montserrat";
    font-size: 16pt;
    line-height: 1.35;
    font-weight: 300;
    color: #5b3339;
}


.page-corporatedealbreakerblock.block-deals-chocolate .block-content p {
    font-family: "Montserrat";
    font-size: 16pt;
    margin-bottom: 0;
}


.page-corporatedealbreakerblock.block-deals-chocolate .block-image {
    height: 100%;
    min-height: 720px;
}


.page-corporatedealbreakerblock.block-deals-chocolate .block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}


.page-corporatedealbreakerblock.block-deals-chocolate .btn-chocolate {
    min-width: 290px;
    padding: 15px 35px;
    border-radius: 40px;
    background: #9a8962;
    color: #fff;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 300;
    text-align: center;
    border: 0;
}


.page-corporatedealbreakerblock.block-deals-chocolate .btn-chocolate:hover, 
.page-corporatedealbreakerblock.block-deals-chocolate .btn-chocolate:focus {
    background: #83724f;
    color: #fff;
    text-decoration: none;
}


@media (max-width: 991px) {


    .page-corporatedealbreakerblock.block-deals-chocolate .block-text {
        min-height: auto;
        padding: 60px 35px;
    }


    .page-corporatedealbreakerblock.block-deals-chocolate h2 {
        font-size: 28px;
        line-height: 1.4;
        margin-bottom: 35px;
    }


    .page-corporatedealbreakerblock.block-deals-chocolate .block-content {
        font-size: 22px;
    }


    .page-corporatedealbreakerblock.block-deals-chocolate .block-button {
        margin-top: 45px;
    }


    .page-corporatedealbreakerblock.block-deals-chocolate .block-image {
        min-height: 420px;
    }


    .page-corporatedealbreakerblock.block-deals-chocolate .btn-chocolate {
        min-width: 230px;
        font-size: 20px;
    }


}


/* ===== page.corporategiftblock.tpl.php ===== */


/* scoped under: .page-corporategiftblock */


.page-corporategiftblock.block-corporate-gift {
    background: #5b3339;
    overflow: hidden;
}


.page-corporategiftblock.block-corporate-gift .row {
    min-height: 650px;
}


.page-corporategiftblock.block-corporate-gift .block-image {
    padding: 70px 40px 70px 70px;
}


.page-corporategiftblock.block-corporate-gift .block-image img {
    display: block;
    width: 100%;
    height: auto;
}


.page-corporategiftblock.block-corporate-gift .block-content {
    padding: 80px 12% 80px 6%;
    color: #fff;
}


.page-corporategiftblock.block-corporate-gift h2 {
    font-family: "Lora";
    font-size: 48px;
    font-weight: 400;
    margin-bottom: 10px;
    color: #fff;
}


.page-corporategiftblock.block-corporate-gift h4 {
    font-family: "Lora";
    font-size: 28px;
    font-weight: 400;
    margin-bottom: 35px;
    color: #fff;
}


.page-corporategiftblock.block-corporate-gift .content p, 
.page-corporategiftblock.block-corporate-gift .content2 p {
    font-family: "Lora";
    font-size: 34px;
    line-height: 1.12;
    color: #fff;
}


.page-corporategiftblock.block-corporate-gift .content2 {
    margin-top: 25px;
}


.page-corporategiftblock.block-corporate-gift p {
    margin-bottom: 18px;
}


@media (max-width: 991px) {


    .page-corporategiftblock.block-corporate-gift .row {
        min-height: auto;
    }


    .page-corporategiftblock.block-corporate-gift .block-image {
        padding: 40px;
    }


    .page-corporategiftblock.block-corporate-gift .block-content {
        padding: 50px 35px;
    }


    .page-corporategiftblock.block-corporate-gift h2 {
        font-size: 38px;
    }


    .page-corporategiftblock.block-corporate-gift h4 {
        font-size: 24px;
    }


    .page-corporategiftblock.block-corporate-gift .content, .page-corporategiftblock.block-corporate-gift .content2 {
        font-size: 24px;
        line-height: 1.3;
    }


}


/* ===== page.corporateshowcase.tpl.php ===== */


/* scoped under: .page-corporateshowcase */


.page-corporateshowcase.block-product-showcase {
    background: #fff;
    overflow: hidden;
}


/************************************************
    LEFT PANEL
    ************************************************/


.page-corporateshowcase.block-product-showcase .product-panel {
    background: #59343a;
    min-height: 1000px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    padding: 70px;
}


.page-corporateshowcase.block-product-showcase .floating-product {
    width: 78%;
}


.page-corporateshowcase.block-product-showcase .floating-product img {
    width: 100%;
    display: block;
}


/************************************************
    RIGHT PANEL
    ************************************************/


.page-corporateshowcase.block-product-showcase .content-panel {

    padding: 165px 85px 70px;
}


.page-corporateshowcase.block-product-showcase .showcase-image {
    border-radius: 35px;
    overflow: hidden;
    margin-bottom: 35px;
}


.page-corporateshowcase.block-product-showcase .showcase-image img {
    width: 100%;
    display: block;
    aspect-ratio: 4/6;
    object-fit: cover;
}


.page-corporateshowcase.block-product-showcase .showcase-content {
    padding: 10px 10px 0;
}


.page-corporateshowcase.block-product-showcase h2 {
    font-family: Georgia, serif;
    font-size: 58px;
    color: #5b3339;
    font-weight: 400;
    margin-bottom: 30px;
}


.page-corporateshowcase.block-product-showcase .showcase-content p {
    color: #5b3339;
    font-size: 26px;
    line-height: 1.45;
}


/************************************************
    BUTTON
    ************************************************/


.page-corporateshowcase.block-product-showcase .btn-gold {
    background: #9a8962;
    color: #fff;
    border-radius: 50px;
    padding: 18px 60px;
    min-width: 390px;
    font-size: 28px;
    font-weight: 300;
    transition: .25s;
}


.page-corporateshowcase.block-product-showcase .btn-gold:hover {
    background: #86754f;
    color: #fff;
    text-decoration: none;
}


/************************************************
    RESPONSIVE
    ************************************************/


@media (max-width: 991px) {


    .page-corporateshowcase.block-product-showcase .product-panel {
        min-height: auto;
        padding: 40px;
    }


    .page-corporateshowcase.block-product-showcase .floating-product {
        width: 60%;
        margin: 25px 0;
    }


    .page-corporateshowcase.block-product-showcase .content-panel {
        padding: 50px 30px;
    }


    .page-corporateshowcase.block-product-showcase h2 {
        font-size: 38px;
    }


    .page-corporateshowcase.block-product-showcase .showcase-content p {
        font-size: 22px;
    }


    .page-corporateshowcase.block-product-showcase .btn-gold {
        min-width: 100%;
        font-size: 22px;
    }


}


/* ===== page.corporateshowcase2.tpl.php ===== */


/* scoped under: .page-corporateshowcase2 */


.page-corporateshowcase2.block-overlap-image-text {
    background: #f4eee6;
    overflow: hidden;
}


.page-corporateshowcase2.block-overlap-image-text .block-color-panel {
    min-height: 720px;
    background: #5b3339;
}


.page-corporateshowcase2.block-overlap-image-text .block-content-panel {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 120px 9% 120px 260px;
}


.page-corporateshowcase2.block-overlap-image-text .floating-image {
    position: absolute;
    left: -250px;
    top: 50%;
    transform: translateY(-50%);
    width: 430px;
    border-radius: 28px;
    overflow: hidden;
    z-index: 2;
}


.page-corporateshowcase2.block-overlap-image-text .floating-image img {
    width: 100%;
    display: block;
}


.page-corporateshowcase2.block-overlap-image-text .text-wrapper {
    max-width: 470px;
    color: #454545;
}

.page-corporateshowcase2.block-overlap-image-text h2 {
    font-family: 'Raleway', sans-serif;
    font-size: 20pt;
    line-height: 1.55;
    font-weight: 700;
    margin-bottom: 60px;
    color: #404040;
}

.page-corporateshowcase2.block-overlap-image-text .block-content {
    font-size: 31px;
    line-height: .9;
    color: #444;
}

.page-corporateshowcase2.block-overlap-image-text .block-content p {
    font-family: 'Lora', sans-serif;
    font-size: 20pt;
    margin-bottom: 0;
}


@media (max-width: 991px) {
    .page-corporateshowcase2.block-overlap-image-text .block-color-panel {
        min-height: 220px;
    }
    .page-corporateshowcase2.block-overlap-image-text .block-content-panel {
        min-height: auto;
        display: block;
        padding: 0 35px 60px;
    }


    .page-corporateshowcase2.block-overlap-image-text .floating-image {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        width: 100%;
        max-width: 430px;
        margin: -120px auto 45px;
    }


    .page-corporateshowcase2.block-overlap-image-text .text-wrapper {
        max-width: 100%;
        text-align: left;
    }


    .page-corporateshowcase2.block-overlap-image-text h2 {
        font-size: 30px;
        margin-bottom: 35px;
    }


    .page-corporateshowcase2.block-overlap-image-text .block-content {
        font-size: 24px;
        line-height: 1.15;
    }


}


/* ===== page.corporateshowcasegallery-alt.tpl.php ===== */


/* scoped under: .page-corporateshowcasegallery-alt */


/* ==========================================
   Variant of Block 7
========================================== */


.page-corporateshowcasegallery-alt.block-gallery-feature--round .feature-image {

    width: 370px;
    height: 370px;

    margin: 0 auto 70px;

    border-radius: 50%;

    overflow: hidden;
}


.page-corporateshowcasegallery-alt.block-gallery-feature--round .feature-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    filter: none;
}


.page-corporateshowcasegallery-alt.block-gallery-feature--round .feature-text {

    max-width: 520px;

    margin: auto;
}


.page-corporateshowcasegallery-alt.block-gallery-feature--round .btn-gold {

    display: inline-block;

    background: #9b8a62;

    color: #fff;

    border-radius: 50px;

    min-width: 320px;

    padding: 16px 45px;

    font-size: 26px;

    transition: .25s;
}


.page-corporateshowcasegallery-alt.block-gallery-feature--round .btn-gold:hover {

    background: #84734d;

    color: #fff;

    text-decoration: none;
}


.page-corporateshowcasegallery-alt.block-gallery-feature--round .gallery-panel {

    padding-top: 115px;
}


/* ===== page.corporateshowcasegallery.tpl.php ===== */


/* scoped under: .page-corporateshowcasegallery */


.page-corporateshowcasegallery.block-gallery-feature {
    background: #fff;
    overflow: hidden;
}


.page-corporateshowcasegallery.block-gallery-feature .feature-panel {
    min-height: 820px;
    background: #5b3339;
    padding: 90px 95px 55px;
    color: #fff;
}


.page-corporateshowcasegallery.block-gallery-feature .feature-image {
    margin-bottom: 85px;
}


.page-corporateshowcasegallery.block-gallery-feature .feature-image img {
    width: 100%;
    display: block;
    filter: grayscale(100%);
}


.page-corporateshowcasegallery.block-gallery-feature .feature-text h2 {
    font-family: 'Lora', serif;
    font-size: 20pt;
    font-weight: 600;
    margin-bottom: 35px;
    color: #fff;
}


.page-corporateshowcasegallery.block-gallery-feature .feature-text .block-content {
    font-size: 27px;
    line-height: 1.45;
    font-weight: 300;
    color: #fff;
}

.page-corporateshowcasegallery.block-gallery-feature .feature-text .block-content p {
    font-family: 'Montserrat', serif;
    font-size: 16pt;
    line-height: 1.45;
    font-weight: 300;
    color: #fff;
}


.page-corporateshowcasegallery.block-gallery-feature .btn-gold {
    display: inline-block;
    background: #9b8a62;
    color: #fff;
    border-radius: 50px;
    min-width: 320px;
    padding: 16px 45px;
    font-size: 26px;
    transition: .25s;
}


.page-corporateshowcasegallery.block-gallery-feature .btn-gold:hover {
    background: #84734d;
    color: #fff;
    text-decoration: none;
}


.page-corporateshowcasegallery.block-gallery-feature .gallery-panel {
    padding: 40px 70px 80px;
    background: #fff;
}


.page-corporateshowcasegallery.block-gallery-feature .gallery-panel h3 {
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    color: #ff493c;
    margin-bottom: 40px;
}


.page-corporateshowcasegallery.block-gallery-feature .gallery-image {
    height: 310px;
    margin-bottom: 40px;
    border-radius: 18px;
    overflow: hidden;
    background: #f7f1e9;
}


.page-corporateshowcasegallery.block-gallery-feature .gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}


@media (max-width: 991px) {


    .page-corporateshowcasegallery.block-gallery-feature .feature-panel {
        min-height: auto;
        padding: 55px 35px;
    }


    .page-corporateshowcasegallery.block-gallery-feature .feature-image {
        margin-bottom: 45px;
    }


    .page-corporateshowcasegallery.block-gallery-feature .gallery-panel {
        padding: 45px 35px;
    }


    .page-corporateshowcasegallery.block-gallery-feature .gallery-image {
        height: 260px;
    }


    .page-corporateshowcasegallery.block-gallery-feature .feature-text .block-content {
        font-size: 22px;
    }


}


/* ===== page.expostory.tpl.php ===== */


/* scoped under: .page-expostory */


.page-expostory.block-expo-story {
    min-height: 760px;
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: auto 96%;
    background-position: 62% center;
    overflow: hidden;
}


.page-expostory.block-expo-story .expo-left {
    min-height: 760px;
    padding: 145px 60px 90px 100px;
    color: #5b3339;
}


.page-expostory.block-expo-story h2 {
    font-family: 'Lato', sans-serif;
    font-size: 33pt;
    line-height: 1.1;
    font-weight: 300;
    color: #5b3339;
    margin-bottom: 260px;
}


.page-expostory.block-expo-story .block-content {
    max-width: 680px;
    font-size: 27px;
    line-height: 1.08;
    color: #5b3339;
}
.page-expostory.block-expo-story .block-content p {
    font-family: 'Montserrat', sans-serif;
    font-size: 16pt;
}


.page-expostory.block-expo-story .expo-right {
    min-height: 760px;
    background: #f4eee6;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 65px;
}


.page-expostory.block-expo-story .expo-right img {
    max-width: 100%;
    height: auto;
    display: block;
}


@media (max-width: 991px) {


    .page-expostory.block-expo-story {
        background-image: none !important;
        min-height: auto;
    }


    .page-expostory.block-expo-story .expo-left {
        min-height: auto;
        padding: 55px 30px;
        text-align: center;
    }


    .page-expostory.block-expo-story h2 {
        font-size: 38px;
        margin-bottom: 45px;
    }


    .page-expostory.block-expo-story .block-content {
        max-width: 100%;
        font-size: 22px;
        line-height: 1.22;
    }


    .page-expostory.block-expo-story .expo-right {
        min-height: 420px;
        padding: 45px 35px;
    }


}


/* ===== page.imagecollage.tpl.php ===== */


/* scoped under: .page-imagecollage */


.page-imagecollage.block-craft-collage {
    background: #fff;
    overflow: hidden;
}


.page-imagecollage.block-craft-collage .craft-grid {
    display: grid;
    grid-template-columns:25% 50% 25%;
    grid-template-rows:1fr 1fr;
    gap: 10px;
    height: 760px;
    overflow-x: hidden;
}


.page-imagecollage.block-craft-collage .craft-item {
    overflow: hidden;
    background: #eee;
}


.page-imagecollage.block-craft-collage .craft-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    display: block;
}


.page-imagecollage.block-craft-collage .item-1 {
    grid-column: 1;
    grid-row: 1;
}


.page-imagecollage.block-craft-collage .item-2 {
    grid-column: 1;
    grid-row: 2;
}


.page-imagecollage.block-craft-collage .item-3 {
    grid-column: 2;
    grid-row: 1 / span 2;
}


.page-imagecollage.block-craft-collage .item-4 {
    grid-column: 3;
    grid-row: 1;
}


.page-imagecollage.block-craft-collage .item-5 {
    grid-column: 3;
    grid-row: 2;
}


@media (max-width: 991px) {


    .page-imagecollage.block-craft-collage .craft-grid {
        display: block;
        height: auto;
    }


    .page-imagecollage.block-craft-collage .craft-item {
        height: 320px;
        margin-bottom: 10px;
    }


}


/* ===== page.introgallery.tpl.php ===== */


/* scoped under: .page-introgallery */


.page-introgallery.block-centered-intro-gallery {
    background: #fff;
    overflow: hidden;
}


.page-introgallery.block-centered-intro-gallery .intro-panel {
    background: #fff;
    padding: 70px 15px 65px;
    text-align: center;
    color: #5b3339;
}


.page-introgallery.block-centered-intro-gallery h2 {
    font-family: Georgia, serif;
    font-size: 34px;
    line-height: .95;
    font-weight: 400;
    margin: 0;
    color: #5b3339;
}


.page-introgallery.block-centered-intro-gallery .block-content {
    font-family: Georgia, serif;
    font-size: 34px;
    line-height: .95;
    color: #5b3339;
}


.page-introgallery.block-centered-intro-gallery .block-content p {
    margin-bottom: 0;
}


.page-introgallery.block-centered-intro-gallery .gallery-panel {
    background: #5b3339;
    padding: 125px 0 75px;
}


.page-introgallery.block-centered-intro-gallery .gallery-image {
    height: 345px;
    overflow: hidden;
    background: #f4eee6;
}


.page-introgallery.block-centered-intro-gallery .gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


@media (max-width: 991px) {


    .page-introgallery.block-centered-intro-gallery .intro-panel {
        padding: 50px 20px;
    }


    .page-introgallery.block-centered-intro-gallery h2, .page-introgallery.block-centered-intro-gallery .block-content {
        font-size: 28px;
        line-height: 1.15;
    }


    .page-introgallery.block-centered-intro-gallery .gallery-panel {
        padding: 60px 20px 35px;
    }


    .page-introgallery.block-centered-intro-gallery .gallery-image {
        height: 280px;
        margin-bottom: 25px;
    }


}


/* ===== page.privatelabelintro.tpl.php ===== */


/* scoped under: .page-privatelabelintro */


.page-privatelabelintro.block-private-label {
    background: #fff;
    padding: 45px 65px 35px;
    overflow: hidden;
}


.page-privatelabelintro.block-private-label .image-composition {
    position: relative;
    min-height: 700px;
}


.page-privatelabelintro.block-private-label .small-image-wrap {
    position: absolute;
    left: 35px;
    bottom: 10px;
    width: 45%;
}


.page-privatelabelintro.block-private-label .small-image-wrap h3 {
    font-size: 28px;
    font-weight: 400;
    color: #000;
    margin-bottom: 18px;
    text-transform: uppercase;
}


.page-privatelabelintro.block-private-label .small-image, .page-privatelabelintro.block-private-label .large-image {
    border-radius: 28px;
    overflow: hidden;
    background: #f4eee6;
}


.page-privatelabelintro.block-private-label .small-image {
    height: 420px;
}


.page-privatelabelintro.block-private-label .large-image {
    position: absolute;
    right: 0;
    top: 0;
    width: 45%;
    height: 630px;
}


.page-privatelabelintro.block-private-label img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.page-privatelabelintro.block-private-label .text-panel {
    min-height: 700px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 90px 60px 20px 35px;
    text-align: center;
    color: #5b3339;
}


.page-privatelabelintro.block-private-label h2 {
    font-family: Georgia, serif;
    font-size: 50px;
    line-height: 1.55;
    letter-spacing: 10px;
    font-style: italic;
    font-weight: 400;
    color: #5b3339;
    margin: 0;
}


.page-privatelabelintro.block-private-label .block-content {
    font-size: 29px;
    line-height: 1.75;
    letter-spacing: 8px;
    color: #6b4147;
}


.page-privatelabelintro.block-private-label .block-content p {
    margin-bottom: 18px;
}


@media (max-width: 991px) {


    .page-privatelabelintro.block-private-label {
        padding: 50px 25px;
    }


    .page-privatelabelintro.block-private-label .image-composition {
        min-height: auto;
    }


    .page-privatelabelintro.block-private-label .small-image-wrap, .page-privatelabelintro.block-private-label .large-image {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: 100%;
    }


    .page-privatelabelintro.block-private-label .small-image-wrap {
        margin-bottom: 30px;
    }


    .page-privatelabelintro.block-private-label .small-image, .page-privatelabelintro.block-private-label .large-image {
        height: 360px;
    }


    .page-privatelabelintro.block-private-label .text-panel {
        min-height: auto;
        padding: 45px 0 0;
    }


    .page-privatelabelintro.block-private-label h2 {
        font-size: 34px;
        letter-spacing: 4px;
        margin-bottom: 45px;
    }


    .page-privatelabelintro.block-private-label .block-content {
        font-size: 22px;
        line-height: 1.45;
        letter-spacing: 3px;
    }


}


/* ===== page.privatelabelprocess.tpl.php ===== */


/* scoped under: .page-privatelabelprocess */


.page-privatelabelprocess.block-private-process {
    background: #faf7f2;
    padding: 90px 0;
    overflow: hidden;
}


.page-privatelabelprocess.block-private-process .process-image {
    text-align: center;
    padding: 20px 40px;
}


.page-privatelabelprocess.block-private-process .process-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: auto;
}


.page-privatelabelprocess.block-private-process .process-content {
    position: relative;
    padding-left: 95px;
}


.page-privatelabelprocess.block-private-process .process-content:before {
    content: "";
    position: absolute;
    left: 0;
    top: 185px;
    width: 38px;
    height: 380px;
    background: #5b3339;
}


.page-privatelabelprocess.block-private-process h2 {
    font-family: Georgia, serif;
    font-size: 56px;
    line-height: 1.25;
    font-weight: 400;
    color: #5b3339;
    margin-bottom: 70px;
}


.page-privatelabelprocess.block-private-process .content-box {
    font-size: 28px;
    line-height: 1.65;
    color: #595959;
}


.page-privatelabelprocess.block-private-process .content-box p {
    margin-bottom: 20px;
}


.page-privatelabelprocess.block-private-process .content-box strong {
    color: #333;
    font-weight: 700;
}


.page-privatelabelprocess.block-private-process .content-box .highlight {
    color: #df4c43;
    font-weight: 700;
}


@media (max-width: 991px) {


    .page-privatelabelprocess.block-private-process {
        padding: 60px 0;
    }


    .page-privatelabelprocess.block-private-process .process-content {
        padding-left: 0;
        margin-top: 50px;
    }


    .page-privatelabelprocess.block-private-process .process-content:before {
        display: none;
    }


    .page-privatelabelprocess.block-private-process h2 {
        font-size: 38px;
        margin-bottom: 35px;
        text-align: center;
    }


    .page-privatelabelprocess.block-private-process .content-box {
        font-size: 21px;
        line-height: 1.5;
    }


}


/* ===== page.productmasonry-left.tpl.php ===== */


/* scoped under: .page-productmasonry-left */


.page-productmasonry-left.block-product-masonry {

    background: #fff;

    overflow: hidden;
}


/**********************************************
    LEFT PANEL
    **********************************************/


.page-productmasonry-left.block-product-masonry .featured-panel {

    background: #5b3339;

    min-height: 960px;

    padding: 85px 70px 60px;

    color: #fff;
}


.page-productmasonry-left.block-product-masonry .featured-image {

    position: relative;

    max-width: 520px;

    margin: 0 auto 60px;
}


/* Decorative white shape */
.page-productmasonry-left.block-product-masonry .featured-image img {
    position: relative;
    z-index: 2;
    width: 100%;
    display: block;
    border-radius: 34px;
}

.page-productmasonry-left.block-product-masonry h2 {
    font-family: 'Lora', serif;
    font-size: 21pt;
    line-height: 1.25;
    font-weight: 400;
    color: #fff;
    margin-bottom: 25px;
}

.page-productmasonry-left.block-product-masonry .block-content {
    font-size: 26px;
    line-height: 1.45;
    color: #f2f2f2;
}
.page-productmasonry-left.block-product-masonry .block-content p {
    font-family: 'Montserrat', serif;
    font-size: 18pt;
}


/**********************************************
    RIGHT SIDE
    **********************************************/


.page-productmasonry-left.block-product-masonry .masonry-gallery {

    display: grid;

    grid-template-columns:2fr 1fr 2fr;

    grid-auto-rows: 180px;

    gap: 28px;

    padding: 80px 60px;
}


.page-productmasonry-left.block-product-masonry .gallery-item {

    position: relative;
}


.page-productmasonry-left.block-product-masonry .card-frame {

    position: relative;

    background: #fbf7f1;

    border-radius: 28px;

    padding: 18px;

    height: 100%;

    box-shadow: 0 0 0 2px rgba(90, 50, 58, .05);
}


/* floating second card */


.page-productmasonry-left.block-product-masonry .card-frame:before {

    content: "";

    position: absolute;

    top: -18px;

    left: 18px;

    right: -18px;

    bottom: 18px;

    border-radius: 28px;

    border: 2px solid rgba(91, 51, 57, .08);

    z-index: 0;
}


.page-productmasonry-left.block-product-masonry .card-frame img {

    position: relative;

    z-index: 2;

    width: 100%;

    height: 100%;

    object-fit: contain;
}


/**********************************************
    GRID POSITIONS
    **********************************************/


.page-productmasonry-left .large-horizontal {

    grid-column: 1;

    grid-row: 1 / span 2;
}


.page-productmasonry-left .small-vertical {

    grid-column: 2;

    grid-row: 1 / span 2;
}


.page-productmasonry-left .medium-square {

    grid-column: 3;

}


.page-productmasonry-left .masonry-gallery .gallery-item:nth-child(4) {

    grid-column: 1 / span 2;

    grid-row: 3 / span 2;
}


.page-productmasonry-left .masonry-gallery .gallery-item:nth-child(5) {

    grid-column: 3;

    grid-row: 3 / span 2;
}


/**********************************************
    RESPONSIVE
    **********************************************/


@media (max-width: 991px) {


    .page-productmasonry-left.block-product-masonry .featured-panel {

        min-height: auto;

        padding: 55px 35px;
    }


    .page-productmasonry-left.block-product-masonry .featured-image:before {

        display: none;
    }


    .page-productmasonry-left.block-product-masonry .masonry-gallery {

        display: grid;

        grid-template-columns:1fr 1fr;

        grid-auto-rows: 220px;

        padding: 40px 20px;
    }


    .page-productmasonry-left.block-product-masonry .gallery-item {

        grid-column: auto !important;

        grid-row: auto !important;
    }


    .page-productmasonry-left.block-product-masonry h2 {

        font-size: 38px;
    }


    .page-productmasonry-left.block-product-masonry .block-content {

        font-size: 22px;
    }


}


/* ===== page.profilestory.tpl.php ===== */


/* scoped under: .page-profilestory */


.page-profilestory.block-profile-story {
    background: #f4eee6;
    padding: 90px 65px 80px;
    overflow: hidden;
}


.page-profilestory.block-profile-story .text-panel {
    max-width: 860px;
    margin: 0 auto;
    color: #5b3339;
}


.page-profilestory.block-profile-story h2 {
    font-family: 'Lora', serif;
    font-size: 24pt;
    line-height: 1.2;
    font-weight: 400;
    color: #000;
    margin-bottom: 180px;
    text-align: right;
}


.page-profilestory.block-profile-story .block-content {
    font-size: 27px;
    line-height: 1.12;
    color: #6b4147;
    text-align: right;
}


.page-profilestory.block-profile-story .block-content p {
    font-family: 'Montserrat', sans-serif;
    font-size: 16pt;
    margin-bottom: 0;
}


.page-profilestory.block-profile-story .block-content .highlight, .page-profilestory.block-profile-story .block-content strong {
    color: #f05245;
    font-weight: 400;
}


.page-profilestory.block-profile-story .image-panel {
    width: 670px;
    height: 670px;
    margin: 0 auto;
    border-radius: 50% 50% 0 0;
    overflow: hidden;
}


.page-profilestory.block-profile-story .image-panel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}


@media (max-width: 991px) {


    .page-profilestory.block-profile-story {
        padding: 55px 25px;
    }


    .page-profilestory.block-profile-story h2 {
        font-size: 34px;
        margin-bottom: 45px;
    }


    .page-profilestory.block-profile-story .block-content {
        font-size: 22px;
        line-height: 1.25;
        margin-bottom: 45px;
    }


    .page-profilestory.block-profile-story .image-panel {
        width: 100%;
        max-width: 520px;
        height: 520px;
    }


}


@media (max-width: 575px) {


    .page-profilestory.block-profile-story .image-panel {
        height: 390px;
    }


}


/* ===== page.specialmoments.tpl.php ===== */


/* scoped under: .page-specialmoments */


.page-specialmoments.block-moments-chocolate {
    background: #f4eee6;
    padding: 22px 25px 90px;
    overflow: hidden;
}


.page-specialmoments.block-moments-chocolate .text-panel {
    max-width: 620px;
    margin: 0 auto;
    padding-top: 35px;
    color: #5b3339;
}


.page-specialmoments.block-moments-chocolate h2 {
    font-family: 'Raleway', sans-serif;
    font-size: 24pt;
    line-height: 1.4;
    font-weight: 700;
    margin-bottom: 70px;
    color: #5b3339;
}


.page-specialmoments.block-moments-chocolate .block-content {
    font-family: Georgia, serif;
    font-size: 34px;
    line-height: .9;
    margin-bottom: 70px;
    color: #5b3339;
}


.page-specialmoments.block-moments-chocolate .block-content p {
    font-family: 'Lora', Sans-Serif;
    font-size: 20pt;
    margin-bottom: 0;
}


.page-specialmoments.block-moments-chocolate .btn-gold {
    min-width: 310px;
    padding: 14px 45px;
    border-radius: 45px;
    background: #9a8962;
    color: #fff;
    font-size: 25px;
    line-height: 1.2;
    border: 0;
}


.page-specialmoments.block-moments-chocolate .btn-gold:hover {
    background: #83724f;
    color: #fff;
    text-decoration: none;
}


.page-specialmoments.block-moments-chocolate .image-panel {
    min-height: 640px;
    position: relative;
}


.page-specialmoments.block-moments-chocolate .image-card {
    position: absolute;
    overflow: hidden;
    border-radius: 28px;
    background: #e8f7ff;
}


.page-specialmoments.block-moments-chocolate .image-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.page-specialmoments.block-moments-chocolate .image-card-small {
    width: 38%;
    height: 380px;
    left: 6%;
    bottom: 105px;
}


.page-specialmoments.block-moments-chocolate .image-card-large {
    width: 58%;
    height: 530px;
    right: 0;
    top: 0;
}


@media (max-width: 991px) {


    .page-specialmoments.block-moments-chocolate {
        padding: 50px 20px;
    }


    .page-specialmoments.block-moments-chocolate h2 {
        font-size: 32px;
        margin-bottom: 40px;
    }


    .page-specialmoments.block-moments-chocolate .block-content {
        font-size: 25px;
        line-height: 1.15;
        margin-bottom: 45px;
    }


    .page-specialmoments.block-moments-chocolate .image-panel {
        min-height: auto;
        margin-top: 50px;
    }


    .page-specialmoments.block-moments-chocolate .image-card {
        position: relative;
        width: 100%;
        height: 320px;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        margin-bottom: 25px;
    }


}


/* ===== page.specialmomentsdecorative.tpl.php ===== */


/* scoped under: .page-specialmomentsdecorative */


.page-specialmomentsdecorative.block-romantic-products {

    position: relative;

    background: #f5efe7;

    overflow: hidden;

    padding: 95px 0 110px;
}


/************************************************
    IMAGES
    ************************************************/


.page-specialmomentsdecorative.block-romantic-products .product-image {

    margin-bottom: 60px;
}


.page-specialmomentsdecorative.block-romantic-products .product-image img {

    width: 100%;

    display: block;
}


/************************************************
    TEXT
    ************************************************/


.page-specialmomentsdecorative.block-romantic-products .caption {

    margin-top: 35px;

    max-width: 900px;

    padding-left: 60px;
}


.page-specialmomentsdecorative.block-romantic-products h2 {
    font-family: 'Lora', serif;
    font-size: 20pt;
    font-weight: 400;
    color: #5b3339;
    margin-bottom: 20px;
}


.page-specialmomentsdecorative.block-romantic-products .block-content {

    font-size: 30px;

    line-height: 1.45;

    color: #5b3339;
}


/************************************************
    DECORATION
    ************************************************/


.page-specialmomentsdecorative.block-romantic-products .corner {

    position: absolute;

    width: 120px;

    height: 120px;
}


.page-specialmomentsdecorative.block-romantic-products .corner:before, .page-specialmomentsdecorative.block-romantic-products .corner:after {

    content: "";

    position: absolute;

    background: #5b3339;
}


/* Bottom left */


.page-specialmomentsdecorative.block-romantic-products .corner-bottom-left {

    left: 90px;

    bottom: 90px;
}


.page-specialmomentsdecorative.block-romantic-products .corner-bottom-left:before {

    width: 40px;
    height: 120px;
    left: 0;
    bottom: 0;
}


/* Top right */


.page-specialmomentsdecorative.block-romantic-products .corner-top-right {

    right: 90px;

    bottom: 260px;
}


.page-specialmomentsdecorative.block-romantic-products .corner-top-right:before {

    width: 40px;
    height: 160px;
    right: 0;
    top: -40px;
}


.page-specialmomentsdecorative.block-romantic-products .corner-top-right:after {

    width: 120px;
    height: 40px;
    right: 0;
    bottom: 0;
}


/************************************************
    RESPONSIVE
    ************************************************/


@media (max-width: 991px) {


    .page-specialmomentsdecorative.block-romantic-products {

        padding: 60px 0;
    }


    .page-specialmomentsdecorative.block-romantic-products .caption {

        padding: 0 20px;

        text-align: center;
    }


    .page-specialmomentsdecorative.block-romantic-products h2 {

        font-size: 36px;
    }


    .page-specialmomentsdecorative.block-romantic-products .block-content {

        font-size: 22px;
    }


    .page-specialmomentsdecorative.block-romantic-products .corner {

        display: none;
    }


}


/* ===== page.specialmomentsshowcase-alt.tpl.php ===== */


/* scoped under: .page-specialmomentsshowcase-alt */


.page-specialmomentsshowcase-alt.block-birth-gifts--flipped .content-panel {
    padding: 90px 95px 70px;
}


.page-specialmomentsshowcase-alt.block-birth-gifts--flipped .image-row {
    justify-content: flex-start;
    margin-bottom: 105px;
}


.page-specialmomentsshowcase-alt.block-birth-gifts--flipped .product-image--round {
    height: 330px;
    border-radius: 50% 50% 0 0;
    background: #f6f1eb;
}


.page-specialmomentsshowcase-alt.block-birth-gifts--flipped .text-block {
    max-width: 520px;
    margin-left: 0;
    margin-right: 0;
}
.page-specialmomentsshowcase-alt.block-birth-gifts--flipped .text-block h2 {
    font-family: 'Lora', sans-serif;
    font-size: 20pt;
    font-weight: 400;
    color: #5b3339;
    margin-bottom: 28px;
}
.page-specialmomentsshowcase-alt.block-birth-gifts--flipped .text-block .block-content p {
    font-family: 'Montserrat', Sans-Serif;
    font-size: 16pt;
}


@media (max-width: 991px) {


    .page-specialmomentsshowcase-alt.block-birth-gifts--flipped .content-panel {
        padding: 50px 35px;
    }


    .page-specialmomentsshowcase-alt.block-birth-gifts--flipped .image-row {
        margin-bottom: 55px;
    }


    .page-specialmomentsshowcase-alt.block-birth-gifts--flipped .product-image--round {
        height: 260px;
    }


}


/* ===== page.specialmomentsshowcase.tpl.php ===== */


/* scoped under: .page-specialmomentsshowcase */


.page-specialmomentsshowcase.block-birth-gifts {
    background: #fff;
    overflow: hidden;
}


.page-specialmomentsshowcase.block-birth-gifts .main-image {
    height: 760px;
}


.page-specialmomentsshowcase.block-birth-gifts .main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.page-specialmomentsshowcase.block-birth-gifts .content-panel {
    min-height: 760px;
    padding: 90px 110px 70px;
}


.page-specialmomentsshowcase.block-birth-gifts .image-row {
    margin-bottom: 130px;
}


.page-specialmomentsshowcase.block-birth-gifts .product-image {
    height: 315px;
    overflow: hidden;
    background: #f6f1eb;
}


.page-specialmomentsshowcase.block-birth-gifts .product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.page-specialmomentsshowcase.block-birth-gifts .text-block {
    max-width: 420px;
    margin-left: auto;
    margin-right: 100px;
}


.page-specialmomentsshowcase.block-birth-gifts h2 {
    font-family: 'Lora', sans-serif;
    font-size: 20pt;
    font-weight: 400;
    color: #5b3339;
    margin-bottom: 28px;
}


.page-specialmomentsshowcase.block-birth-gifts .block-content {
    font-size: 28px;
    line-height: 1.45;
    color: #5b3339;
}


.page-specialmomentsshowcase.block-birth-gifts .block-content p {
    font-family: 'Montserrat', sans-serif;
    font-size: 16pt;
    margin-bottom: 0;
}


@media (max-width: 991px) {


    .page-specialmomentsshowcase.block-birth-gifts .main-image {
        height: 420px;
    }


    .page-specialmomentsshowcase.block-birth-gifts .content-panel {
        min-height: auto;
        padding: 50px 35px;
    }


    .page-specialmomentsshowcase.block-birth-gifts .image-row {
        margin-bottom: 55px;
    }


    .page-specialmomentsshowcase.block-birth-gifts .product-image {
        height: 260px;
        margin-bottom: 25px;
    }


    .page-specialmomentsshowcase.block-birth-gifts .text-block {
        max-width: 100%;
        margin: 0;
    }


    .page-specialmomentsshowcase.block-birth-gifts .block-content {
        font-size: 23px;
    }


}


/* ===== page.sustainability.tpl.php ===== */


/* scoped under: .page-sustainability */


.page-sustainability.block-sustainability {
    position: relative;
    background: #f4eee6;
    padding: 95px 0 150px;
    overflow: hidden;
    color: #5b3339;
}


.page-sustainability.block-sustainability .image-wrapper {
    max-width: 720px;
    margin-left: auto;
    margin-right: 35px;
    margin-top: 110px;
}


.page-sustainability.block-sustainability h2 {
    font-family: 'Lato', sans-serif;
    font-size: 32pt;
    line-height: 1.1;
    color: #5b3339;
    margin: 0 0 30px 210px;
}


.page-sustainability.block-sustainability .image-wrapper img {
    width: 100%;
    display: block;
}


.page-sustainability.block-sustainability .text-wrapper {
    font-family: 'Montserrat', sans-serif;
    font-size: 13pt;
    max-width: 330px;
    padding-top: 210px;
    line-height: 1.18;
    color: #6b4147;
    margin-left: 70px;
}
.page-sustainability.block-sustainability .text-wrapper p {
    font-family: 'Montserrat', sans-serif;
    font-size: 13pt;
    margin-bottom: 25px;
}

.page-sustainability.block-sustainability .corner {
    position: absolute;
    width: 150px;
    height: 150px;
    z-index: 1;
}
.page-sustainability.block-sustainability .corner:before, 
.page-sustainability.block-sustainability .corner:after {
    content: "";
    position: absolute;
    background: #5b3339;
}


.page-sustainability.block-sustainability .corner-top-left {
    left: 18%;
    top: 23%;
}
.page-sustainability.block-sustainability .corner-top-left:before {
    width: 42px;
    height: 250px;
    left: 0;
    top: 0;
}
.page-sustainability.block-sustainability .corner-top-left:after {
    width: 250px;
    height: 42px;
    left: 0;
    top: 0;
}

.page-sustainability.block-sustainability .corner-bottom-right {
    right: 43%;
    bottom: 7%;
}
.page-sustainability.block-sustainability .corner-bottom-right:before {
    width: 42px;
    height: 250px;
    right: 0;
    bottom: 0;
}
.page-sustainability.block-sustainability .corner-bottom-right:after {
    width: 250px;
    height: 42px;
    right: 0;
    bottom: 0;
}

@media (max-width: 991px) {
    .page-sustainability.block-sustainability {
        padding: 60px 0;
    }


    .page-sustainability.block-sustainability .image-wrapper {
        max-width: 100%;
        margin: 0;
    }


    .page-sustainability.block-sustainability h2 {
        font-size: 38px;
        margin: 0 0 30px;
        text-align: center;
    }


    .page-sustainability.block-sustainability .text-wrapper {
        max-width: 100%;
        padding-top: 40px;
        font-size: 22px;
        text-align: center;
    }


    .page-sustainability.block-sustainability .corner {
        display: none;
    }


}


/* ===== page.teammember-alt.tpl.php ===== */


/* scoped under: .page-teammember-alt */


.page-teammember-alt.block-team-member {

    background: #f4eee6;

    padding: 90px 0;

    overflow: hidden;
}


.page-teammember-alt.block-team-member .member-image {

    width: 460px;

    height: 560px;

    margin: auto;

    border-radius: 50% 50% 0 0;

    overflow: hidden;
}


.page-teammember-alt.block-team-member .member-image img {
    width: auto;
    height: 560px;
    object-fit: cover;
    display: block;
}


.page-teammember-alt.block-team-member .member-content {
    max-width: 620px;
    color: #6a4a4a;
    padding-left: 100px;
    padding-top: 100px;
}


.page-teammember-alt.block-team-member h2 {
    font-family: 'Lora', serif;
    font-size: 20pt;
    font-weight: 400;
    color: #111;
    margin-bottom: 70px;
    text-align: right;
}


.page-teammember-alt.block-team-member .block-content {
    font-size: 28px;
    line-height: 1.32;
    text-align: right;
}


.page-teammember-alt.block-team-member .block-content p {
    font-family: 'Montserrat', sans-serif;
    font-size: 13pt;
    margin-bottom: 20px;
}


/*************************************************
    LEFT / RIGHT VARIANTS
    *************************************************/


.page-teammember-alt.block-team-member.image-right .image-column {

    order: 2;
}


.page-teammember-alt.block-team-member.image-right .text-column {

    order: 1;
}


.page-teammember-alt.block-team-member.image-left .image-column {

    order: 1;
}


.page-teammember-alt.block-team-member.image-left .text-column {

    order: 2;
}


@media (max-width: 991px) {


    .page-teammember-alt.block-team-member {

        padding: 55px 0;
    }


    .page-teammember-alt.block-team-member .image-column, .page-teammember-alt.block-team-member .text-column {

        order: initial !important;
    }


    .page-teammember-alt.block-team-member .member-image {

        width: 100%;
        max-width: 430px;

        height: 500px;

        margin-bottom: 40px;
    }


    .page-teammember-alt.block-team-member .member-content {

        max-width: 100%;
        text-align: center;
    }


    .page-teammember-alt.block-team-member h2 {

        font-size: 36px;

        margin-bottom: 35px;
    }


    .page-teammember-alt.block-team-member .block-content {

        font-size: 22px;
    }


}


/* ===== page.teammember.tpl.php ===== */


/* scoped under: .page-teammember */


.page-teammember.block-team-member {

    background: #f4eee6;

    padding: 90px 0;

    overflow: hidden;
}


.page-teammember.block-team-member .member-image {
    width: auto;
    height: 560px;
    margin: auto;
    border-radius: 50% 50% 0 0;
    overflow: hidden;
}


.page-teammember.block-team-member .member-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;
}


.page-teammember.block-team-member .member-content {
    max-width: 620px;
    color: #6a4a4a;
    padding-right: 100px;
    padding-top: 100px;
}


.page-teammember.block-team-member h2 {
    font-family: 'Lora', serif;
    font-size: 20pt;
    font-weight: 400;
    color: #111;
    margin-bottom: 70px;
}

.page-teammember.block-team-member .block-content {
    font-size: 28px;
    line-height: 1.32;
}

.page-teammember.block-team-member .block-content p {
    font-family: 'Montserrat', sans-serif;
    font-size: 13pt;
    margin-bottom: 20px;
    text-align: left;
}


/*************************************************
    LEFT / RIGHT VARIANTS
    *************************************************/


.page-teammember.block-team-member.image-right .image-column {

    order: 2;
}


.page-teammember.block-team-member.image-right .text-column {

    order: 1;
}


.page-teammember.block-team-member.image-left .image-column {

    order: 1;
}


.page-teammember.block-team-member.image-left .text-column {

    order: 2;
}


@media (max-width: 991px) {


    .page-teammember.block-team-member {

        padding: 55px 0;
    }


    .page-teammember.block-team-member .image-column, .page-teammember.block-team-member .text-column {

        order: initial !important;
    }


    .page-teammember.block-team-member .member-image {

        width: 100%;
        max-width: 430px;

        height: 500px;

        margin-bottom: 40px;
    }


    .page-teammember.block-team-member .member-content {

        max-width: 100%;
        text-align: center;
    }


    .page-teammember.block-team-member h2 {

        font-size: 36px;

        margin-bottom: 35px;
    }


    .page-teammember.block-team-member .block-content {

        font-size: 22px;
    }


}




/* ===== webshop_categorylist.php (category menu) ===== */

.ps-category-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ps-category-menu__item {
    margin: 0;
    border-bottom: 1px solid #efe6da;
}

.ps-category-menu__item:first-child {
    border-top: 1px solid #efe6da;
}

.ps-category-menu__link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 4px;
    font-family: 'Lora', serif;
    font-size: 16px;
    letter-spacing: 1px;
    color: #4a3a2e;
    text-decoration: none;
    -webkit-transition: all 0.35s ease;
    -moz-transition: all 0.35s ease;
    transition: all 0.35s ease;
}

.ps-category-menu__link .ps-category-menu__caret {
    font-size: 11px;
    color: #c8ab8a;
    -webkit-transition: all 0.35s ease;
    -moz-transition: all 0.35s ease;
    transition: all 0.35s ease;
}

.ps-category-menu__link:hover {
    color: #8a6d3b;
    padding-left: 10px;
}

.ps-category-menu__link:hover .ps-category-menu__caret {
    color: #8a6d3b;
    -webkit-transform: translateY(1px);
    -moz-transform: translateY(1px);
    transform: translateY(1px);
}

.ps-category-menu__item.current > .ps-category-menu__link {
    color: #8a6d3b;
    font-weight: 700;
    padding-left: 10px;
}

.ps-category-menu__item.current > .ps-category-menu__link .ps-category-menu__caret {
    color: #8a6d3b;
}

.ps-category-menu__sub {
    list-style: none;
    margin: 0 0 8px;
    padding: 6px 0 8px 14px;
    border-left: 2px solid #e3d4bf;
    margin-left: 12px;
}

.ps-category-menu__sub-item {
    margin: 0;
    padding: 0;
}

.ps-category-menu__sub-link {
    display: block;
    position: relative;
    padding: 10px 8px 10px 18px;
    font-family: 'Raleway', sans-serif;
    font-size: 14px;
    color: #6b5a4a;
    text-decoration: none;
    -webkit-transition: all 0.35s ease;
    -moz-transition: all 0.35s ease;
    transition: all 0.35s ease;
}

.ps-category-menu__sub-link:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d9c5a4;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all 0.35s ease;
    -moz-transition: all 0.35s ease;
    transition: all 0.35s ease;
}

.ps-category-menu__sub-link:hover {
    color: #8a6d3b;
    padding-left: 24px;
}

.ps-category-menu__sub-link:hover:before {
    background: #cd9b33;
}

.ps-category-menu__sub-link.current {
    color: #8a6d3b;
    font-weight: 700;
}

.ps-category-menu__sub-link.current:before {
    background: #cd9b33;
    box-shadow: 0 0 0 3px rgba(205, 155, 51, 0.18);
}

/* =========================================================
   Artimar homepage — version 2 block system
   ========================================================= */

.artimar-home,
.artimar-home-hero {
    --artimar-brand: #5a3036;
    --artimar-brand-dark: #43252a;
    --artimar-accent: #98865d;
    --artimar-accent-light: #c8b991;
    --artimar-paper: #f4ede4;
    --artimar-soft: #faf8f4;
    --artimar-white: #fdfbf7;
    --artimar-ink: #302925;
    --artimar-muted: #716760;
    --artimar-line: #d8cdc1;
    color: var(--artimar-ink);
    font-family: 'Lora', serif;
    font-size: 18px;
}

.artimar-home {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--artimar-soft);
}

.artimar-home > .introblock { order: 10; }
.artimar-home > .doublequote { order: 20; }
.artimar-home > .quote { order: 30; }
.artimar-home > .choco-section { order: 40; }
.artimar-home > .links-section { order: 50; }
.artimar-home > .artimar-home-hero { order: 5; }
.artimar-home > .artimar-home-intro { order: 10; }
.artimar-home > .artimar-home-season { order: 20; }
.artimar-home > .artimar-home-atelier { order: 30; }
.artimar-home > .artimar-home-assortment { order: 50; }
.artimar-home > .artimar-home-business { order: 60; }
.artimar-home > .artimar-home-quality { order: 70; }
.artimar-home > .customcode-section { order: 70; }

.artimar-shell {
    width: min(1320px, calc(100% - 80px));
    margin-right: auto;
    margin-left: auto;
}

.artimar-eyebrow {
    margin: 0;
    color: var(--artimar-accent);
    font: 600 14px/1.4 'Lato', sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.artimar-eyebrow--light {
    color: var(--artimar-accent-light);
}

.artimar-button {
    min-height: 48px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    font: 600 15px/1 'Lato', sans-serif;
    text-decoration: none;
}

.artimar-button--gold {
    background: var(--artimar-accent);
    color: #fffdf8;
}

.artimar-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(90, 48, 54, .36);
    font: 600 15px/1.3 'Lato', sans-serif;
    text-decoration: none;
}

.artimar-text-link--light {
    border-color: rgba(255, 255, 255, .4);
    color: #fff;
}

/* Homepage hero: three images remain visible, with the centre image active. */
.artimar-home-hero {
    height: 570px;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(360px, .85fr);
    background: var(--artimar-soft);
}

.artimar-home-hero--no-images {
    grid-template-columns: 1fr;
}

.artimar-home-hero--no-images .artimar-home-hero__slider {
    display: none;
}

.artimar-home-hero__slider {
    height: 570px;
    display: grid;
    grid-template-columns: .17fr .66fr .17fr;
    gap: 10px;
    align-items: center;
    position: relative;
    overflow: hidden;
    background: #ece2d5;
    touch-action: pan-y;
}

.artimar-home-hero__slide {
    height: 500px;
    min-width: 0;
    display: block;
    position: relative;
    overflow: hidden;
    transition: height .45s ease, transform .45s ease, opacity .45s ease;
}

.artimar-home-hero__slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: opacity .45s ease, filter .45s ease, transform .45s ease;
}

.artimar-home-hero__slide.is-active {
    height: 570px;
    grid-column: 2;
    z-index: 3;
}

.artimar-home-hero__slide.is-previous {
    grid-column: 1;
}

.artimar-home-hero__slide.is-next {
    grid-column: 3;
}

.artimar-home-hero__slide.is-side img {
    opacity: .31;
    filter: saturate(.55) contrast(.88);
}

.artimar-home-hero__slide.is-side:hover img {
    opacity: .48;
    filter: saturate(.75) contrast(.94);
}

.artimar-home-hero__slide.is-hidden {
    display: none;
}

.artimar-home-hero__slider--1 {
    grid-template-columns: 1fr;
}

.artimar-home-hero__slider--1 .artimar-home-hero__slide.is-active {
    grid-column: 1;
}

.artimar-home-hero__controls {
    position: absolute;
    z-index: 6;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 13px;
    background: rgba(248, 242, 233, .94);
    box-shadow: 0 7px 22px rgba(64, 40, 29, .11);
}

.artimar-home-hero__controls > button {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--artimar-brand);
    cursor: pointer;
}

.artimar-home-hero__controls > span {
    white-space: nowrap;
    font: 500 13px/1 'Lato', sans-serif;
    letter-spacing: .08em;
}

.artimar-home-hero__controls > i {
    width: 44px;
    height: 2px;
    display: block;
    overflow: hidden;
    background: #cbbdad;
}

.artimar-home-hero__controls > i b {
    width: 100%;
    height: 100%;
    display: block;
    background: var(--artimar-brand);
    transform: scaleX(0);
    transform-origin: left center;
}

.artimar-home-hero__slider.is-autoplay .artimar-home-hero__controls > i b {
    animation: artimar-home-hero-progress 6.5s linear forwards;
}

.artimar-home-hero__controls > div {
    display: flex;
    gap: 6px;
}

.artimar-home-hero__controls > div button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 1px solid #947f70;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.artimar-home-hero__controls > div button.is-active {
    border-color: var(--artimar-brand);
    background: var(--artimar-brand);
}

@keyframes artimar-home-hero-progress {
    to { transform: scaleX(1); }
}

.artimar-home-hero__copy {
    height: 570px;
    padding: 56px 44px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    background: var(--artimar-brand);
    color: #fff;
}

.artimar-home-hero__copy > div {
    position: relative;
    z-index: 1;
}

.artimar-home-hero__copy h1 {
    max-width: 520px;
    margin: 15px 0 23px;
    color: #fff;
    font: 400 clamp(46px, 4vw, 62px)/1.01 'Foda Display', serif;
    letter-spacing: -.02em;
}

.artimar-home-hero__description {
    max-width: 430px;
    margin: 0;
    color: rgba(255, 249, 239, .86);
    font: 400 18px/1.72 'Lora', serif;
}

.artimar-home-hero__actions {
    margin-top: 28px;
    display: flex;
    align-items: center;
    gap: 22px;
}

.artimar-home-atelier__actions,
.artimar-home-assortment__actions {
    margin-top: 28px;
    display: flex;
    align-items: center;
    gap: 22px;
}

.artimar-home-hero__actions a:first-child,
.artimar-home-atelier__actions a:first-child,
.artimar-home-assortment__actions a:first-child {
    min-height: 48px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: var(--artimar-accent);
    color: #fffdf8;
    font: 600 15px/1 'Lato', sans-serif;
    text-decoration: none;
}

.artimar-home-hero__actions a + a,
.artimar-home-atelier__actions a + a,
.artimar-home-assortment__actions a + a {
    display: inline-flex;
    align-items: center;
    padding-bottom: 5px;
    border-bottom: 1px solid currentColor;
    color: inherit;
    font: 600 15px/1.3 'Lato', sans-serif;
    text-decoration: none;
}

.artimar-home-hero__actions a + a {
    color: #fff;
    border-color: rgba(255, 255, 255, .4);
}

/* Brand introduction block. */
.artimar-home-intro {
    padding: 82px 0 68px;
    background: var(--artimar-soft);
}

.artimar-home-intro__grid {
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    gap: 52px 92px;
    align-items: center;
}

.artimar-home-intro__heading h2 {
    max-width: 560px;
    margin: 14px 0 0;
    color: var(--artimar-brand);
    font: 400 clamp(50px, 5vw, 70px)/.98 'Foda Display', serif;
}

.artimar-home-intro__story {
    padding-left: 42px;
    border-left: 1px solid var(--artimar-line);
    color: var(--artimar-muted);
    font: 400 18px/1.75 'Lora', serif;
}

.artimar-home-intro__story p {
    margin: 0 0 15px;
}

.artimar-home-intro__story p:first-child {
    color: var(--artimar-ink);
    font-size: 20px;
    line-height: 1.65;
}

.artimar-home-intro__facts {
    grid-column: 1 / -1;
}

.artimar-home-intro__facts:empty {
    display: none;
}

.artimar-home-intro__facts > * {
    margin: 0;
}

.artimar-home-intro__facts ul {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--artimar-line);
    border-bottom: 1px solid var(--artimar-line);
    list-style: none;
}

.artimar-home-intro__facts li {
    padding: 24px 26px;
    border-left: 1px solid var(--artimar-line);
}

.artimar-home-intro__facts li:first-child {
    border-left: 0;
}

/* Seasonal introduction and image showcase. */
.artimar-home-season-intro {
    padding: 84px 0 42px;
    background: var(--artimar-paper);
}

.artimar-home-season-intro__grid,
.artimar-home-section-heading {
    display: grid;
    grid-template-columns: 1fr .92fr;
    gap: 90px;
    align-items: end;
}

.artimar-home-season-intro__title .artimar-display-title,
.artimar-home-season-intro__title .artimar-display-title p,
.artimar-home-season-intro__title .artimar-display-title h2 {
    margin: 12px 0 0;
    color: var(--artimar-brand);
    font: 400 clamp(50px, 5vw, 64px)/.98 'Foda Display', serif;
}

.artimar-home-season-intro__copy {
    color: var(--artimar-muted);
    font: 400 18px/1.72 'Lora', serif;
}

.artimar-home-season-intro__copy p {
    margin: 0;
}

.artimar-home-season-showcase {
    padding: 0 0 84px;
    background: var(--artimar-paper);
}

.artimar-home-season-showcase__grid {
    height: 520px;
    display: grid;
    grid-template-columns: 1.16fr .84fr;
    grid-template-rows: 1fr 1fr;
    gap: 18px;
}

.artimar-home-season-showcase figure {
    min-height: 0;
    margin: 0;
    position: relative;
    overflow: hidden;
    background: #e8ded2;
}

.artimar-home-season-showcase__feature {
    grid-row: 1 / 3;
}

.artimar-home-season-showcase figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.artimar-home-season-showcase figure:hover img {
    transform: scale(1.025);
}

.artimar-home-season-showcase figcaption {
    position: absolute;
    left: 24px;
    bottom: 22px;
    padding: 13px 17px;
    background: rgba(74, 34, 43, .92);
    color: #fff;
    font: 600 18px/1.3 'Lato', sans-serif;
}

.artimar-home-season-showcase__card figcaption {
    background: rgba(253, 251, 247, .94);
    color: var(--artimar-brand);
}

.artimar-home-season-showcase__bar {
    min-height: 78px;
    margin-top: 30px;
    padding: 18px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    background: #eadcc8;
    color: var(--artimar-muted);
}

.artimar-home-season-showcase__bar p {
    margin: 0;
}

.artimar-home-season-showcase__bar a {
    flex: none;
    color: var(--artimar-brand);
    font: 600 15px/1.3 'Lato', sans-serif;
}

/* Atelier story. */
.artimar-home-atelier {
    padding: 78px 0;
    overflow: hidden;
    background: var(--artimar-brand);
    color: #fff;
}

.artimar-home-atelier__grid {
    min-height: 630px;
    display: grid;
    grid-template-columns: 1fr 1.04fr .31fr;
    gap: 28px;
    align-items: center;
}

.artimar-home-atelier__copy {
    padding-right: 22px;
}

.artimar-home-atelier__copy h2 {
    margin: 14px 0 25px;
    color: #fff;
    font: 400 clamp(42px, 4vw, 56px)/1.04 'Foda Display', serif;
}

.artimar-home-atelier__story {
    color: rgba(255, 248, 239, .88);
    font: 400 18px/1.72 'Lora', serif;
}

.artimar-home-atelier__story p {
    margin: 0 0 16px;
}

.artimar-home-atelier__photo,
.artimar-home-atelier__detail {
    margin: 0;
}

.artimar-home-atelier__photo {
    height: 510px;
    overflow: hidden;
}

.artimar-home-atelier__photo img,
.artimar-home-atelier__detail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.artimar-home-atelier__photo img {
    filter: grayscale(1) contrast(1.05);
}

.artimar-home-atelier__detail {
    align-self: start;
    margin: 58px 0 0 -68px;
    position: relative;
    z-index: 2;
}

.artimar-home-atelier__detail img {
    height: 220px;
    filter: saturate(.65);
    box-shadow: 0 22px 45px rgba(42, 17, 24, .24);
}

.artimar-home-atelier__detail figcaption {
    width: max-content;
    max-width: 245px;
    margin-left: auto;
    padding: 13px 17px 14px;
    background: var(--artimar-paper);
    color: var(--artimar-brand);
    font: 600 16px/1.4 'Lato', sans-serif;
}

/* Assortment and business blocks. */
.artimar-home-assortment,
.artimar-home-business {
    padding: 84px 0;
}

.artimar-home-assortment {
    background: var(--artimar-white);
}

.artimar-home-business {
    background: var(--artimar-paper);
}

.artimar-home-section-heading {
    margin-bottom: 42px;
}

.artimar-home-section-heading h2 {
    margin: 12px 0 0;
    color: var(--artimar-brand);
    font: 400 clamp(48px, 5vw, 64px)/.98 'Foda Display', serif;
}

.artimar-home-section-heading__copy {
    color: var(--artimar-muted);
    font: 400 18px/1.72 'Lora', serif;
}

.artimar-home-section-heading__copy p {
    margin: 0 0 15px;
}

.artimar-home-assortment__grid {
    height: 590px;
    display: grid;
    grid-template-columns: 1.24fr .56fr;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
}

.artimar-home-assortment figure {
    min-height: 0;
    margin: 0;
    position: relative;
    overflow: hidden;
    background: var(--artimar-paper);
}

.artimar-home-assortment__main {
    grid-row: 1 / 3;
}

.artimar-home-assortment figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.artimar-home-assortment figure:hover img {
    transform: scale(1.025);
}

.artimar-home-assortment figcaption {
    position: absolute;
    left: 20px;
    bottom: 18px;
    padding: 12px 16px;
    background: rgba(253, 251, 247, .94);
    color: var(--artimar-brand);
    font: 600 17px/1.3 'Lato', sans-serif;
}

.artimar-home-assortment__main figcaption {
    right: 24px;
    left: 24px;
    bottom: 24px;
    padding: 18px 22px;
    background: rgba(74, 34, 43, .92);
    color: #fff;
    font-size: 28px;
}

.artimar-home-business__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.artimar-home-business__card {
    height: 370px;
    display: block;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
}

.artimar-home-business__card:after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(transparent 30%, rgba(40, 25, 27, .95) 88%);
}

.artimar-home-business__card > img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    z-index: -2;
    object-fit: cover;
    filter: brightness(.72) saturate(.8);
    transition: transform .45s ease;
}

.artimar-home-business__card:hover > img {
    transform: scale(1.025);
}

.artimar-home-business__card > span {
    position: absolute;
    right: 30px;
    bottom: 27px;
    left: 30px;
}

.artimar-home-business__card strong,
.artimar-home-business__card small,
.artimar-home-business__card b {
    display: block;
}

.artimar-home-business__card strong {
    color: var(--artimar-accent-light);
    font: 600 13px/1.4 'Lato', sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.artimar-home-business__card small {
    margin-top: 7px;
    color: #fff;
    font: 600 30px/1.2 'Lato', sans-serif;
}

.artimar-home-business__card b {
    margin-top: 12px;
    font: 600 14px/1.3 'Lato', sans-serif;
}

.artimar-home-business__proof:empty {
    display: none;
}

.artimar-home-business__proof ul {
    min-height: 76px;
    margin: 28px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    background: #eadcc7;
    list-style: none;
}

.artimar-home-business__proof li {
    padding: 16px 23px;
    border-left: 1px solid #ccbaa4;
    font: 600 14px/1.4 'Lato', sans-serif;
}

.artimar-home-business__proof li:first-child {
    border-left: 0;
}

/* Reusable quality pillars block. Content can be authored as a list or articles. */
.artimar-home-quality {
    padding: 58px 0;
    background: #f8f3ec;
}

.artimar-home-quality__content > ul,
.artimar-home-quality__content > ol,
.artimar-home-quality__content {
    margin-top: 0;
    margin-bottom: 0;
}

.artimar-home-quality__content {
    display: flex;
    flex-wrap: wrap;
}

.artimar-home-quality__content > ul,
.artimar-home-quality__content > ol {
    width: 100%;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    list-style: none;
}

.artimar-home-quality__content > article,
.artimar-home-quality__content > div,
.artimar-home-quality__content > ul > li,
.artimar-home-quality__content > ol > li {
    min-height: 198px;
    padding: 28px 46px;
    border-left: 1px solid var(--artimar-line);
    text-align: center;
}

.artimar-home-quality__content > article:first-child,
.artimar-home-quality__content > div:first-child,
.artimar-home-quality__content > ul > li:first-child,
.artimar-home-quality__content > ol > li:first-child {
    border-left: 0;
}

.artimar-home-quality__content > article,
.artimar-home-quality__content > div {
    width: 33.333%;
    display: inline-flex;
    vertical-align: top;
    align-items: center;
    justify-content: center;
}

.artimar-home-quality__content h2,
.artimar-home-quality__content h3 {
    margin: 0 0 12px;
    color: var(--artimar-brand);
    font: 600 22px/1.3 'Lato', sans-serif;
}

.artimar-home-quality__content p {
    max-width: 340px;
    margin: 0 auto;
    color: var(--artimar-muted);
    font: 400 17px/1.58 'Lora', serif;
}

/* Existing custom-code quality block, restyled without changing CMS data. */
.artimar-home > .customcode-section {
    padding: 58px 0;
    background: #f8f3ec !important;
}

.artimar-home > .customcode-section > .container {
    width: min(1320px, calc(100% - 80px));
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.artimar-home > .customcode-section .row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.artimar-home > .customcode-section .row > div {
    width: auto;
    min-height: 198px;
    padding: 18px 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid var(--artimar-line);
    text-align: center;
}

.artimar-home > .customcode-section .row > div:first-child {
    border-left: 0;
}

.artimar-home > .customcode-section .ps-block--award img {
    width: 70px;
    height: 70px;
    margin: 0 auto 15px;
    object-fit: contain;
}

.artimar-home > .customcode-section .ps-block--award p {
    max-width: 340px;
    margin: 0;
    color: var(--artimar-muted) !important;
    font: 400 17px/1.58 'Lora', serif !important;
}

@media (max-width: 1100px) {
    .artimar-shell,
    .artimar-home > .customcode-section > .container {
        width: calc(100% - 48px);
    }

    .artimar-home-hero {
        grid-template-columns: 1.42fr .88fr;
    }

    .artimar-home-hero__copy {
        padding-right: 32px;
        padding-left: 32px;
    }

    .artimar-home-atelier__grid {
        grid-template-columns: .95fr 1.05fr;
    }

    .artimar-home-atelier__detail {
        display: none;
    }
}

@media (max-width: 900px) {
    .artimar-shell,
    .artimar-home > .customcode-section > .container {
        width: calc(100% - 28px);
    }

    .artimar-home-hero {
        width: 100%;
        height: auto;
        grid-template-columns: 1fr;
    }

    .artimar-home-hero__slider {
        height: 440px;
    }

    .artimar-home-hero__slide {
        height: 390px;
    }

    .artimar-home-hero__slide.is-active {
        height: 440px;
    }

    .artimar-home-hero__copy {
        width: calc(100% - 28px);
        height: auto;
        min-height: 420px;
        margin: 0 auto;
        padding: 50px 34px;
    }

    .artimar-home-intro__grid,
    .artimar-home-season-intro__grid,
    .artimar-home-section-heading {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .artimar-home-intro__story {
        padding: 26px 0 0;
        border-top: 1px solid var(--artimar-line);
        border-left: 0;
    }

    .artimar-home-intro__facts ul {
        grid-template-columns: 1fr;
    }

    .artimar-home-intro__facts li {
        border-top: 1px solid var(--artimar-line);
        border-left: 0;
    }

    .artimar-home-season-showcase__grid {
        height: auto;
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .artimar-home-season-showcase__feature {
        height: 430px;
        grid-row: auto;
    }

    .artimar-home-season-showcase__card {
        height: 270px;
    }

    .artimar-home-atelier__grid {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .artimar-home-atelier__copy {
        padding-right: 0;
    }

    .artimar-home-atelier__photo {
        height: 460px;
    }

    .artimar-home-assortment__grid {
        height: auto;
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .artimar-home-assortment__main {
        height: 520px;
        grid-row: auto;
    }

    .artimar-home-assortment__detail {
        height: 280px;
    }

    .artimar-home-business__grid {
        grid-template-columns: 1fr;
    }

    .artimar-home-business__card {
        height: 330px;
    }

    .artimar-home-business__proof ul {
        grid-template-columns: 1fr 1fr;
    }

    .artimar-home-business__proof li:nth-child(odd) {
        border-left: 0;
    }

    .artimar-home-quality__content > ul,
    .artimar-home-quality__content > ol {
        grid-template-columns: 1fr;
    }

    .artimar-home-quality__content > article,
    .artimar-home-quality__content > div,
    .artimar-home-quality__content > ul > li,
    .artimar-home-quality__content > ol > li {
        width: 100%;
        min-height: 160px;
        border-top: 1px solid var(--artimar-line);
        border-left: 0;
    }

    .artimar-home-quality__content > article:first-child,
    .artimar-home-quality__content > div:first-child,
    .artimar-home-quality__content > ul > li:first-child,
    .artimar-home-quality__content > ol > li:first-child {
        border-top: 0;
    }

    .artimar-home > .customcode-section .row {
        grid-template-columns: 1fr;
    }

    .artimar-home > .customcode-section .row > div {
        min-height: 190px;
        border-top: 1px solid var(--artimar-line);
        border-left: 0;
    }

    .artimar-home > .customcode-section .row > div:first-child {
        border-top: 0;
    }
}

@media (max-width: 520px) {
    .artimar-home,
    .artimar-home-hero {
        font-size: 18px;
    }

    .artimar-home-hero__slider {
        height: 360px;
        grid-template-columns: .16fr .68fr .16fr;
        gap: 5px;
    }

    .artimar-home-hero__slide {
        height: 320px;
    }

    .artimar-home-hero__slide.is-active {
        height: 360px;
    }

    .artimar-home-hero__copy {
        min-height: 410px;
        padding: 44px 26px;
    }

    .artimar-home-hero__copy h1 {
        font-size: 43px;
    }

    .artimar-home-hero__actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 17px;
    }

    .artimar-home-atelier__actions,
    .artimar-home-assortment__actions {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: 17px;
    }

    .artimar-home-intro,
    .artimar-home-assortment,
    .artimar-home-business {
        padding: 64px 0;
    }

    .artimar-home-season-intro {
        padding-top: 64px;
    }

    .artimar-home-intro__heading h2,
    .artimar-home-season-intro__title .artimar-display-title,
    .artimar-home-season-intro__title .artimar-display-title p,
    .artimar-home-section-heading h2 {
        font-size: 46px;
    }

    .artimar-home-season-showcase__bar {
        padding: 20px;
        align-items: flex-start;
        flex-direction: column;
    }

    .artimar-home-atelier__copy h2 {
        font-size: 42px;
    }

    .artimar-home-atelier__photo {
        height: 360px;
    }

    .artimar-home-assortment__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .artimar-home-assortment__main {
        height: 360px;
        grid-column: 1 / -1;
    }

    .artimar-home-assortment__detail {
        height: 190px;
    }

    .artimar-home-assortment figcaption {
        right: 8px;
        bottom: 8px;
        left: 8px;
        padding: 9px;
        font-size: 14px;
    }

    .artimar-home-business__card {
        height: 300px;
    }

    .artimar-home-business__proof li {
        padding: 13px;
        font-size: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .artimar-home-hero__slide,
    .artimar-home-hero__slide img,
    .artimar-home-assortment figure img,
    .artimar-home-business__card > img {
        transition: none;
    }

    .artimar-home-hero__slider.is-autoplay .artimar-home-hero__controls > i b {
        animation: none;
        transform: scaleX(1);
    }
}

/* =========================================================
   Artimar reusable content-page block system
   ========================================================= */

.artimar-page {
    --artimar-brand: #5a3036;
    --artimar-brand-dark: #43252a;
    --artimar-accent: #98865d;
    --artimar-accent-light: #c8b991;
    --artimar-paper: #f4ede4;
    --artimar-soft: #faf8f4;
    --artimar-white: #fdfbf7;
    --artimar-ink: #302925;
    --artimar-muted: #716760;
    --artimar-line: #d8cdc1;
    overflow: visible;
    background: var(--artimar-soft);
    color: var(--artimar-ink);
    font: 400 18px/1.72 'Lora', serif;
}

.artimar-page-shell {
    width: min(1320px, calc(100% - 80px));
    margin-right: auto;
    margin-left: auto;
}

.artimar-page-eyebrow {
    margin: 0;
    color: var(--artimar-accent);
    font: 700 14px/1.4 'Lato', sans-serif;
    letter-spacing: .17em;
    text-transform: uppercase;
}

/* Shared editorial hero; reusable on every catalogue or promotional page. */
.artimar-page-hero {
    padding: 74px 0;
    border-bottom: 1px solid var(--artimar-line);
    background: var(--artimar-paper);
}

.artimar-page-hero__inner {
    min-height: 390px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
}

.artimar-page-hero--with-image .artimar-page-hero__inner {
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
    gap: 74px;
}

.artimar-page-hero__copy {
    max-width: 780px;
}

.artimar-page-hero__copy h1 {
    margin: 16px 0 25px;
    color: var(--artimar-brand);
    font: 400 clamp(54px, 6.4vw, 86px)/.94 'Foda Display', serif;
    letter-spacing: -.025em;
}

.artimar-page-hero__copy h1 em {
    color: var(--artimar-accent);
    font-style: normal;
}

.artimar-page-hero__summary {
    max-width: 640px;
    color: var(--artimar-muted);
    font-size: 19px;
}

.artimar-page-hero__summary p {
    margin: 0 0 16px;
}

.artimar-page-hero__actions {
    margin-top: 28px;
    display: flex;
    align-items: center;
    gap: 22px;
}

.artimar-page-hero__actions a:first-child {
    min-height: 49px;
    padding: 0 25px;
    display: inline-flex;
    align-items: center;
    background: var(--artimar-brand);
    color: #fff;
    font: 700 15px/1 'Lato', sans-serif;
    text-decoration: none;
}

.artimar-page-hero__actions a + a {
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(90, 48, 54, .35);
    color: var(--artimar-brand);
    font: 700 15px/1.3 'Lato', sans-serif;
}

.artimar-page-hero__image {
    height: 440px;
    margin: 0;
    overflow: hidden;
    background: #e8ddd0;
}

.artimar-page-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Dynamic child-page collection for themes and gift gateways. */
.artimar-subpages {
    padding: 88px 0 98px;
    background: var(--artimar-white);
}

.artimar-subpages__heading {
    margin-bottom: 44px;
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 84px;
    align-items: end;
}

.artimar-subpages__heading h2,
.artimar-contact-map-block__heading h2,
.artimar-contact-store__hours h2 {
    margin: 12px 0 0;
    color: var(--artimar-brand);
    font: 400 clamp(48px, 5vw, 66px)/.98 'Foda Display', serif;
}

.artimar-subpages__intro {
    color: var(--artimar-muted);
}

.artimar-subpages__intro p {
    margin: 0 0 15px;
}

.artimar-subpages__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 22px;
    align-items: start;
}

.artimar-subpages__card {
    grid-column: span 4;
    display: block;
    color: inherit;
    text-decoration: none;
}

.artimar-subpages__grid--1 .artimar-subpages__card {
    grid-column: 3 / span 8;
}

.artimar-subpages__grid--2 .artimar-subpages__card {
    grid-column: span 6;
}

.artimar-subpages__grid:not(.artimar-subpages__grid--1):not(.artimar-subpages__grid--2) .artimar-subpages__card:nth-child(6n + 1),
.artimar-subpages__grid:not(.artimar-subpages__grid--1):not(.artimar-subpages__grid--2) .artimar-subpages__card:nth-child(6n + 4) {
    grid-column: span 7;
}

.artimar-subpages__grid:not(.artimar-subpages__grid--1):not(.artimar-subpages__grid--2) .artimar-subpages__card:nth-child(6n + 2),
.artimar-subpages__grid:not(.artimar-subpages__grid--1):not(.artimar-subpages__grid--2) .artimar-subpages__card:nth-child(6n + 3) {
    grid-column: span 5;
}

.artimar-subpages__card figure {
    height: 310px;
    margin: 0;
    position: relative;
    overflow: hidden;
    background: var(--artimar-paper);
}

.artimar-subpages__card:nth-child(6n + 1) figure,
.artimar-subpages__card:nth-child(6n + 4) figure {
    height: 420px;
}

.artimar-subpages__grid--2 .artimar-subpages__card figure {
    height: 430px;
}

.artimar-subpages__card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.artimar-subpages__card:hover figure img {
    transform: scale(1.025);
}

.artimar-subpages__card figure span {
    min-width: 54px;
    padding: 10px 13px;
    position: absolute;
    top: 18px;
    left: 18px;
    background: rgba(253, 251, 247, .94);
    color: var(--artimar-brand);
    font: 700 13px/1 'Lato', sans-serif;
    letter-spacing: .1em;
    text-align: center;
}

.artimar-subpages__card > div {
    min-height: 176px;
    padding: 24px 64px 24px 26px;
    position: relative;
    border: 1px solid var(--artimar-line);
    border-top: 0;
    background: var(--artimar-white);
}

.artimar-subpages__card:nth-child(even) > div {
    border-color: var(--artimar-brand);
    background: var(--artimar-brand);
    color: rgba(255, 249, 239, .82);
}

.artimar-subpages__card h3 {
    margin: 0 0 10px;
    color: var(--artimar-brand);
    font: 600 27px/1.2 'Lato', sans-serif;
}

.artimar-subpages__card:nth-child(even) h3 {
    color: #fff;
}

.artimar-subpages__card p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
}

.artimar-subpages__card b {
    position: absolute;
    right: 26px;
    bottom: 28px;
    color: var(--artimar-accent);
    font: 400 26px/1 'Lato', sans-serif;
}

.artimar-subpages__footer:not(:empty) {
    margin-top: 42px;
    text-align: center;
}

/* Contact begins immediately with the question/form composition, without a banner. */
.artimar-contact-form-block {
    padding: 82px 0 90px;
    background: var(--artimar-soft);
}

.artimar-contact-form-block__grid {
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    gap: 84px;
    align-items: start;
}

.artimar-contact-form-block__intro h1 {
    max-width: 560px;
    margin: 15px 0 24px;
    color: var(--artimar-brand);
    font: 400 clamp(52px, 5.8vw, 76px)/.96 'Foda Display', serif;
}

.artimar-contact-form-block__copy {
    max-width: 560px;
    color: var(--artimar-muted);
    font-size: 19px;
}

.artimar-contact-form-block__intro > img {
    width: min(460px, 100%);
    max-height: 330px;
    margin-top: 34px;
    display: block;
    object-fit: contain;
    object-position: left center;
}

.artimar-contact-form {
    padding: 42px;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-white);
    box-shadow: 0 24px 65px rgba(62, 40, 33, .08);
}

.artimar-contact-form__fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px 18px;
}

.artimar-contact-form label span {
    margin-bottom: 8px;
    display: block;
    color: var(--artimar-brand);
    font: 700 14px/1.4 'Lato', sans-serif;
}

.artimar-contact-form input:not([type='checkbox']),
.artimar-contact-form textarea {
    width: 100%;
    padding: 13px 14px;
    border: 0;
    border-bottom: 1px solid #bcaea1;
    border-radius: 0;
    outline: 0;
    background: #f8f3ec;
    color: var(--artimar-ink);
    font: 400 17px/1.5 'Lora', serif;
}

.artimar-contact-form input:focus,
.artimar-contact-form textarea:focus {
    border-bottom-color: var(--artimar-brand);
    box-shadow: inset 0 -1px 0 var(--artimar-brand);
}

.artimar-contact-form__message {
    grid-column: 1 / -1;
}

.artimar-contact-form__privacy {
    margin: 22px 0;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
}

.artimar-contact-form__privacy span {
    color: var(--artimar-muted) !important;
    font: 400 14px/1.55 'Lora', serif !important;
}

.artimar-contact-form__submit {
    min-height: 50px;
    padding: 0 28px;
    border: 0;
    background: var(--artimar-brand);
    color: #fff;
    font: 700 15px/1 'Lato', sans-serif;
    cursor: pointer;
}

.artimar-form-message {
    margin: 0 0 24px;
    padding: 14px 16px;
    font-size: 15px;
}

.artimar-form-message--error { background: #f6dfdf; color: #822e38; }
.artimar-form-message--success { background: #e2eee4; color: #2f6639; }

.artimar-contact-store {
    background: var(--artimar-brand);
    color: #fff;
}

.artimar-contact-store__grid {
    min-height: 570px;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
}

.artimar-contact-store__hours {
    padding: 72px 72px 64px 0;
}

.artimar-contact-store__hours .artimar-page-eyebrow,
.artimar-contact-store__hours h2 {
    color: var(--artimar-accent-light);
}

.artimar-contact-store__intro {
    margin: 20px 0 26px;
    color: rgba(255, 249, 239, .82);
}

.artimar-contact-store__hours dl {
    margin: 0;
}

.artimar-contact-store__hours dl > div {
    padding: 12px 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

.artimar-contact-store__hours dt,
.artimar-contact-store__hours dd {
    margin: 0;
    font-size: 15px;
}

.artimar-contact-store__hours dt {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
}

.artimar-contact-store__image {
    min-width: calc(100% + max(40px, (100vw - 1320px) / 2));
    height: 570px;
    margin: 0;
}

.artimar-contact-store__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.artimar-contact-store__details {
    background: #eadcc7;
    color: var(--artimar-brand);
}

.artimar-contact-store__details > div {
    min-height: 94px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
}

.artimar-contact-store__details p {
    min-height: 46px;
    margin: 0;
    padding: 0 26px;
    display: flex;
    align-items: center;
    gap: 13px;
    border-left: 1px solid #cbb99e;
    font: 600 15px/1.4 'Lato', sans-serif;
}

.artimar-contact-store__details p:first-child {
    padding-left: 0;
    border-left: 0;
}

.artimar-contact-store__details a {
    color: inherit;
}

.artimar-contact-map-block {
    padding: 82px 0 0;
    background: var(--artimar-paper);
}

.artimar-contact-map-block__heading {
    margin-bottom: 38px;
    display: grid;
    grid-template-columns: 1fr .85fr;
    gap: 80px;
    align-items: end;
}

.artimar-contact-map-block__copy {
    color: var(--artimar-muted);
}

.artimar-contact-map-block__map {
    width: 100%;
    height: 500px;
    background: #ddd3c6;
}

@media (max-width: 1050px) {
    .artimar-page-shell {
        width: calc(100% - 48px);
    }

    .artimar-page-hero--with-image .artimar-page-hero__inner,
    .artimar-contact-form-block__grid {
        gap: 44px;
    }

    .artimar-page-hero--with-image .artimar-page-hero__inner {
        grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr);
    }

    .artimar-contact-store__hours {
        padding-right: 44px;
    }
}

@media (max-width: 800px) {
    .artimar-page-shell {
        width: calc(100% - 28px);
    }

    .artimar-page-hero {
        padding: 58px 0;
    }

    .artimar-page-hero--with-image .artimar-page-hero__inner,
    .artimar-subpages__heading,
    .artimar-contact-form-block__grid,
    .artimar-contact-store__grid,
    .artimar-contact-map-block__heading {
        grid-template-columns: 1fr;
    }

    .artimar-page-hero__image {
        height: 390px;
    }

    .artimar-subpages__grid .artimar-subpages__card,
    .artimar-subpages__grid--1 .artimar-subpages__card,
    .artimar-subpages__grid--2 .artimar-subpages__card,
    .artimar-subpages__grid:not(.artimar-subpages__grid--1):not(.artimar-subpages__grid--2) .artimar-subpages__card:nth-child(n) {
        grid-column: span 6;
    }

    .artimar-subpages__card figure,
    .artimar-subpages__card:nth-child(n) figure,
    .artimar-subpages__grid--2 .artimar-subpages__card figure {
        height: 320px;
    }

    .artimar-contact-form-block {
        padding-top: 64px;
    }

    .artimar-contact-form-block__intro > img {
        max-height: 260px;
    }

    .artimar-contact-store__hours {
        padding: 64px 0 48px;
    }

    .artimar-contact-store__image {
        min-width: 0;
        height: 430px;
    }

    .artimar-contact-store__details > div {
        padding: 20px 0;
        grid-template-columns: 1fr;
    }

    .artimar-contact-store__details p,
    .artimar-contact-store__details p:first-child {
        min-height: 0;
        padding: 13px 0;
        border-top: 1px solid #cbb99e;
        border-left: 0;
    }

    .artimar-contact-store__details p:first-child {
        border-top: 0;
    }
}

@media (max-width: 520px) {
    .artimar-page {
        font-size: 17px;
    }

    .artimar-page-hero__copy h1,
    .artimar-contact-form-block__intro h1 {
        font-size: 48px;
    }

    .artimar-page-hero__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .artimar-subpages {
        padding: 64px 0 72px;
    }

    .artimar-subpages__heading h2,
    .artimar-contact-map-block__heading h2,
    .artimar-contact-store__hours h2 {
        font-size: 45px;
    }

    .artimar-subpages__grid .artimar-subpages__card,
    .artimar-subpages__grid--1 .artimar-subpages__card,
    .artimar-subpages__grid--2 .artimar-subpages__card,
    .artimar-subpages__grid:not(.artimar-subpages__grid--1):not(.artimar-subpages__grid--2) .artimar-subpages__card:nth-child(n) {
        grid-column: 1 / -1;
    }

    .artimar-subpages__card figure,
    .artimar-subpages__card:nth-child(n) figure,
    .artimar-subpages__grid--2 .artimar-subpages__card figure {
        height: 300px;
    }

    .artimar-contact-form {
        padding: 28px 22px;
    }

    .artimar-contact-form__fields {
        grid-template-columns: 1fr;
    }

    .artimar-contact-form__message {
        grid-column: auto;
    }

    .artimar-contact-map-block__map {
        height: 390px;
    }
}

/* =========================================================
   Price-free catalogue block and year-round product detail
   ========================================================= */

.artimar-catalogue {
    padding: 82px 0 100px;
    background: var(--artimar-white);
}

.artimar-catalogue__heading {
    margin-bottom: 42px;
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 82px;
    align-items: end;
}

.artimar-catalogue__heading h2 {
    margin: 12px 0 0;
    color: var(--artimar-brand);
    font: 400 clamp(48px, 5vw, 66px)/.98 'Foda Display', serif;
}

.artimar-catalogue__intro {
    color: var(--artimar-muted);
}

.artimar-catalogue__intro p {
    margin: 0 0 15px;
}

.artimar-catalogue__toolbar {
    min-height: 96px;
    position: sticky;
    z-index: 18;
    top: 146px;
    display: flex;
    align-items: center;
    border-top: 1px solid var(--artimar-line);
    border-bottom: 1px solid var(--artimar-line);
    background: rgba(244, 237, 228, .97);
    backdrop-filter: blur(12px);
}

.artimar-catalogue__toolbar > div {
    display: grid;
    grid-template-columns: 260px minmax(260px, 1fr) 250px;
    gap: 28px;
    align-items: center;
}

.artimar-catalogue__count {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 13px;
    align-items: center;
}

.artimar-catalogue__count b {
    color: var(--artimar-brand);
    font: 400 44px/1 'Foda Display', serif;
}

.artimar-catalogue__count.is-large-number b {
    font-size: 37px;
}

.artimar-catalogue__count span {
    max-width: 118px;
    color: var(--artimar-brand);
    font: 700 13px/1.35 'Lato', sans-serif;
}

.artimar-catalogue__search,
.artimar-catalogue__sort {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: var(--artimar-brand);
    font: 700 13px/1.3 'Lato', sans-serif;
}

.artimar-catalogue__search input,
.artimar-catalogue__sort select {
    min-width: 0;
    height: 45px;
    padding: 0 14px;
    border: 0;
    border-bottom: 1px solid #b9a99b;
    border-radius: 0;
    background: rgba(255, 255, 255, .55);
    color: var(--artimar-ink);
    font: 400 15px/1 'Lora', serif;
}

.artimar-catalogue__layout {
    padding-top: 42px;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 40px;
    align-items: start;
}

.artimar-catalogue__layout--full {
    grid-template-columns: 1fr;
}

.artimar-catalogue__filters {
    max-height: calc(100vh - 268px);
    padding: 25px;
    position: sticky;
    top: 244px;
    overflow: auto;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-paper);
}

.artimar-catalogue__filters h2,
.artimar-catalogue__filters h3,
.artimar-catalogue__filters h4 {
    margin: 24px 0 12px;
    color: var(--artimar-brand);
    font: 700 16px/1.3 'Lato', sans-serif;
}

.artimar-catalogue__filters h2:first-child,
.artimar-catalogue__filters h3:first-child,
.artimar-catalogue__filters h4:first-child {
    margin-top: 0;
}

@media (max-width: 1199px) and (min-width: 801px) {
    .artimar-catalogue__toolbar { top: 92px; }
    .artimar-catalogue__filters { top: 190px; max-height: calc(100vh - 214px); }
}

.artimar-catalogue__filters ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.artimar-catalogue__filters li {
    padding: 8px 0;
    border-top: 1px solid rgba(90, 48, 54, .12);
    font-size: 15px;
}

.artimar-catalogue__products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 20px;
}

.artimar-catalogue-card {
    min-width: 0;
    display: block;
    color: inherit;
    text-decoration: none;
}

.artimar-catalogue-card[hidden] {
    display: none;
}

.artimar-catalogue-card figure {
    height: 280px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #f8f4ee;
}

.artimar-catalogue-card figure img {
    width: 86%;
    height: 86%;
    object-fit: contain;
    filter: drop-shadow(0 17px 17px rgba(58, 35, 25, .14));
    transition: transform .35s ease;
}

.artimar-catalogue-card:hover figure img {
    transform: translateY(-4px) scale(1.025);
}

.artimar-catalogue-card > div {
    min-height: 120px;
    padding: 21px 48px 20px 20px;
    position: relative;
    border: 1px solid var(--artimar-line);
    border-top: 0;
}

.artimar-catalogue-card h3 {
    margin: 0 0 8px;
    color: var(--artimar-brand);
    font: 700 18px/1.35 'Lato', sans-serif;
}

.artimar-catalogue-card span {
    color: var(--artimar-muted);
    font: 600 13px/1.3 'Lato', sans-serif;
}

.artimar-catalogue-card b {
    position: absolute;
    right: 20px;
    bottom: 24px;
    color: var(--artimar-accent);
    font: 400 22px/1 'Lato', sans-serif;
}

.artimar-catalogue-detail {
    padding: 46px 0 96px;
    background: var(--artimar-soft);
}

.artimar-catalogue-detail__back {
    display: inline-flex;
    margin-bottom: 34px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(90, 48, 54, .3);
    color: var(--artimar-brand);
    font: 700 14px/1.3 'Lato', sans-serif;
}

.artimar-catalogue-detail__main {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    gap: 74px;
    align-items: start;
}

.artimar-catalogue-detail__primary {
    height: 600px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--artimar-white);
}

.artimar-catalogue-detail__primary img {
    width: 88%;
    height: 88%;
    object-fit: contain;
    filter: drop-shadow(0 22px 22px rgba(58, 35, 25, .14));
}

.artimar-catalogue-detail__thumbnails {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.artimar-catalogue-detail__thumbnails button {
    height: 94px;
    padding: 6px;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-white);
    cursor: pointer;
}

.artimar-catalogue-detail__thumbnails img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.artimar-catalogue-detail__copy {
    padding-top: 28px;
}

.artimar-catalogue-detail__copy h1 {
    margin: 14px 0 15px;
    color: var(--artimar-brand);
    font: 400 clamp(50px, 5vw, 68px)/.98 'Foda Display', serif;
}

.artimar-catalogue-detail__reference {
    margin: 0 0 27px;
    color: var(--artimar-muted);
    font: 600 14px/1.4 'Lato', sans-serif;
}

.artimar-catalogue-detail__reference b {
    margin-left: 8px;
    color: var(--artimar-brand);
}

.artimar-catalogue-detail__description {
    color: var(--artimar-muted);
    font-size: 19px;
}

.artimar-catalogue-detail__information {
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid var(--artimar-line);
}

.artimar-catalogue-detail__information h2 {
    margin: 0 0 13px;
    color: var(--artimar-brand);
    font: 700 20px/1.3 'Lato', sans-serif;
}

.artimar-catalogue-detail__shop-link {
    min-height: 51px;
    margin-top: 32px;
    padding: 0 25px;
    display: inline-flex;
    align-items: center;
    gap: 13px;
    background: var(--artimar-brand);
    color: #fff;
    font: 700 15px/1 'Lato', sans-serif;
    text-decoration: none;
}

.artimar-catalogue-variants {
    margin-top: 84px;
    padding-top: 44px;
    border-top: 1px solid var(--artimar-line);
}

.artimar-catalogue-variants__heading h2 {
    margin: 10px 0 26px;
    color: var(--artimar-brand);
    font: 400 44px/1 'Foda Display', serif;
}

.artimar-catalogue-variants__rail {
    padding-bottom: 12px;
    display: grid;
    grid-auto-columns: minmax(210px, 23%);
    grid-auto-flow: column;
    gap: 18px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
}

.artimar-catalogue-variants__rail a {
    padding: 16px;
    display: block;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-white);
    color: inherit;
    text-decoration: none;
    scroll-snap-align: start;
}

.artimar-catalogue-variants__rail img {
    width: 100%;
    height: 180px;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 12px 12px rgba(58, 35, 25, .12));
}

.artimar-catalogue-variants__rail strong,
.artimar-catalogue-variants__rail small {
    display: block;
}

.artimar-catalogue-variants__rail strong {
    margin-top: 13px;
    color: var(--artimar-brand);
    font: 700 16px/1.35 'Lato', sans-serif;
}

.artimar-catalogue-variants__rail small {
    margin-top: 5px;
    color: var(--artimar-muted);
    font: 600 12px/1.3 'Lato', sans-serif;
}

@media (max-width: 1050px) {
    .artimar-catalogue__toolbar > div {
        grid-template-columns: 210px 1fr 220px;
    }

    .artimar-catalogue__layout {
        grid-template-columns: 240px minmax(0, 1fr);
        gap: 28px;
    }

    .artimar-catalogue__products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .artimar-catalogue-detail__main {
        grid-template-columns: 1fr 1fr;
        gap: 44px;
    }

    .artimar-catalogue-detail__primary {
        height: 500px;
    }
}

@media (max-width: 800px) {
    .artimar-catalogue__heading,
    .artimar-catalogue-detail__main {
        grid-template-columns: 1fr;
    }

    .artimar-catalogue__toolbar {
        min-height: 0;
        position: relative;
        top: auto;
        padding: 20px 0;
    }

    .artimar-catalogue__toolbar > div {
        grid-template-columns: 1fr 1fr;
    }

    .artimar-catalogue__count {
        grid-column: 1 / -1;
    }

    .artimar-catalogue__layout {
        grid-template-columns: 1fr;
    }

    .artimar-catalogue__filters {
        max-height: none;
        position: relative;
        top: auto;
    }

    .artimar-catalogue-detail__copy {
        padding-top: 0;
    }
}

@media (max-width: 520px) {
    .artimar-catalogue {
        padding-top: 64px;
    }

    .artimar-catalogue__heading h2,
    .artimar-catalogue-detail__copy h1 {
        font-size: 46px;
    }

    .artimar-catalogue__toolbar > div {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .artimar-catalogue__count,
    .artimar-catalogue__search,
    .artimar-catalogue__sort {
        grid-column: auto;
    }

    .artimar-catalogue__products {
        grid-template-columns: 1fr;
    }

    .artimar-catalogue-card figure {
        height: 300px;
    }

    .artimar-catalogue-detail__primary {
        height: 390px;
    }

    .artimar-catalogue-detail__thumbnails {
        grid-template-columns: repeat(4, 1fr);
    }

    .artimar-catalogue-variants__rail {
        grid-auto-columns: minmax(210px, 78%);
    }
}

/* Webshop landing: seasonal category availability with an editorial grid. */
.artimar-shop-categories {
    padding: 86px 0 100px;
    background: var(--artimar-white);
}

.artimar-shop-categories__heading {
    margin-bottom: 44px;
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 84px;
    align-items: end;
}

.artimar-shop-categories__heading h2 {
    margin: 12px 0 0;
    color: var(--artimar-brand);
    font: 400 clamp(48px, 5vw, 66px)/.98 'Foda Display', serif;
}

.artimar-shop-categories__intro {
    color: var(--artimar-muted);
}

.artimar-shop-categories__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: 22px;
}

.artimar-shop-category {
    grid-column: span 4;
    display: block;
    position: relative;
    color: inherit;
    text-decoration: none;
}

.artimar-shop-category:nth-child(8n + 1),
.artimar-shop-category:nth-child(8n + 6) {
    grid-column: span 7;
}

.artimar-shop-category:nth-child(8n + 2),
.artimar-shop-category:nth-child(8n + 5) {
    grid-column: span 5;
}

.artimar-shop-category figure {
    height: 330px;
    margin: 0;
    position: relative;
    overflow: hidden;
    background: var(--artimar-paper);
}

.artimar-shop-category:nth-child(8n + 1) figure,
.artimar-shop-category:nth-child(8n + 6) figure {
    height: 470px;
}

.artimar-shop-category figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease, filter .3s ease;
}

.artimar-shop-category.is-active:hover figure img {
    transform: scale(1.025);
}

.artimar-shop-category.is-inactive figure img {
    filter: grayscale(.75) saturate(.45) brightness(.84);
}

.artimar-shop-category figure span {
    padding: 10px 13px;
    position: absolute;
    top: 17px;
    right: 17px;
    background: rgba(253, 251, 247, .94);
    color: var(--artimar-brand);
    font: 700 12px/1.2 'Lato', sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.artimar-shop-category.is-inactive figure span {
    background: rgba(90, 48, 54, .92);
    color: #fff;
}

.artimar-shop-category > div {
    min-height: 114px;
    padding: 20px 52px 20px 22px;
    position: relative;
    border: 1px solid var(--artimar-line);
    border-top: 0;
    background: var(--artimar-white);
}

.artimar-shop-category:nth-child(even) > div {
    border-color: var(--artimar-brand);
    background: var(--artimar-brand);
}

.artimar-shop-category small {
    color: var(--artimar-accent);
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: .1em;
}

.artimar-shop-category h3 {
    margin: 7px 0 0;
    color: var(--artimar-brand);
    font: 700 23px/1.25 'Lato', sans-serif;
}

.artimar-shop-category:nth-child(even) h3 {
    color: #fff;
}

.artimar-shop-category b {
    position: absolute;
    right: 22px;
    bottom: 25px;
    color: var(--artimar-accent);
    font: 400 22px/1 'Lato', sans-serif;
}

.artimar-shop-categories__footer:not(:empty) {
    margin-top: 44px;
}

@media (max-width: 800px) {
    .artimar-shop-categories__heading {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .artimar-shop-category,
    .artimar-shop-category:nth-child(n) {
        grid-column: span 6;
    }

    .artimar-shop-category figure,
    .artimar-shop-category:nth-child(n) figure {
        height: 330px;
    }
}

@media (max-width: 520px) {
    .artimar-shop-categories {
        padding: 64px 0 72px;
    }

    .artimar-shop-categories__heading h2 {
        font-size: 46px;
    }

    .artimar-shop-category,
    .artimar-shop-category:nth-child(n) {
        grid-column: 1 / -1;
    }

    .artimar-shop-category figure,
    .artimar-shop-category:nth-child(n) figure {
        height: 310px;
    }
}

/* =========================================================
   Public storefront category and quick-order grid
   ========================================================= */

.artimar-storefront {
    --artimar-brand: #5a3036;
    --artimar-brand-dark: #43252a;
    --artimar-accent: #98865d;
    --artimar-paper: #f4ede4;
    --artimar-soft: #faf8f4;
    --artimar-white: #fdfbf7;
    --artimar-ink: #302925;
    --artimar-muted: #716760;
    --artimar-line: #d8cdc1;
    overflow: hidden;
    background: var(--artimar-soft);
    color: var(--artimar-ink);
    font: 400 18px/1.7 'Lora', serif;
}

.artimar-storefront-shell {
    width: min(1380px, calc(100% - 80px));
    margin-right: auto;
    margin-left: auto;
}

.artimar-storefront-eyebrow {
    margin: 0;
    color: var(--artimar-accent);
    font: 700 14px/1.4 'Lato', sans-serif;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.artimar-storefront-hero {
    padding: 50px 0;
    background: var(--artimar-paper);
}

.artimar-storefront-hero__inner {
    min-height: 390px;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 72px;
    align-items: center;
}

.artimar-storefront-hero__copy h1 {
    margin: 14px 0 31px;
    color: var(--artimar-brand);
    font: 400 clamp(54px, 6vw, 82px)/.95 'Foda Display', serif;
}

.artimar-storefront-hero__usps {
    display: grid;
    border-top: 1px solid var(--artimar-line);
}

.artimar-storefront-hero__usps span {
    padding: 12px 0;
    border-bottom: 1px solid var(--artimar-line);
    color: var(--artimar-brand);
    font: 700 15px/1.4 'Lato', sans-serif;
}

.artimar-storefront-hero__usps span:before {
    content: '✓';
    margin-right: 11px;
    color: var(--artimar-accent);
}

.artimar-storefront-hero figure {
    height: 410px;
    margin: 0;
    overflow: hidden;
    background: #e7ddd1;
}

.artimar-storefront-hero figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.artimar-storefront-products {
    padding-bottom: 100px;
    background: var(--artimar-white);
}

.artimar-storefront-products__toolbar {
    min-height: 94px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--artimar-line);
    background: var(--artimar-white);
}

.artimar-storefront-products__toolbar > div {
    display: grid;
    grid-template-columns: 190px minmax(250px, 1fr) 270px;
    gap: 28px;
    align-items: center;
}

.artimar-storefront-products__toolbar strong {
    color: var(--artimar-brand);
    font: 700 15px/1.3 'Lato', sans-serif;
}

.artimar-storefront-products__toolbar strong b {
    margin-right: 6px;
    color: var(--artimar-accent);
    font-size: 24px;
}

.artimar-storefront-products__toolbar label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: var(--artimar-brand);
    font: 700 13px/1.3 'Lato', sans-serif;
}

.artimar-storefront-products__toolbar input,
.artimar-storefront-products__toolbar select {
    min-width: 0;
    height: 44px;
    padding: 0 13px;
    border: 0;
    border-bottom: 1px solid #bba99b;
    border-radius: 0;
    background: #f8f3ec;
    color: var(--artimar-ink);
    font: 400 15px/1 'Lora', serif;
}

.artimar-storefront-products__layout {
    padding-top: 42px;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 40px;
    align-items: start;
}

.artimar-storefront-filters {
    max-height: calc(100vh - 130px);
    padding: 26px;
    position: sticky;
    top: 100px;
    overflow: auto;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-paper);
}

.artimar-storefront-filters h2 {
    margin: 0 0 23px;
    color: var(--artimar-brand);
    font: 700 20px/1.3 'Lato', sans-serif;
}

.artimar-storefront-filters fieldset {
    margin: 0;
    padding: 19px 0;
    border: 0;
    border-top: 1px solid rgba(90, 48, 54, .16);
}

.artimar-storefront-filters legend {
    margin-bottom: 11px;
    color: var(--artimar-brand);
    font: 700 15px/1.3 'Lato', sans-serif;
}

.artimar-storefront-filters label {
    padding: 7px 0;
    display: flex;
    gap: 9px;
    align-items: flex-start;
    color: var(--artimar-muted);
    font-size: 15px;
}

.artimar-storefront-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 20px;
}

.artimar-store-card[hidden] {
    display: none;
}

.artimar-store-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-white);
}

.artimar-store-card__visual {
    height: 280px;
    position: relative;
    background: #f9f5ef;
}

.artimar-store-card__visual > a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.artimar-store-card__visual img {
    width: 86%;
    height: 86%;
    object-fit: contain;
    filter: drop-shadow(0 16px 16px rgba(58, 35, 25, .14));
    transition: transform .35s ease;
}

.artimar-store-card:hover .artimar-store-card__visual img {
    transform: translateY(-4px) scale(1.02);
}

.artimar-store-card__favorite {
    width: 43px;
    height: 43px;
    position: absolute;
    top: 14px;
    right: 14px;
    border: 1px solid var(--artimar-line);
    border-radius: 50%;
    background: rgba(253, 251, 247, .93);
    color: var(--artimar-brand);
    font: 400 24px/1 'Lato', sans-serif;
    cursor: pointer;
}

.artimar-store-card__content {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.artimar-store-card__content > p {
    margin: 0 0 6px;
    color: var(--artimar-accent);
    font: 700 12px/1.3 'Lato', sans-serif;
    letter-spacing: .08em;
}

.artimar-store-card__content h2 {
    margin: 0 0 16px;
    font: 700 18px/1.35 'Lato', sans-serif;
}

.artimar-store-card__content h2 a {
    color: var(--artimar-brand);
}

.artimar-store-card__content > strong {
    margin-top: auto;
    color: var(--artimar-brand);
    font: 700 19px/1.3 'Lato', sans-serif;
}

.artimar-store-card__content > strong small {
    color: var(--artimar-muted);
    font-size: 12px;
    font-weight: 500;
}

.artimar-store-card__order {
    margin-top: 19px;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 9px;
}

.artimar-store-card__order label span {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.artimar-store-card__order input {
    width: 100%;
    height: 44px;
    border: 1px solid var(--artimar-line);
    text-align: center;
}

.artimar-store-card__order a {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--artimar-brand);
    color: #fff;
    font: 700 13px/1 'Lato', sans-serif;
    text-decoration: none;
}

.artimar-storefront-empty {
    padding: 60px 20px;
    border: 1px solid var(--artimar-line);
    color: var(--artimar-muted);
    text-align: center;
}

@media (max-width: 1120px) {
    .artimar-storefront-shell {
        width: calc(100% - 48px);
    }

    .artimar-storefront-products__layout {
        grid-template-columns: 240px minmax(0, 1fr);
        gap: 28px;
    }

    .artimar-storefront-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .artimar-storefront-shell {
        width: calc(100% - 28px);
    }

    .artimar-storefront-hero__inner {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .artimar-storefront-products__toolbar {
        padding: 20px 0;
    }

    .artimar-storefront-products__toolbar > div {
        grid-template-columns: 1fr 1fr;
    }

    .artimar-storefront-products__toolbar strong {
        grid-column: 1 / -1;
    }

    .artimar-storefront-products__layout {
        grid-template-columns: 1fr;
    }

    .artimar-storefront-filters {
        max-height: none;
        position: relative;
        top: auto;
    }
}

@media (max-width: 520px) {
    .artimar-storefront {
        font-size: 17px;
    }

    .artimar-storefront-hero__copy h1 {
        font-size: 48px;
    }

    .artimar-storefront-hero figure {
        height: 330px;
    }

    .artimar-storefront-products__toolbar > div,
    .artimar-storefront-grid {
        grid-template-columns: 1fr;
    }

    .artimar-storefront-products__toolbar strong {
        grid-column: auto;
    }

    .artimar-store-card__visual {
        height: 320px;
    }
}

/* =========================================================
   Public webshop product detail
   ========================================================= */

.artimar-product-detail {
    --artimar-brand: #5a3036;
    --artimar-accent: #98865d;
    --artimar-paper: #f4ede4;
    --artimar-soft: #faf8f4;
    --artimar-white: #fdfbf7;
    --artimar-ink: #302925;
    --artimar-muted: #716760;
    --artimar-line: #d8cdc1;
    padding: 34px 0 96px;
    overflow: hidden;
    background: var(--artimar-soft);
    color: var(--artimar-ink);
    font: 400 18px/1.7 'Lora', serif;
}

.artimar-product-detail-shell {
    width: min(1380px, calc(100% - 80px));
    margin-right: auto;
    margin-left: auto;
}

.artimar-product-detail__breadcrumb {
    margin-bottom: 32px;
    display: flex;
    gap: 10px;
    color: var(--artimar-muted);
    font: 600 13px/1.4 'Lato', sans-serif;
}

.artimar-product-detail__breadcrumb a {
    color: var(--artimar-brand);
}

.artimar-product-detail__main {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(430px, .94fr);
    gap: 76px;
    align-items: start;
}

.artimar-product-gallery__primary {
    height: 620px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--artimar-white);
}

.artimar-product-gallery__primary img {
    width: 88%;
    height: 88%;
    object-fit: contain;
    filter: drop-shadow(0 24px 24px rgba(58, 35, 25, .15));
}

.artimar-product-gallery__thumbs {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.artimar-product-gallery__thumbs button {
    height: 96px;
    padding: 7px;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-white);
    cursor: pointer;
}

.artimar-product-gallery__thumbs button.is-active {
    border-color: var(--artimar-brand);
    box-shadow: inset 0 0 0 1px var(--artimar-brand);
}

.artimar-product-gallery__thumbs img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.artimar-product-detail__copy {
    padding-top: 35px;
}

.artimar-product-detail__eyebrow {
    margin: 0;
    color: var(--artimar-accent);
    font: 700 14px/1.4 'Lato', sans-serif;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.artimar-product-detail__copy h1 {
    margin: 14px 0 13px;
    color: var(--artimar-brand);
    font: 400 clamp(52px, 5.6vw, 76px)/.96 'Foda Display', serif;
}

.artimar-product-detail__reference {
    margin: 0 0 26px;
    color: var(--artimar-muted);
    font: 600 14px/1.4 'Lato', sans-serif;
}

.artimar-product-detail__reference b {
    margin-left: 8px;
    color: var(--artimar-brand);
}

.artimar-product-detail__description {
    color: var(--artimar-muted);
    font-size: 19px;
}

.artimar-product-detail__description p {
    margin: 0 0 16px;
}

.artimar-product-detail__price {
    margin-top: 25px;
    color: var(--artimar-brand);
    font: 700 28px/1.2 'Lato', sans-serif;
}

.artimar-product-detail__price small {
    color: var(--artimar-muted);
    font-size: 14px;
    font-weight: 500;
}

.artimar-product-detail__order {
    margin-top: 28px;
    display: grid;
    grid-template-columns: 112px minmax(220px, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.artimar-product-detail__order label span {
    margin-bottom: 7px;
    display: block;
    color: var(--artimar-brand);
    font: 700 13px/1.3 'Lato', sans-serif;
}

.artimar-product-detail__order input {
    width: 100%;
    height: 51px;
    padding: 0 12px;
    border: 1px solid var(--artimar-line);
    border-radius: 0;
    background: var(--artimar-white);
    text-align: center;
}

.artimar-product-detail__order > a {
    min-height: 51px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--artimar-brand);
    color: #fff;
    font: 700 14px/1.2 'Lato', sans-serif;
    text-align: center;
    text-decoration: none;
}

.artimar-product-detail__favorite {
    width: 51px;
    height: 51px;
    padding: 0;
    border: 1px solid var(--artimar-brand);
    background: transparent;
    color: var(--artimar-brand);
    font: 400 25px/1 'Lato', sans-serif;
    cursor: pointer;
}

.artimar-product-detail__favorite span {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.artimar-product-detail__delivery {
    margin: 17px 0 0;
    color: var(--artimar-muted);
    font: 600 14px/1.5 'Lato', sans-serif;
}

.artimar-product-detail__information {
    margin-top: 31px;
    padding-top: 26px;
    border-top: 1px solid var(--artimar-line);
}

.artimar-product-detail__information h2 {
    margin: 0 0 13px;
    color: var(--artimar-brand);
    font: 700 21px/1.3 'Lato', sans-serif;
}

.artimar-product-rail {
    margin-top: 88px;
    padding-top: 45px;
    border-top: 1px solid var(--artimar-line);
}

.artimar-product-rail__heading p {
    margin: 0;
    color: var(--artimar-accent);
    font: 700 13px/1.4 'Lato', sans-serif;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.artimar-product-rail__heading h2 {
    margin: 10px 0 27px;
    color: var(--artimar-brand);
    font: 400 clamp(40px, 4vw, 54px)/1 'Foda Display', serif;
}

.artimar-product-rail__items {
    padding-bottom: 14px;
    display: grid;
    grid-auto-columns: minmax(230px, 23%);
    grid-auto-flow: column;
    gap: 18px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
}

.artimar-product-rail-card {
    display: block;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-white);
    color: inherit;
    text-decoration: none;
    scroll-snap-align: start;
}

.artimar-product-rail-card figure {
    height: 235px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9f5ef;
}

.artimar-product-rail-card img {
    width: 86%;
    height: 86%;
    object-fit: contain;
    filter: drop-shadow(0 14px 14px rgba(58, 35, 25, .13));
}

.artimar-product-rail-card > div {
    padding: 18px;
}

.artimar-product-rail-card strong,
.artimar-product-rail-card span {
    display: block;
}

#artimar-cart-notice { position:fixed; z-index:10050; right:24px; bottom:24px; max-width:min(420px,calc(100vw - 32px)); padding:18px 22px; background:#5a3036; color:#fffaf5; box-shadow:0 16px 38px rgba(52,25,30,.22); font:400 15px/1.5 Lora,Georgia,serif; opacity:0; transform:translateY(14px); pointer-events:none; transition:opacity .2s,transform .2s; }
#artimar-cart-notice.is-visible { opacity:1; transform:translateY(0); pointer-events:auto; }
#artimar-cart-notice a { margin-left:8px; color:#f4d6a3; font:700 13px/1.5 Lato,sans-serif; text-decoration:underline; }
@media(max-width:620px){#artimar-cart-notice{left:16px;right:16px;bottom:16px;max-width:none;}}

.artimar-product-rail-card strong {
    color: var(--artimar-brand);
    font: 700 17px/1.35 'Lato', sans-serif;
}

.artimar-product-rail-card span {
    margin-top: 8px;
    color: var(--artimar-muted);
    font: 700 15px/1.3 'Lato', sans-serif;
}

.artimar-product-question {
    margin-top: 78px;
    padding: 38px 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    background: var(--artimar-brand);
    color: #fff;
}

.artimar-product-question h2 {
    margin: 0;
    color: #fff;
    font: 400 38px/1 'Foda Display', serif;
}

.artimar-product-question a {
    color: #fff;
    font: 700 15px/1.3 'Lato', sans-serif;
}

@media (max-width: 1050px) {
    .artimar-product-detail-shell {
        width: calc(100% - 48px);
    }

    .artimar-product-detail__main {
        grid-template-columns: 1fr 1fr;
        gap: 44px;
    }

    .artimar-product-gallery__primary {
        height: 520px;
    }

    .artimar-product-detail__order {
        grid-template-columns: 100px minmax(170px, 1fr) 51px;
    }
}

@media (max-width: 800px) {
    .artimar-product-detail-shell {
        width: calc(100% - 28px);
    }

    .artimar-product-detail__main {
        grid-template-columns: 1fr;
    }

    .artimar-product-gallery__primary {
        height: 500px;
    }

    .artimar-product-detail__copy {
        padding-top: 0;
    }

    .artimar-product-rail__items {
        grid-auto-columns: minmax(220px, 42%);
    }
}

@media (max-width: 520px) {
    .artimar-product-detail {
        font-size: 17px;
    }

    .artimar-product-gallery__primary {
        height: 390px;
    }

    .artimar-product-gallery__thumbs {
        grid-template-columns: repeat(4, 1fr);
    }

    .artimar-product-detail__copy h1 {
        font-size: 48px;
    }

    .artimar-product-detail__order {
        grid-template-columns: 96px minmax(0, 1fr) 51px;
    }

    .artimar-product-detail__order > a {
        padding: 0 13px;
        font-size: 12px;
    }

    .artimar-product-rail__items {
        grid-auto-columns: minmax(220px, 78%);
    }

    .artimar-product-question {
        padding: 30px 26px;
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Shopping cart */
.artimar-cart {
    --artimar-brand: #5a3036;
    --artimar-accent: #98865d;
    --artimar-paper: #f4ede4;
    --artimar-soft: #faf8f4;
    --artimar-white: #fdfbf7;
    --artimar-ink: #302925;
    --artimar-muted: #716760;
    --artimar-line: #d8cdc1;
    min-height: 70vh;
    padding-bottom: 96px;
    background: var(--artimar-soft);
    color: var(--artimar-ink);
    font: 400 18px/1.65 'Lora', serif;
}

.artimar-cart-shell {
    width: min(1320px, calc(100% - 80px));
    margin-right: auto;
    margin-left: auto;
}

.artimar-cart__header {
    padding: 62px 0 55px;
    border-bottom: 1px solid var(--artimar-line);
    background: var(--artimar-paper);
}

.artimar-cart__header p {
    margin: 0;
    color: var(--artimar-accent);
    font: 700 14px/1.4 'Lato', sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.artimar-cart__header h1 {
    margin: 12px 0 0;
    color: var(--artimar-brand);
    font: 400 clamp(54px, 6vw, 76px)/.96 'Foda Display', serif;
}

.artimar-cart__layout {
    padding-top: 48px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 370px;
    gap: 46px;
    align-items: start;
}

.artimar-cart-item {
    min-height: 170px;
    margin-bottom: 16px;
    display: grid;
    grid-template-columns: 160px minmax(180px, 1fr) 130px 142px 130px;
    align-items: center;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-white);
}

.artimar-cart-item__image {
    height: 168px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f4ee;
}

.artimar-cart-item__image img {
    width: 86%;
    height: 86%;
    object-fit: contain;
    filter: drop-shadow(0 12px 12px rgba(58, 35, 25, .13));
}

.artimar-cart-item__product {
    padding: 22px;
}

.artimar-cart-item__product > p {
    margin: 0 0 6px;
    color: var(--artimar-accent);
    font: 700 12px/1.3 'Lato', sans-serif;
    letter-spacing: .08em;
}

.artimar-cart-item__product h2 {
    margin: 0 0 13px;
    font: 700 18px/1.35 'Lato', sans-serif;
}

.artimar-cart-item__product h2 a {
    color: var(--artimar-brand);
}

.artimar-cart-item__remove {
    padding: 0 0 3px;
    border: 0;
    border-bottom: 1px solid rgba(90, 48, 54, .3);
    background: transparent;
    color: var(--artimar-muted);
    font: 600 12px/1.3 'Lato', sans-serif;
    cursor: pointer;
}

.artimar-cart-item__unit,
.artimar-cart-item__quantity,
.artimar-cart-item__subtotal {
    padding: 18px;
}

.artimar-cart-item__unit > span,
.artimar-cart-item__quantity > span,
.artimar-cart-item__subtotal > span {
    margin-bottom: 8px;
    display: block;
    color: var(--artimar-muted);
    font: 600 12px/1.3 'Lato', sans-serif;
}

.artimar-cart-item__unit b,
.artimar-cart-item__subtotal b {
    color: var(--artimar-brand);
    font: 700 16px/1.3 'Lato', sans-serif;
}

.artimar-cart-item__quantity > div {
    display: grid;
    grid-template-columns: 34px 38px 34px;
    align-items: center;
}

.artimar-cart-item__quantity button,
.artimar-cart-item__quantity b {
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-white);
    color: var(--artimar-brand);
    font: 700 14px/1 'Lato', sans-serif;
}

.artimar-cart-item__quantity button {
    cursor: pointer;
}

.artimar-cart-item__quantity b {
    border-right: 0;
    border-left: 0;
}

.artimar-cart__continue {
    display: inline-flex;
    margin-top: 16px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(90, 48, 54, .3);
    color: var(--artimar-brand);
    font: 700 14px/1.3 'Lato', sans-serif;
}

.artimar-cart-summary {
    padding: 32px;
    position: sticky;
    top: 104px;
    background: var(--artimar-brand);
    color: #fff;
}

.artimar-cart-summary h2 {
    margin: 0 0 24px;
    color: #fff;
    font: 400 38px/1 'Foda Display', serif;
}

.artimar-cart-summary dl {
    margin: 0 0 27px;
}

.artimar-cart-summary dl > div {
    padding: 12px 0;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid rgba(255, 255, 255, .17);
}

.artimar-cart-summary dt,
.artimar-cart-summary dd {
    margin: 0;
    font: 600 14px/1.4 'Lato', sans-serif;
}

.artimar-cart-summary__total dt,
.artimar-cart-summary__total dd {
    color: var(--artimar-accent);
    font-size: 19px;
}

.artimar-cart-summary > a {
    min-height: 51px;
    padding: 0 21px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: var(--artimar-accent);
    color: #fff;
    font: 700 14px/1.25 'Lato', sans-serif;
    text-decoration: none;
}

.artimar-cart__empty {
    padding: 62px;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-white);
    text-align: center;
}

.artimar-cart__empty p {
    margin: 0 0 20px;
    color: var(--artimar-muted);
}

.artimar-cart__empty a {
    color: var(--artimar-brand);
    font: 700 15px/1.3 'Lato', sans-serif;
}

@media (max-width: 1120px) {
    .artimar-cart-shell {
        width: calc(100% - 48px);
    }

    .artimar-cart__layout {
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 28px;
    }

    .artimar-cart-item {
        grid-template-columns: 135px minmax(160px, 1fr) 125px 125px;
    }

    .artimar-cart-item__unit {
        display: none;
    }
}

@media (max-width: 800px) {
    .artimar-cart-shell {
        width: calc(100% - 28px);
    }

    .artimar-cart__layout {
        grid-template-columns: 1fr;
    }

    .artimar-cart-summary {
        position: relative;
        top: auto;
    }
}

@media (max-width: 580px) {
    .artimar-cart-item {
        padding-bottom: 20px;
        grid-template-columns: 120px 1fr;
    }

    .artimar-cart-item__image {
        height: 140px;
    }

    .artimar-cart-item__product {
        padding: 18px;
    }

    .artimar-cart-item__quantity,
    .artimar-cart-item__subtotal {
        padding: 13px 18px;
    }

    .artimar-cart-item__subtotal {
        text-align: right;
    }

    .artimar-cart__empty {
        padding: 45px 24px;
    }
}

/* ===== Account entry and checkout flow ===== */

.artimar-kicker {
    margin: 0 0 12px;
    color: var(--artimar-accent);
    font: 700 13px/1.3 'Lato', sans-serif;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.artimar-account-entry,
.artimar-checkout {
    background: var(--artimar-soft);
    color: var(--artimar-ink);
}

.artimar-account-entry__hero,
.artimar-checkout__hero {
    padding: 76px 0 72px;
    background:
        radial-gradient(circle at 80% 0, rgba(152, 134, 93, .14), transparent 34%),
        var(--artimar-paper);
    border-bottom: 1px solid var(--artimar-line);
}

.artimar-account-entry__hero h1,
.artimar-checkout__hero h1 {
    max-width: 900px;
    margin: 0;
    color: var(--artimar-brand);
    font: 400 clamp(48px, 6vw, 84px)/.98 'Foda Display', Georgia, serif;
    letter-spacing: -.025em;
}

.artimar-account-entry__hero h1 + p,
.artimar-checkout__hero h1 + p {
    max-width: 720px;
    margin: 24px 0 0;
    color: var(--artimar-muted);
    font: 400 19px/1.75 'Lora', serif;
}

.artimar-account-entry__content {
    padding-top: 54px;
    padding-bottom: 100px;
}

.artimar-account-types {
    margin-bottom: 34px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    padding: 1px;
    background: var(--artimar-line);
}

.artimar-account-type {
    min-height: 170px;
    padding: 30px;
    display: grid;
    grid-template-columns: 48px 1fr;
    grid-template-rows: auto 1fr;
    gap: 7px 16px;
    align-content: center;
    border: 0;
    background: var(--artimar-white);
    color: var(--artimar-ink);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

.artimar-account-type:hover,
.artimar-account-type:focus-visible,
.artimar-account-type.is-active {
    background: var(--artimar-brand);
    color: #fffaf3;
}

.artimar-account-type__icon {
    grid-row: 1 / 3;
    color: var(--artimar-accent);
    font: 400 34px/1 'Lora', serif;
}

.artimar-account-type strong {
    font: 700 19px/1.3 'Lato', sans-serif;
}

.artimar-account-type > span:last-child {
    max-width: 330px;
    font: 400 15px/1.6 'Lora', serif;
    opacity: .82;
}

.artimar-account-grid {
    display: grid;
    grid-template-columns: minmax(300px, .76fr) minmax(0, 1.34fr);
    align-items: start;
}

.artimar-account-card {
    padding: clamp(38px, 5vw, 72px);
}

.artimar-account-card h2,
.artimar-checkout-panel h2 {
    margin: 0 0 16px;
    color: var(--artimar-brand);
    font: 500 clamp(30px, 3vw, 45px)/1.08 'Lato', sans-serif;
}

.artimar-account-card > p:not(.artimar-kicker):not(.artimar-form-message),
.artimar-checkout-panel > p:not(.artimar-form-message) {
    margin: 0 0 30px;
    color: var(--artimar-muted);
    font: 400 17px/1.7 'Lora', serif;
}

.artimar-account-card--wine {
    position: sticky;
    top: 106px;
    background: var(--artimar-brand);
    color: #fffaf3;
}

.artimar-account-card--wine h2,
.artimar-account-card--wine .artimar-kicker {
    color: #f4dcae;
}

.artimar-account-card--wine > p:not(.artimar-kicker):not(.artimar-form-message) {
    color: rgba(255, 250, 243, .78);
}

.artimar-account-card--registration {
    background: var(--artimar-white);
    border: 1px solid var(--artimar-line);
}

.artimar-form {
    display: grid;
    gap: 20px;
}

.artimar-form--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.artimar-form--inline {
    grid-template-columns: 1fr 1fr auto;
    align-items: end;
}

.artimar-form label {
    display: grid;
    gap: 9px;
    color: inherit;
    font: 700 14px/1.35 'Lato', sans-serif;
}

.artimar-form label > span {
    color: var(--artimar-accent);
}

.artimar-form input:not([type='radio']):not([type='checkbox']),
.artimar-form textarea {
    width: 100%;
    min-height: 52px;
    padding: 13px 15px;
    border: 1px solid var(--artimar-line);
    border-radius: 0;
    background: #fffdf9;
    color: var(--artimar-ink);
    font: 400 16px/1.4 'Lora', serif;
}

.artimar-form textarea {
    min-height: 116px;
    resize: vertical;
}

.artimar-form input:focus,
.artimar-form textarea:focus {
    border-color: var(--artimar-accent);
    outline: 2px solid rgba(152, 134, 93, .15);
}

.artimar-account-card--wine .artimar-form input {
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .09);
    color: #fff;
}

.artimar-account-card__link {
    color: #fffaf3;
    font: 600 14px/1.4 'Lato', sans-serif;
}

.artimar-account-entry .artimar-button,
.artimar-checkout .artimar-button {
    min-height: 54px;
    padding: 0 28px;
    background: var(--artimar-brand);
    color: #fff;
    cursor: pointer;
}

.artimar-account-entry .artimar-button:hover,
.artimar-checkout .artimar-button:hover {
    background: var(--artimar-brand-dark);
    color: #fff;
}

.artimar-account-entry .artimar-button--light {
    background: #f4dcae;
    color: var(--artimar-brand);
}

.artimar-account-choice-fieldset,
.artimar-option-fieldset {
    grid-column: 1 / -1;
    margin: 0;
    padding: 0;
    border: 0;
}

.artimar-account-choice-fieldset legend,
.artimar-option-fieldset legend {
    margin-bottom: 12px;
    color: var(--artimar-ink);
    font: 700 14px/1.35 'Lato', sans-serif;
}

.artimar-account-choice-fieldset {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 26px;
}

.artimar-account-choice-fieldset label {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    gap: 9px;
}

.artimar-company-fields {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    padding: 22px;
    background: var(--artimar-paper);
}

.artimar-company-fields[hidden],
.artimar-checkout-account-fields[hidden] {
    display: none !important;
}

.artimar-form__wide,
.artimar-form__submit {
    grid-column: 1 / -1;
}

.artimar-form__submit {
    margin-top: 8px;
}

/* Shared checkout */
.artimar-checkout {
    padding-bottom: 100px;
}

.artimar-checkout-progress {
    margin: 42px 0;
}

.artimar-checkout-progress ol {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    list-style: none;
}

.artimar-checkout-progress li {
    min-width: 0;
    padding: 18px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-top: 1px solid var(--artimar-line);
    border-bottom: 1px solid var(--artimar-line);
    color: #968a81;
}

.artimar-checkout-progress li + li {
    border-left: 1px solid var(--artimar-line);
}

.artimar-checkout-progress li.is-complete,
.artimar-checkout-progress li.is-active {
    color: var(--artimar-brand);
}

.artimar-checkout-progress li.is-active {
    background: var(--artimar-paper);
}

.artimar-checkout-progress__number {
    color: var(--artimar-accent);
    font: 700 12px/1 'Lato', sans-serif;
    letter-spacing: .1em;
}

.artimar-checkout-progress__label {
    overflow: hidden;
    font: 700 14px/1.3 'Lato', sans-serif;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artimar-checkout-layout {
    display: grid;
    grid-template-columns: minmax(270px, .68fr) minmax(0, 1.6fr);
    gap: 34px;
    align-items: start;
}

.artimar-checkout-summary {
    position: sticky;
    top: 106px;
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-paper);
}

.artimar-checkout-summary img {
    max-width: 88px;
    height: 88px;
    object-fit: contain;
    filter: drop-shadow(0 10px 12px rgba(66, 36, 30, .14));
}

.artimar-checkout-summary table {
    width: 100%;
}

.artimar-checkout-summary th,
.artimar-checkout-summary td {
    padding: 11px 0;
    border-color: rgba(90, 48, 54, .14);
    color: var(--artimar-ink);
    font: 400 14px/1.5 'Lora', serif;
}

.artimar-checkout-main {
    min-width: 0;
    display: grid;
    gap: 24px;
}

.artimar-checkout-panel {
    position: relative;
    min-width: 0;
    padding: clamp(34px, 5vw, 64px);
    border: 1px solid var(--artimar-line);
    background: var(--artimar-white);
}

.artimar-checkout-panel--soft {
    background: var(--artimar-paper);
}

.artimar-checkout-panel__number {
    position: absolute;
    top: 25px;
    right: 28px;
    color: var(--artimar-accent);
    font: 700 13px/1 'Lato', sans-serif;
    letter-spacing: .12em;
}

.artimar-checkout-panel__heading {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.artimar-checkout-panel__heading h2 {
    margin: 0;
}

.artimar-checkout-account-fields {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.artimar-option-fieldset {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.artimar-option-fieldset legend {
    grid-column: 1 / -1;
}

.artimar-option-card {
    position: relative;
    display: block !important;
}

.artimar-option-card input {
    position: absolute;
    opacity: 0;
}

.artimar-option-card > span {
    min-height: 58px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    border: 1px solid var(--artimar-line);
    background: #fff;
    color: var(--artimar-ink) !important;
}

.artimar-option-card input:checked + span {
    border-color: var(--artimar-brand);
    box-shadow: inset 4px 0 0 var(--artimar-brand);
}

.artimar-switch {
    display: flex !important;
    grid-template-columns: none !important;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px !important;
    font-size: 14px !important;
}

.artimar-switch input {
    width: 18px;
    height: 18px;
    accent-color: var(--artimar-brand);
}

.artimar-choice-list {
    display: grid;
    gap: 14px;
}

.artimar-choice-card {
    position: relative;
    min-height: 98px;
    padding: 22px;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    border: 1px solid var(--artimar-line);
    background: #fff;
    cursor: pointer;
}

.artimar-choice-card > input {
    position: absolute;
    opacity: 0;
}

.artimar-choice-card:has(input:checked) {
    border-color: var(--artimar-brand);
    box-shadow: inset 5px 0 0 var(--artimar-brand);
}

.artimar-choice-card__mark {
    width: 20px;
    height: 20px;
    border: 1px solid var(--artimar-accent);
    border-radius: 50%;
}

.artimar-choice-card input:checked ~ .artimar-choice-card__mark {
    border: 6px solid var(--artimar-brand);
}

.artimar-choice-card__content {
    display: grid;
    gap: 7px;
}

.artimar-choice-card__content strong,
.artimar-choice-card__price {
    font: 700 17px/1.35 'Lato', sans-serif;
}

.artimar-choice-card__content small {
    color: var(--artimar-muted);
    font: 400 15px/1.55 'Lora', serif;
}

.artimar-choice-card__icon {
    color: var(--artimar-accent);
    font: 600 24px/1 'Lato', sans-serif;
}

.artimar-checkout-actions {
    display: flex;
    justify-content: flex-end;
}

.artimar-checkout .artimar-button--large {
    min-width: min(100%, 330px);
    min-height: 62px;
}

.artimar-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.artimar-review-card {
    padding: 24px;
    display: grid;
    gap: 5px;
    border: 1px solid var(--artimar-line);
    background: var(--artimar-soft);
}

.artimar-review-card strong {
    margin-bottom: 7px;
    color: var(--artimar-brand);
    font: 700 17px/1.4 'Lato', sans-serif;
}

.artimar-review-card span {
    color: var(--artimar-muted);
    font: 400 15px/1.55 'Lora', serif;
}

.artimar-review-card--compact {
    background: var(--artimar-paper);
}

.artimar-checkout-privacy {
    margin: 26px 0 0 !important;
    padding-top: 22px;
    border-top: 1px solid var(--artimar-line);
    font-size: 14px !important;
}

@media (max-width: 1050px) {
    .artimar-account-grid,
    .artimar-checkout-layout {
        grid-template-columns: 1fr;
    }

    .artimar-account-card--wine,
    .artimar-checkout-summary {
        position: static;
    }

    .artimar-checkout-summary {
        order: 2;
    }

    .artimar-checkout-main {
        order: 1;
    }
}

@media (max-width: 820px) {
    .artimar-account-types {
        grid-template-columns: 1fr;
    }

    .artimar-account-type {
        min-height: 130px;
    }

    .artimar-checkout-progress {
        margin: 28px 0;
        overflow-x: auto;
    }

    .artimar-checkout-progress ol {
        min-width: 650px;
    }

    .artimar-form--inline {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .artimar-account-entry__hero,
    .artimar-checkout__hero {
        padding: 52px 0 48px;
    }

    .artimar-account-entry__hero h1,
    .artimar-checkout__hero h1 {
        font-size: clamp(42px, 14vw, 60px);
    }

    .artimar-account-entry__hero h1 + p,
    .artimar-checkout__hero h1 + p {
        font-size: 17px;
    }

    .artimar-account-entry__content {
        padding-top: 30px;
        padding-bottom: 68px;
    }

    .artimar-account-card,
    .artimar-checkout-panel,
    .artimar-checkout-summary {
        padding: 28px 22px;
    }

    .artimar-form--grid,
    .artimar-company-fields,
    .artimar-checkout-account-fields,
    .artimar-option-fieldset,
    .artimar-review-grid {
        grid-template-columns: 1fr;
    }

    .artimar-checkout-panel__heading {
        display: grid;
    }

    .artimar-choice-card {
        grid-template-columns: 22px minmax(0, 1fr);
    }

    .artimar-choice-card__price,
    .artimar-choice-card__icon {
        grid-column: 2;
    }

    .artimar-checkout-actions .artimar-button {
        width: 100%;
    }
}
