.cs-home-product{position:relative}
.cs-home-product-fav.is-active{color:#8c2424}
.cs-image-error{opacity:.25;background:#d7cec4}

/* Product detail */
.cs-product-page{padding:34px 0 90px;background:#f8f5ef}
.cs-product-breadcrumb{display:flex;gap:9px;margin-bottom:24px;color:var(--cs-muted);font-size:12px}
.cs-product-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:60px;align-items:start}
.cs-product-main-image{position:relative;overflow:hidden;min-height:720px;background:#ddd2c6}
.cs-product-main-image img{width:100%;height:100%;min-height:720px;object-fit:cover;object-position:center top}
.cs-product-detail-badge{position:absolute;left:18px;top:18px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.9);font-size:11px;font-weight:800}
.cs-product-summary{position:sticky;top:104px;padding:24px 0}
.cs-product-summary h1{margin:0 0 18px;font-size:46px;line-height:1.05;letter-spacing:-.045em}
.cs-product-detail-price{margin:0 0 22px;font-size:26px;font-weight:900}
.cs-product-lead{margin:0 0 30px;color:var(--cs-muted);font-size:15px;line-height:1.65}
.cs-size-row{display:flex;justify-content:space-between;gap:20px;margin-bottom:12px;font-size:12px;font-weight:700}
.cs-size-row a{color:var(--cs-muted);text-decoration:underline}
.cs-size-options{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:24px}
.cs-size-option{min-height:38px;border:1px solid var(--cs-line);background:#fff;cursor:pointer}
.cs-size-option:hover,.cs-size-option.is-selected{border-color:#171513;background:#171513;color:#fff}
.cs-product-buy{width:100%;min-height:52px;margin-bottom:28px}
.cs-product-details{border-top:1px solid var(--cs-line)}
.cs-product-details details{border-bottom:1px solid var(--cs-line)}
.cs-product-details summary{padding:17px 2px;cursor:pointer;font-size:13px;font-weight:800;list-style:none}
.cs-product-details summary:after{content:"+";float:right;font-size:18px;font-weight:400}
.cs-product-details details[open] summary:after{content:"−"}
.cs-product-details details>div,.cs-product-details details>p{padding:0 2px 18px;margin:0;color:var(--cs-muted);font-size:13px;line-height:1.65}

/* Service pages */
.cs-service-page{background:#f8f5ef}
.cs-service-hero{padding:78px 0 64px;border-bottom:1px solid var(--cs-line);background:#eee8df}
.cs-service-hero h1{margin:0 0 20px;font-size:58px;letter-spacing:-.045em}
.cs-service-hero p:last-child{max-width:720px;margin:0;color:#514c46;font-size:16px;line-height:1.65}
.cs-service-content{padding:64px 0}
.cs-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.cs-service-card{min-height:250px;padding:34px;border:1px solid var(--cs-line);background:#f3eee7}
.cs-service-number{display:block;margin-bottom:42px;color:#8d857d;font-size:11px;letter-spacing:.08em}
.cs-service-card h2{margin:0 0 14px;font-size:28px}
.cs-service-card p{margin:0;color:var(--cs-muted);line-height:1.7}
.cs-service-cta{padding:0 0 72px}
.cs-service-cta-inner{padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#171513;color:#fff}
.cs-service-cta h2{margin:0 0 8px;font-size:30px}
.cs-service-cta p{margin:0;color:#bcb4ad}

/* Contacts */
.cs-contact-section{padding:64px 0 90px}
.cs-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.cs-contact-info{display:grid;align-content:start}
.cs-contact-info>div{padding:22px 0;border-bottom:1px solid var(--cs-line)}
.cs-contact-info span{display:block;margin-bottom:7px;color:var(--cs-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.cs-contact-info strong{font-size:18px}
.cs-contact-form{padding:38px;border:1px solid var(--cs-line);background:#f3eee7}
.cs-contact-form h2{margin:0 0 28px;font-size:32px}
.cs-contact-form label{display:grid;gap:7px;margin-bottom:16px;font-size:12px;font-weight:700}
.cs-contact-form input,.cs-contact-form textarea{width:100%;padding:13px;border:1px solid var(--cs-line);background:#fff;resize:vertical}
.cs-contact-success{display:none;margin:18px 0 0;color:#2f6b45;font-size:13px;font-weight:700}
.cs-contact-form.is-sent .cs-contact-success{display:block}

@media(max-width:900px){
  .cs-product-layout{grid-template-columns:1fr;gap:30px}
  .cs-product-summary{position:static;padding-top:0}
  .cs-product-main-image,.cs-product-main-image img{min-height:560px}
  .cs-contact-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .cs-product-page{padding-top:20px}
  .cs-product-main-image,.cs-product-main-image img{min-height:480px}
  .cs-product-summary h1{font-size:36px}
  .cs-size-options{grid-template-columns:repeat(5,1fr)}
  .cs-service-hero{padding:48px 0}
  .cs-service-hero h1{font-size:42px}
  .cs-service-grid{grid-template-columns:1fr}
  .cs-service-card{min-height:auto}
  .cs-service-cta-inner{align-items:flex-start;flex-direction:column}
  .cs-contact-section{padding-top:40px}
  .cs-contact-form{padding:24px}
}
