.elementor-109 .elementor-element.elementor-element-957309d > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-109 .elementor-element.elementor-element-957309d:not(.elementor-motion-effects-element-type-background), .elementor-109 .elementor-element.elementor-element-957309d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );background-image:url("https://thesofaco.ca/wp-content/uploads/2026/06/minimalist-black-interior-with-black-sofa-scaled.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-109 .elementor-element.elementor-element-957309d > .elementor-background-overlay{background-color:#000000;opacity:0.5;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-109 .elementor-element.elementor-element-957309d > .elementor-container{min-height:100vh;}.elementor-109 .elementor-element.elementor-element-957309d{overflow:hidden;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 0px 0px 0px;z-index:1;}.elementor-bc-flex-widget .elementor-109 .elementor-element.elementor-element-6b47368.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-109 .elementor-element.elementor-element-6b47368.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-109 .elementor-element.elementor-element-6b47368.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-109 .elementor-element.elementor-element-f992a91 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-109 .elementor-element.elementor-element-f992a91{text-align:center;}.elementor-109 .elementor-element.elementor-element-f992a91 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:80px;font-weight:700;line-height:1.1px;letter-spacing:-0.02px;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-109 .elementor-element.elementor-element-50360eb > .elementor-widget-container{margin:24px 0px 0px 0px;padding:0px 80px 0px 80px;}.elementor-109 .elementor-element.elementor-element-50360eb{column-gap:0px;text-align:center;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;line-height:1.7px;color:#FFFFFFD9;}.elementor-109 .elementor-element.elementor-element-f24b158 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-109 .elementor-element.elementor-element-f24b158 > .elementor-container{max-width:900px;}.elementor-109 .elementor-element.elementor-element-f24b158{padding:0px 0px 0px 0px;}.elementor-bc-flex-widget .elementor-109 .elementor-element.elementor-element-fd3ff10.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-109 .elementor-element.elementor-element-fd3ff10.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-109 .elementor-element.elementor-element-fd3ff10.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-109 .elementor-element.elementor-element-e925f75 .elementor-button{background-color:#002349;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;fill:#FFFFFF;color:#FFFFFF;border-radius:0px 0px 0px 0px;}.elementor-109 .elementor-element.elementor-element-e925f75 .elementor-button:hover, .elementor-109 .elementor-element.elementor-element-e925f75 .elementor-button:focus{background-color:#001A38;color:#FFFFFF;}.elementor-109 .elementor-element.elementor-element-e925f75 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-109 .elementor-element.elementor-element-e925f75 .elementor-button:hover svg, .elementor-109 .elementor-element.elementor-element-e925f75 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-bc-flex-widget .elementor-109 .elementor-element.elementor-element-71f8ec4.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-109 .elementor-element.elementor-element-71f8ec4.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-109 .elementor-element.elementor-element-71f8ec4.elementor-column > .elementor-widget-wrap{justify-content:flex-start;}.elementor-109 .elementor-element.elementor-element-71f8ec4 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-109 .elementor-element.elementor-element-18148bc .elementor-button{background-color:#FFFFFF00;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-radius:0px 0px 0px 0px;}.elementor-109 .elementor-element.elementor-element-18148bc .elementor-button:hover, .elementor-109 .elementor-element.elementor-element-18148bc .elementor-button:focus{background-color:#FFFFFF1A;color:#FFFFFF;}.elementor-109 .elementor-element.elementor-element-18148bc > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 40px 0px 40px;}.elementor-109 .elementor-element.elementor-element-18148bc .elementor-button:hover svg, .elementor-109 .elementor-element.elementor-element-18148bc .elementor-button:focus svg{fill:#FFFFFF;}.elementor-109 .elementor-element.elementor-element-cf3947f:not(.elementor-motion-effects-element-type-background), .elementor-109 .elementor-element.elementor-element-cf3947f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-109 .elementor-element.elementor-element-cf3947f{overflow:hidden;border-style:solid;border-width:1px 1px 1px 1px;border-color:#1A1A1A14;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 80px 0px 80px;}.elementor-109 .elementor-element.elementor-element-cf3947f > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-109 .elementor-element.elementor-element-8310def:not(.elementor-motion-effects-element-type-background), .elementor-109 .elementor-element.elementor-element-8310def > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-109 .elementor-element.elementor-element-8310def{overflow:hidden;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 80px 100px 80px;}.elementor-109 .elementor-element.elementor-element-8310def > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-109 .elementor-element.elementor-element-5e682c9 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-109 .elementor-element.elementor-element-5e682c9{overflow:hidden;}.elementor-109 .elementor-element.elementor-element-104967c > .elementor-container{min-height:600px;}.elementor-109 .elementor-element.elementor-element-104967c{overflow:hidden;}.elementor-109 .elementor-element.elementor-element-e37d3a9{overflow:hidden;}.elementor-109 .elementor-element.elementor-element-006efee > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-109 .elementor-element.elementor-element-006efee:not(.elementor-motion-effects-element-type-background), .elementor-109 .elementor-element.elementor-element-006efee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-109 .elementor-element.elementor-element-006efee{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-109 .elementor-element.elementor-element-006efee > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-109 .elementor-element.elementor-element-b04a072 > .elementor-container{min-height:150px;}.elementor-109 .elementor-element.elementor-element-b04a072{overflow:hidden;}.elementor-bc-flex-widget .elementor-109 .elementor-element.elementor-element-d69b116.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-109 .elementor-element.elementor-element-d69b116.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-109 .elementor-element.elementor-element-d69b116.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-109 .elementor-element.elementor-element-77cc819{text-align:center;}.elementor-109 .elementor-element.elementor-element-77cc819 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:2.5rem;font-weight:700;color:#002349;}.elementor-109 .elementor-element.elementor-element-5fcc475{text-align:center;font-family:"Montserrat", Sans-serif;font-size:1rem;font-weight:400;color:#888888;}.elementor-109 .elementor-element.elementor-element-f72e9ed{--display:flex;--overflow:hidden;}.elementor-109 .elementor-element.elementor-element-b42c827{--display:flex;--min-height:0px;--overflow:hidden;}@media(max-width:1024px){.elementor-109 .elementor-element.elementor-element-f992a91 .elementor-heading-title{font-size:48px;}.elementor-109 .elementor-element.elementor-element-50360eb{font-size:14px;}.elementor-109 .elementor-element.elementor-element-cf3947f{padding:0px 40px 0px 40px;}.elementor-109 .elementor-element.elementor-element-8310def{padding:70px 40px 70px 40px;}}@media(max-width:767px){.elementor-109 .elementor-element.elementor-element-957309d > .elementor-container{min-height:80vh;}.elementor-109 .elementor-element.elementor-element-f992a91 .elementor-heading-title{font-size:34px;}.elementor-109 .elementor-element.elementor-element-50360eb{font-size:10px;}.elementor-109 .elementor-element.elementor-element-f24b158 > .elementor-container{max-width:500px;}.elementor-109 .elementor-element.elementor-element-f24b158{padding:0px 20px 0px 20px;}.elementor-109 .elementor-element.elementor-element-fd3ff10{width:50%;}.elementor-109 .elementor-element.elementor-element-e925f75 .elementor-button{font-size:10px;}.elementor-109 .elementor-element.elementor-element-71f8ec4{width:50%;}.elementor-109 .elementor-element.elementor-element-18148bc .elementor-button{font-size:10px;}.elementor-109 .elementor-element.elementor-element-cf3947f{padding:0px 20px 0px 20px;}.elementor-109 .elementor-element.elementor-element-8310def{padding:60px 20px 60px 20px;}.elementor-109 .elementor-element.elementor-element-b04a072{padding:10px 10px 10px 10px;}.elementor-109 .elementor-element.elementor-element-77cc819 .elementor-heading-title{font-size:2rem;}.elementor-109 .elementor-element.elementor-element-5fcc475{font-size:0.6rem;}}@media(min-width:1025px){.elementor-109 .elementor-element.elementor-element-957309d:not(.elementor-motion-effects-element-type-background), .elementor-109 .elementor-element.elementor-element-957309d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}/* Start custom CSS for shortcode, class: .elementor-element-eac0086 *//* ==========================================================
   CURATED COLLECTIONS
========================================================== */

.sc-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;

}

.sc-card{

    display:block;

    text-decoration:none;

}

.sc-img-wrap{

    position:relative;

    aspect-ratio:3/3;

    overflow:hidden;

    background:#f3f3f3;

}

.sc-img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:transform .8s ease;

}

.sc-card:hover .sc-img{

    transform:scale(1.05);

}

/* Light overlay so image text remains visible */

.sc-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        to bottom,
        rgba(0,0,0,.22),
        rgba(0,0,0,.08),
        rgba(0,0,0,.15)
    );

    transition:.35s;

}

.sc-card:hover .sc-overlay{

    background:linear-gradient(
        to bottom,
        rgba(0,0,0,.30),
        rgba(0,0,0,.12),
        rgba(0,0,0,.18)
    );

}

.sc-content{

    position:absolute;

    top:34px;

    left:34px;

    right:34px;

}

.sc-label{

    display:block;

    margin-bottom:14px;

    font-family:'Montserrat',sans-serif;

    font-size:11px;

    font-weight:500;

    letter-spacing:.18em;

    text-transform:uppercase;

    color:#fff;

}

.sc-description{

    margin-top:35px ;

    max-width:240px;

    font-family:'Montserrat',sans-serif;

    font-size:12px;

    line-height:1.7;

    font-weight:400;

    color:#fff;

    text-shadow:0 2px 8px rgba(0,0,0,.30);

}

/* Hover */

.sc-card:hover .sc-description{

    transform:translateY(2px);

}

/* Tablet */

@media(max-width:1024px){

.sc-grid{

grid-template-columns:repeat(3,1fr);

gap:18px;

}

.sc-content{

top:24px;
left:24px;
right:24px;

}

.sc-description{

font-size:14px;

}

}

/* Mobile */

@media(max-width:767px){

.sc-grid{

grid-template-columns:1fr;

gap:20px;

}

.sc-img-wrap{

aspect-ratio:4/5;

}

.sc-content{

top:22px;
left:22px;
right:22px;

}

.sc-label{

font-size:10px;

}

.sc-description{

font-size:14px;

max-width:220px;

}

}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5e6afc9 *//* ==========================================================
   DESIGN YOUR MODULAR DREAM
==========================================================*/

.design-modular{

    background:linear-gradient(135deg,#082248,#163b69);

    padding:10px 0;

    overflow:hidden;

}

.design-modular__inner{

    max-width:1400px;

    margin:auto;

    padding:0 40px;

    display:grid;

    grid-template-columns:320px 1fr 300px;

    gap:35px;

    align-items:center;

}


/* LEFT */

.design-eyebrow{

    display:block;

    margin-bottom:16px;

    color:#A9BED8;

    font-family:Montserrat,sans-serif;

    font-size:11px;

    letter-spacing:.18em;

    text-transform:uppercase;

}

.design-title{

    margin:0;

    color:#fff;

    font-family:Playfair Display,serif;

    font-size:52px;

    line-height:1.05;

}

.design-description{

    margin:22px 0 30px;

    color:#d9e2ef;

    font-size:16px;

    line-height:1.8;

    font-family:Montserrat,sans-serif;

}

.design-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 34px;

    background:#fff;

    color:#002349;

    border-radius:40px;

    text-decoration:none;

    font-size:13px;

    font-family:Montserrat,sans-serif;

    font-weight:600;

    letter-spacing:.12em;

    transition:.3s;

}

.design-btn:hover{

    transform:translateY(-3px);

}


/* CENTER */

.design-preview{

    display:flex;

    justify-content:center;

}

.sofa-placeholder{

    width:100%;

    max-width:680px;

    height:320px;

    border-radius:28px;

    overflow:hidden;

    background:#fff;

    box-shadow:0 20px 45px rgba(0,0,0,.18);

}

.sofa-placeholder img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.45s;

}

.design-preview:hover img{

    transform:scale(1.04);

}


/* RIGHT PANEL */

.sidebar-card{

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.15);

    backdrop-filter:blur(14px);

    border-radius:24px;

    padding:22px;

}

.sidebar-card h4{

    margin:0 0 10px;

    color:#fff;

    font-size:12px;

    letter-spacing:.15em;

    text-transform:uppercase;

    font-family:Montserrat,sans-serif;

}


/* FRAME */

.frame-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:14px;

    margin-bottom:20px;

}

.frame-grid span{

    width:52px;

    height:52px;

    border-radius:10px;

    border:2px solid rgba(255,255,255,.18);

    justify-self:center;

    cursor:pointer;

    transition:.3s;

}

.frame-grid span:hover{

    transform:scale(1.08);

}


/* FABRIC */

.fabric-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:10px;

    margin-bottom:20px;

}

.fabric-grid span{

    width:56px;

    height:56px;

    border-radius:10px;

    cursor:pointer;

    transition:.3s;

}

.fabric-grid span:hover{

    transform:translateY(-2px);

}


/* CONFIGURATION */

.layout-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:12px;

}

.layout-grid div{

    padding:18px 12px;

    border-radius:14px;

    background:rgba(255,255,255,.10);

    color:#fff;

    text-align:center;

    font-family:Montserrat,sans-serif;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.layout-grid div:hover{

    background:#fff;

    color:#002349;

}


/* TABLET */

@media(max-width:1100px){

.design-modular__inner{

grid-template-columns:280px 1fr 260px;

gap:24px;

}

.design-title{

font-size:42px;

}

.sofa-placeholder{

height:270px;

}

.frame-grid span{

width:46px;
height:46px;

}

.fabric-grid span{

width:48px;
height:48px;

}

}

/* ==========================================================
   MOBILE DESIGN
========================================================== */

@media (max-width: 767px){

.modular-right{

    padding:24px 18px;

    border-radius:22px;

}

.modular-group{

    margin-bottom:24px;

}

.modular-group h4{

    font-size:14px;

    letter-spacing:.12em;

    margin-bottom:14px;

    text-align:center;

}

/* Frame + Fabric */

.color-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:12px;

}

.color-grid span{

    width:54px;

    height:54px;

    border-radius:12px;

    margin:auto;

}

/* Module Buttons */

.module-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:12px;

}

.module-grid span{

    padding:14px 10px;

    font-size:15px;

    border-radius:14px;

}

/* Reduce overall spacing */

.modular-right *{

    box-sizing:border-box;

}

}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-5e682c9 *//* ==========================================================
   DESIGN YOUR MODULAR DREAM
========================================================== */

.design-modular{

    position:relative;

    overflow:hidden;

    padding:90px 0;

    background:linear-gradient(135deg,#03172f 0%,#0b2951 45%,#163d70 100%);

}

.design-modular::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    top:-260px;

    right:-220px;

}

.design-modular::after{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:rgba(255,255,255,.03);

    bottom:-180px;

    left:-160px;

}

.design-modular__inner{

    position:relative;

    z-index:2;

    max-width:1320px;

    margin:auto;

    padding:0 40px;

    display:grid;

    grid-template-columns:1fr 1.2fr 340px;

    gap:40px;

    align-items:center;

}

/* LEFT */

.design-content{

    color:#fff;

}

.design-eyebrow{

    display:inline-block;

    margin-bottom:18px;

    font-family:Montserrat,sans-serif;

    font-size:11px;

    letter-spacing:.22em;

    text-transform:uppercase;

    color:rgba(255,255,255,.75);

}

.design-title{

    margin:0;

    font-family:'Playfair Display',serif;

    font-size:62px;

    line-height:1;

    font-weight:700;

    color:#fff;

}

.design-description{

    margin:30px 0 36px;

    max-width:420px;

    font-family:Montserrat,sans-serif;

    font-size:16px;

    line-height:1.8;

    color:rgba(255,255,255,.82);

}

.design-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    background:#fff;

    color:#002349;

    text-decoration:none;

    font-family:Montserrat,sans-serif;

    font-size:13px;

    font-weight:600;

    letter-spacing:.14em;

    text-transform:uppercase;

    border-radius:50px;

    transition:.3s;

}

.design-btn:hover{

    transform:translateY(-3px);

    box-shadow:0 18px 35px rgba(0,0,0,.18);

}

/* CENTER */

.design-preview{

    display:flex;

    justify-content:center;

    align-items:center;

}

.sofa-placeholder{

    width:100%;

    max-width:700px;

    height:380px;

    border-radius:34px;

    background:linear-gradient(145deg,#f6f6f6,#d8d8d8);

    display:flex;

    justify-content:center;

    align-items:center;

    border:1px solid rgba(255,255,255,.25);

    box-shadow:

        0 30px 70px rgba(0,0,0,.25),

        inset 0 1px 0 rgba(255,255,255,.7);

}

.sofa-placeholder span{

    font-family:Montserrat,sans-serif;

    font-size:18px;

    letter-spacing:.18em;

    color:#888;

}

/* RIGHT */

.design-sidebar{

    display:flex;

    justify-content:flex-end;

}

.sidebar-card{

    width:100%;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.18);

    border-radius:24px;

    padding:28px;

    box-shadow:0 18px 40px rgba(0,0,0,.25);

}

.sidebar-card h4{

    margin:0 0 14px;

    font-family:Montserrat,sans-serif;

    font-size:12px;

    font-weight:600;

    color:#fff;

    letter-spacing:.16em;

    text-transform:uppercase;

}

/* COLOR CIRCLES */

.color-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:12px;

    margin-bottom:28px;

}

.color-grid span{

    width:48px;

    height:48px;

    border-radius:50%;

    border:2px solid rgba(255,255,255,.35);

    justify-self:center;

}

/* FABRICS */

.fabric-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:10px;

    margin-bottom:30px;

}

.fabric-grid span{

    aspect-ratio:1;

    border-radius:8px;

}

/* LAYOUT */

.layout-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:12px;

}

.layout-grid div{

    height:64px;

    border-radius:12px;

    background:rgba(255,255,255,.12);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    font-family:Montserrat,sans-serif;

    font-weight:700;

    transition:.3s;

}

.layout-grid div:hover{

    background:#fff;

    color:#002349;

}

/* ==========================
   TABLET
========================== */

@media(max-width:1100px){

.design-modular__inner{

grid-template-columns:1fr;

text-align:center;

}

.design-description{

margin-left:auto;

margin-right:auto;

}

.design-preview{

order:2;

}

.design-sidebar{

order:3;

justify-content:center;

}

.sidebar-card{

max-width:420px;

}

}

/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

.design-modular{

padding:70px 0;

}

.design-modular__inner{

padding:0 20px;

gap:30px;

}

.design-title{

font-size:42px;

}

.design-description{

font-size:15px;

line-height:1.7;

}

.sofa-placeholder{

height:240px;

}

.design-btn{

width:100%;

}

.sidebar-card{

padding:20px;

}

.color-grid span{

width:42px;

height:42px;

}

}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-1c39fe4 *//* ==========================================================
   SOFA CO. — BEST SELLERS
========================================================== */

.sofa-products-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:28px;
    width:100%;
}

/* Card */

.luxury-product-card{
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #e8e5e2;
    border-radius:18px;
    overflow:hidden;
    transition:.35s;
    height:100%;
}

.luxury-product-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 50px rgba(0,0,0,.08);
}

/* Image */

.product-image{
    display:block;
    aspect-ratio:1/1;
    overflow:hidden;
    background:#f7f5f3;
}

.product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.5s;
}

.luxury-product-card:hover img{
    transform:scale(1.05);
}

/* Content */

.product-content{
    padding:22px;
    display:flex;
    flex-direction:column;
    flex:1;
}

/* Title */

.product-content h3{
    margin:0 0 10px;
    font-family:'Playfair Display',serif;
    font-size:22px;
    line-height:1.25;
    font-weight:600;
    color:#002349;
}

/* Subtitle */

.product-content p{
    margin:0 0 18px;
    font-family:'Montserrat',sans-serif;
    font-size:15px;
    color:#7b7b7b;
    line-height:1.6;
}

/* Bottom */

.product-bottom{
    margin-top:auto;
    display:flex;
    flex-direction:column;
    gap:16px;
}

/* Price */

.product-price{
    font-family:'Montserrat',sans-serif;
    font-size:18px;
    font-weight:700;
    color:#111;
}

/* Button */

.product-cart{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    height:46px;
    background:#002349;
    color:#fff;
    border-radius:999px;
    text-decoration:none;
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:.3s;
}

.product-cart:hover{
    background:#0b3b73;
    color:#fff;
}

/* ===========================
   TABLET
=========================== */

@media(max-width:1024px){

.sofa-products-grid{
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:24px;
}

.product-content{
padding:20px;
}

.product-content h3{
font-size:20px;
}

.product-content p{
font-size:14px;
}

.product-price{
font-size:17px;
}

}

/* ===========================
   MOBILE
=========================== */

@media(max-width:767px){

.sofa-products-grid{
grid-template-columns:1fr !important;
gap:22px;
}

.product-content{
padding:18px;
}

.product-content h3{
font-size:22px;
}

.product-content p{
font-size:14px;
}

.product-price{
font-size:18px;
}

.product-cart{
height:44px;
font-size:11px;
}

}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-fd10fc0 *//* ==========================================================
   GOOGLE REVIEW SLIDER
========================================================== */

.google-review-section{
    position:relative;
    display:flex;
    align-items:center;
    gap:20px;
    width:100%;
    margin:40px 0;
}

.googleReviewSlider{
    width:100%;
    overflow:hidden;
}

.googleReviewSlider .swiper-wrapper{
    align-items:stretch;
}

.googleReviewSlider .swiper-slide{
    height:auto;
}

.google-review-card{

    background:#fff;

    border:1px solid #ececec;

    border-radius:16px;

    padding:20px;

    height:100%;

    min-height:255px;

    display:flex;

    flex-direction:column;

    box-shadow:0 3px 12px rgba(0,0,0,.08);

    transition:.3s;

}

.google-review-card:hover{

    transform:translateY(-5px);

    box-shadow:0 10px 28px rgba(0,0,0,.14);

}

.gr-top{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-bottom:14px;

}

.gr-user{

    display:flex;

    align-items:flex-start;

    gap:12px;

    flex:1;

    min-width:0;

}

.gr-user img{

    width:42px;

    height:42px;

    border-radius:50%;

    object-fit:cover;

    flex-shrink:0;

}

.gr-meta{

    flex:1;

    min-width:0;

}

.gr-name{

    font-family:Arial,sans-serif;

    font-size:17px;

    font-weight:600;

    color:#202124;

    line-height:1.25;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;

}

.gr-time{

    margin-top:3px;

    color:#777;

    font-size:13px;

}

.gr-google{

    width:22px;

    height:22px;

    flex-shrink:0;

}

.gr-stars{

    margin:8px 0 14px;

    display:flex;

    align-items:center;

    gap:8px;

    font-size:18px;

    color:#FBBC04;

}

.verified{

    width:22px;

    height:22px;

    border-radius:50%;

    background:#4285F4;

    color:#fff;

    font-size:12px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:bold;

}

.gr-text{

    flex:1;

    font-family:Arial,sans-serif;

    font-size:15px;

    color:#3c4043;

    line-height:1.6;

    overflow:hidden;

    display:-webkit-box;

    -webkit-line-clamp:4;

    -webkit-box-orient:vertical;

}

.gr-read{

    margin-top:18px;

    font-size:14px;

    color:#5f6368;

    cursor:pointer;

}

.gr-read:hover{

    color:#000;

}

.google-prev,
.google-next{

    width:46px;

    height:46px;

    border:none;

    border-radius:50%;

    background:#fff;

    box-shadow:0 3px 10px rgba(0,0,0,.18);

    cursor:pointer;

    font-size:28px;

    color:#555;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-shrink:0;

    transition:.25s;

}

.google-prev:hover,
.google-next:hover{

    background:#f7f7f7;

    color:#111;

}

@media(max-width:1199px){

.gr-name{

font-size:16px;

}

}

@media(max-width:991px){

.google-review-section{

gap:10px;

}

.google-prev,
.google-next{

width:40px;

height:40px;

font-size:22px;

}

}

@media(max-width:767px){

.google-review-card{

min-height:220px;

padding:16px;

}

.gr-name{

font-size:15px;

}

.gr-text{

font-size:14px;

}

.gr-user img{

width:38px;

height:38px;

}

}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-a2eb127 *//* ==========================================================
   SOFA STUDIO SLIDER
========================================================== */

.studio-gallery{
    display:flex;
    align-items:center;
    width:100%;
    gap:15px;
}

.sofaStudioSwiper{
    width:100%;
    overflow:hidden;
}

.swiper-wrapper{
    align-items:stretch;
}

.swiper-slide{
    height:auto;
}

.sg-item{
    position:relative;
    overflow:hidden;
    aspect-ratio:1/1;
    background:#f0eded;
}

.sg-img{

    width:100%;
    height:100%;

    min-width:100%;
    min-height:100%;

    object-fit:cover;
    display:block;

    transition:transform .7s ease;
}

.sg-item:hover .sg-img{
    transform:scale(1.06);
}

.sg-hover{

    position:absolute;
    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(0,35,73,.45);

    opacity:0;

    transition:.3s;
}

.sg-item:hover .sg-hover{
    opacity:1;
}

.sg-tag{

    color:#fff;

    font-family:Montserrat,sans-serif;

    font-size:11px;

    font-weight:600;

    letter-spacing:.12em;

    text-transform:uppercase;
}

/* arrows */

.studio-prev,
.studio-next{

    width:42px;
    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    font-size:42px;

    color:#111;

    user-select:none;

    transition:.3s;
}

.studio-prev:hover,
.studio-next:hover{

    color:#777;

}

@media(max-width:1024px){

    .studio-prev,
    .studio-next{

        font-size:34px;

        width:34px;
    }

}

@media(max-width:767px){

    .studio-gallery{

        gap:8px;

    }

    .studio-prev,
    .studio-next{

        font-size:28px;

        width:28px;
    }

}/* End custom CSS */
/* Start custom CSS *//* ===== SOFA CO. DYNAMIC PRODUCT GRID ===== */

/* Always 2 columns, consistent card sizes */
.sofa-products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  align-items: start;
  width: 100%;
}

/* Product Card – all use 'tall' aspect ratio */
.luxury-product-card {
  width: 100%;
  cursor: pointer;
  text-decoration: none;
  display: block;
  background: transparent;
}

/* Image Wrapper */
.luxury-product-card .img-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #f0eded;
  margin-bottom: 20px;
  aspect-ratio: 4 / 5;   /* uniform tall ratio */
}

/* Hover zoom */
.luxury-product-card .img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1.2s cubic-bezier(0.15, 0, 0.15, 1);
}
.luxury-product-card:hover .img-wrapper img {
  transform: scale(1.06);
}

/* Content row */
.luxury-product-card .content-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.luxury-product-card .title-group {
  flex: 1;
  padding-right: 16px;
}
.luxury-product-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 600;
  color: #002349;
  margin: 0 0 6px 0;
  line-height: 1.2;
}
.luxury-product-card .subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: rgba(26,26,26,0.5);
  margin: 0;
  line-height: 1.4;
}
.luxury-product-card .price {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #002349;
  white-space: nowrap;
}

/* Sale styling */
.luxury-product-card .price del {
  opacity: 0.4;
  font-size: 13px;
}
.luxury-product-card .price ins {
  text-decoration: none;
}

/* Offset removed – not needed for 2 cards */

/* Tablet – same 2 columns, smaller gap */
@media (max-width: 1024px) and (min-width: 768px) {
  .sofa-products-grid {
    gap: 24px;
  }
  .luxury-product-card h3 {
    font-size: 20px;
  }
}

/* Mobile – 2 columns, tighter spacing, smaller fonts */
@media (max-width: 767px) {
  .sofa-products-grid {
    gap: 16px;
  }
  /* Keep 4:5 ratio or switch to 4:3 if you prefer */
  .luxury-product-card .img-wrapper {
    aspect-ratio: 4 / 3;   /* more square on mobile, optional */
  }
  .luxury-product-card h3 {
    font-size: 16px;
    margin-bottom: 4px;
  }
  .luxury-product-card .subtitle {
    font-size: 10px;
  }
  .luxury-product-card .price {
    font-size: 14px;
  }
  .luxury-product-card .content-row {
    flex-wrap: wrap;
  }
  .luxury-product-card .title-group {
    padding-right: 8px;
  }
}



/* ===== REVIEWS GRID ===== */
.testimonials-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    width: 100%;
    margin: 2rem 0;
    box-sizing: border-box;
}

/* ===== REVIEW CARD ===== */
.testimonial-card {
    background: #f9f9f9;
    padding: 2rem;
    border-radius: 0.5rem;
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100% !important;
    margin: 0 !important;
}

/* ===== STARS ===== */
.star-rating {
    display: flex;
    color: #002349;
    margin-bottom: 1rem;
}

.star-rating .material-icons {
    font-size: 1rem;
    margin-right: 2px;
}

/* ===== QUOTE ===== */
.testimonial-quote {
    font-style: italic;
    color: #444;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    flex-grow: 1;
}

/* ===== AUTHOR ===== */
.testimonial-author {
    margin-top: auto;
}

.author-name {
    font-weight: 600;
    color: #002349;
    margin: 10;
}

.author-location {
    font-size: 0.875rem;
    color: #888;
    margin: 0;
}

.author-location a {
    color: #002349;
    text-decoration: none;
}

.author-location a:hover {
    text-decoration: underline;
}

/* ===== TABLET ===== */
@media (max-width: 1024px) {
    .testimonials-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

/* ===== MOBILE ===== */
@media (max-width: 767px) {
    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .testimonial-card {
        padding: 1.5rem;
    }
}/* End custom CSS */