/* Sarvesory interior pages 1.1.0 */
.sv-interior{padding-block:18px 56px}
.sv-interior .breadcrumb{margin-bottom:14px}
.sv-interior-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
  gap:28px;
  align-items:stretch;
  margin-bottom:24px;
  overflow:hidden;
  border:1px solid #eadfd5;
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 12%,rgba(244,193,93,.16),transparent 26%),
    linear-gradient(135deg,#fffaf5,#f4e7d8);
  box-shadow:0 14px 40px rgba(62,33,17,.055)
}
.sv-interior-hero__copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:360px;
  padding:clamp(2rem,5vw,4.2rem)
}
.sv-interior-hero__copy h1{
  margin:.35rem 0 .8rem;
  font-size:clamp(2rem,4vw,3.7rem);
  line-height:1.35
}
.sv-interior-hero__copy p{
  max-width:42rem;
  margin:0;
  color:#6f625a;
  line-height:2;
  font-size:.95rem
}
.sv-interior-hero__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.25rem}
.sv-interior-hero__media{min-height:360px;overflow:hidden}
.sv-interior-hero__media img{display:block;width:100%;height:100%;object-fit:cover}
.sv-about-story{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:18px;
  margin-bottom:18px
}
.sv-about-story__lead,
.sv-about-story__visual{
  min-height:300px;
  overflow:hidden;
  border:1px solid #eadfd5;
  border-radius:18px
}
.sv-about-story__lead{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(1.6rem,4vw,3rem);
  background:linear-gradient(145deg,#174a39,#0e392c);
  color:#fff
}
.sv-about-story__lead>span{color:#f1c66f;font-size:.75rem;font-weight:800}
.sv-about-story__lead h2{margin:.4rem 0 .7rem;color:#fff;font-size:clamp(1.5rem,3vw,2.5rem)}
.sv-about-story__lead p{margin:0;color:rgba(255,255,255,.78);line-height:2}
.sv-about-story__visual img{width:100%;height:100%;object-fit:cover}
.sv-values-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px
}
.sv-values-grid article{
  padding:1.45rem;
  border:1px solid #eadfd5;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(60,33,18,.04)
}
.sv-values-grid article>span{display:block;margin-bottom:.45rem;color:var(--sv-brand-red);font-size:1.8rem}
.sv-values-grid strong{display:block;color:#302721;font-size:.95rem}
.sv-values-grid p{margin:.45rem 0 0;color:#75685f;font-size:.82rem;line-height:1.9}
.sv-about-promise{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
  gap:28px;
  align-items:center;
  margin:0 0 18px;
  padding:clamp(1.6rem,4vw,2.7rem);
  border:1px solid #eadfd5;
  border-radius:18px;
  background:#fff8f1
}
.sv-about-promise h2{margin:.25rem 0 0;font-size:clamp(1.4rem,2.8vw,2.2rem)}
.sv-about-promise p{margin:0;color:#6e6158;line-height:2}
.sv-interior-editorial{
  padding:clamp(1.2rem,3vw,2rem);
  border:1px solid #eadfd5;
  border-radius:16px;
  background:#fff
}

.sv-interior-hero--contact{
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr)
}
.sv-contact-quick{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-content:center;
  padding:1rem 1.4rem;
  background:linear-gradient(145deg,#174a39,#0e392c)
}
.sv-contact-quick article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.05rem 0;
  border-bottom:1px solid rgba(255,255,255,.12)
}
.sv-contact-quick article:last-child{border-bottom:0}
.sv-contact-quick strong{color:#f2cb7e}
.sv-contact-quick span,.sv-contact-quick a{color:#fff;text-decoration:none}
.sv-contact-grid{margin-bottom:24px}
.sv-form-heading{grid-column:1/-1;margin-bottom:.25rem}
.sv-form-heading span{color:var(--sv-brand-red);font-size:.72rem;font-weight:800}
.sv-form-heading h2{margin:.25rem 0 0;font-size:1.35rem}
.sv-contact-faq{
  padding:clamp(1.4rem,3vw,2.2rem);
  border:1px solid #eadfd5;
  border-radius:18px;
  background:#fffaf6
}
.sv-interior-section-head{text-align:center;margin-bottom:1.2rem}
.sv-interior-section-head>span{color:var(--sv-brand-red);font-size:.72rem;font-weight:800}
.sv-interior-section-head h2{margin:.2rem 0 0;font-size:1.55rem}
.sv-contact-faq__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sv-contact-faq__grid article{padding:1.1rem;border:1px solid #eadfd5;border-radius:14px;background:#fff}
.sv-contact-faq__grid strong{display:block;font-size:.88rem}
.sv-contact-faq__grid p{margin:.4rem 0 0;color:#75685f;font-size:.8rem;line-height:1.85}

.sv-commerce-hero{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  min-height:210px;
  margin-bottom:14px;
  padding:clamp(1.7rem,4vw,3rem);
  overflow:hidden;
  border:1px solid #eadfd5;
  border-radius:20px;
  background:
    radial-gradient(circle at 88% 15%,rgba(244,193,93,.16),transparent 27%),
    linear-gradient(135deg,#fffaf5,#f4e7d8)
}
.sv-commerce-hero>div{position:relative;z-index:2}
.sv-commerce-hero h1{margin:.3rem 0 .45rem;font-size:clamp(1.8rem,3vw,2.8rem)}
.sv-commerce-hero p{max-width:52rem;margin:0;color:#6f6259;line-height:1.95}
.sv-commerce-hero__symbol{
  position:relative;
  z-index:2;
  display:grid;
  width:110px;
  aspect-ratio:1;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(166,30,30,.14);
  border-radius:50%;
  color:var(--sv-brand-red);
  background:rgba(255,255,255,.74);
  font-size:3.1rem
}
.sv-commerce-benefits,.sv-account-intro{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px
}
.sv-commerce-benefits span,
.sv-account-intro article{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:.8rem 1rem;
  border:1px solid #eadfd5;
  border-radius:14px;
  background:#fff;
  color:#4e433d;
  font-size:.78rem;
  font-weight:700
}
.sv-account-intro article{flex-direction:column;gap:.18rem}
.sv-account-intro strong{color:#2f2722}
.sv-account-intro span{color:#8a7a70;font-size:.7rem}
.sv-commerce-surface{
  padding:clamp(1rem,3vw,1.8rem);
  border:1px solid #eadfd5;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(53,30,16,.045)
}
.sv-account-surface .woocommerce{min-height:260px}

/* WooCommerce account */
.woocommerce-account .woocommerce-MyAccount-navigation{
  border:1px solid #eadfd5!important;
  border-radius:16px!important;
  background:#fffaf6!important;
  box-shadow:none!important
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block;
  padding:.75rem .85rem;
  border-radius:10px;
  color:#443932;
  text-decoration:none;
  font-size:.8rem;
  font-weight:700
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background:var(--sv-brand-red);
  color:#fff
}
.woocommerce-account .woocommerce-MyAccount-content{
  border:1px solid #eadfd5!important;
  border-radius:16px!important;
  box-shadow:none!important
}
.woocommerce-account .woocommerce-MyAccount-content p{line-height:1.9}
.woocommerce-account table.shop_table{border-radius:12px;overflow:hidden}

/* Cart and checkout */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout{margin:0}
.woocommerce-cart .wc-block-components-main,
.woocommerce-checkout .wc-block-components-main{
  padding:1rem;
  border:1px solid #eadfd5;
  border-radius:16px;
  background:#fff
}
.woocommerce-cart .wc-block-components-sidebar,
.woocommerce-checkout .wc-block-components-sidebar{
  border-color:#eadfd5!important;
  background:#fffaf6!important
}
.woocommerce-cart .wc-block-cart-item__image img,
.woocommerce-checkout .wc-block-components-order-summary-item__image img{border-radius:10px}

/* Shop */
.catalog-page{padding-top:18px!important}
.catalog-hero{
  position:relative;
  overflow:hidden;
  min-height:220px;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:clamp(1.6rem,4vw,3rem)!important;
  border:1px solid #eadfd5!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 90% 12%,rgba(244,193,93,.18),transparent 27%),
    linear-gradient(135deg,#fffaf4,#f2e3d4)!important
}
.catalog-hero h1{font-size:clamp(1.8rem,3vw,3rem)!important}
.catalog-hero__description{max-width:52rem;color:#6f6259;line-height:1.9}
.sv-shop-category-rail{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:14px 0 18px
}
.sv-shop-category-rail a{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:center;
  gap:.55rem;
  padding:.65rem;
  border:1px solid #eadfd5;
  border-radius:14px;
  background:#fff;
  color:#302720;
  text-align:center;
  text-decoration:none;
  font-size:.72rem;
  font-weight:800
}
.sv-shop-category-rail img{width:72px;height:72px;object-fit:cover;border-radius:50%;background:#f5eee7}
.sv-shop-category-rail a:hover{border-color:rgba(166,30,30,.28);color:var(--sv-brand-red)}
.catalog-toolbar{
  padding:.75rem 1rem;
  border:1px solid #eadfd5;
  border-radius:14px;
  background:#fffaf6
}
.catalog-filters{border-color:#eadfd5!important;border-radius:16px!important;background:#fff!important}
.catalog-results ul.products{align-items:stretch}
.product-card{height:100%}

/* Product page */
.woo-shell--product{padding-top:16px!important}
.woo-shell--product .woocommerce-breadcrumb{margin-bottom:14px}
.woo-shell--product .woocommerce div.product{
  padding:clamp(1rem,2vw,1.5rem);
  border:1px solid #eadfd5;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 34px rgba(53,30,16,.045)
}
.woo-shell--product .woocommerce div.product .summary{
  padding:clamp(.8rem,2vw,1.2rem)!important
}
.woo-shell--product .product_title{font-size:clamp(1.7rem,3vw,2.6rem)!important}
.woo-shell--product .woocommerce-product-details__short-description{
  color:#6e6158;
  line-height:1.95
}
.woo-shell--product form.cart .single_add_to_cart_button{
  min-height:48px;
  border-radius:999px!important
}
.sv-product-assurance{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px
}
.sv-product-assurance article{
  min-height:84px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:.9rem;
  border:1px solid #eadfd5;
  border-radius:14px;
  background:#fffaf6;
  text-align:center
}
.sv-product-assurance strong{font-size:.8rem;color:#312821}
.sv-product-assurance span{margin-top:.2rem;color:#87776d;font-size:.68rem}
.woo-shell--product .woocommerce-tabs,
.woo-shell--product .related,
.woo-shell--product .upsells{
  margin-top:1rem;
  padding:1rem;
  border:1px solid #eadfd5;
  border-radius:16px;
  background:#fff
}

@media(max-width:1100px){
  .sv-shop-category-rail{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sv-product-assurance{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .sv-interior-hero,
  .sv-interior-hero--contact,
  .sv-about-story,
  .sv-about-promise{grid-template-columns:1fr}
  .sv-interior-hero__copy{min-height:0}
  .sv-interior-hero__media{min-height:260px}
  .sv-values-grid,.sv-contact-faq__grid{grid-template-columns:1fr}
  .sv-contact-quick{min-height:250px}
  .sv-commerce-hero__symbol{width:82px;font-size:2.4rem}
}
@media(max-width:620px){
  .sv-interior{padding-top:10px}
  .sv-interior-hero{border-radius:16px}
  .sv-interior-hero__copy{padding:1.4rem}
  .sv-interior-hero__media{min-height:220px}
  .sv-interior-hero__actions{width:100%}
  .sv-interior-hero__actions .button{flex:1;justify-content:center}
  .sv-commerce-hero{align-items:flex-start;min-height:0;padding:1.3rem}
  .sv-commerce-hero__symbol{display:none}
  .sv-commerce-benefits,.sv-account-intro{grid-template-columns:1fr}
  .sv-commerce-surface{padding:.75rem}
  .sv-shop-category-rail{display:flex;overflow-x:auto;scrollbar-width:none}
  .sv-shop-category-rail::-webkit-scrollbar{display:none}
  .sv-shop-category-rail a{flex:0 0 112px}
  .sv-product-assurance{grid-template-columns:1fr 1fr}
}

/* Global service strip + footer refinements */
.site-service-strip{
  border-block:1px solid #eee2d8;
  background:#fffaf6
}
.site-service-strip__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.site-service-strip article{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  padding:.9rem 1rem;
  text-align:right
}
.site-service-strip article+article{border-inline-start:1px solid #eee2d8}
.site-service-strip article>span{
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(166,30,30,.18);
  border-radius:50%;
  color:var(--sv-brand-red);
  font-size:1.15rem
}
.site-service-strip article>div{display:grid;gap:.08rem}
.site-service-strip strong{font-size:.78rem;color:#302821}
.site-service-strip small{font-size:.66rem;color:#88786d}
.site-footer__contact .site-footer__social-links{
  display:grid;
  gap:.35rem;
  margin-top:.7rem
}
.site-footer__contact .site-footer__social-links a{
  color:var(--sv-brand-gold)!important;
  font-size:.7rem;
  font-weight:700
}
.sv-shop-category-rail__fallback{
  display:grid;
  width:72px;
  height:72px;
  place-items:center;
  border-radius:50%;
  background:#f6eee6;
  color:var(--sv-brand-red);
  font-size:1.35rem
}
@media(max-width:820px){
  .site-service-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-service-strip article:nth-child(3){border-inline-start:0;border-top:1px solid #eee2d8}
  .site-service-strip article:nth-child(4){border-top:1px solid #eee2d8}
}
@media(max-width:520px){
  .site-service-strip article{min-height:68px;padding:.7rem .55rem}
  .site-service-strip article>span{width:32px;height:32px;font-size:1rem}
}


/* 1.1.1 media normalization — preserve product/category imagery without aggressive crops */
.catalog-results ul.products li.product.product-card .product-card__media{
  aspect-ratio:1/1!important;
  display:grid!important;
  place-items:center;
  padding:12px;
  background:#fbf7f3!important;
}
.catalog-results ul.products li.product.product-card .product-card__media img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.catalog-results ul.products li.product.product-card:hover .product-card__media img{
  transform:scale(1.015)!important;
}
.sv-shop-category-rail a{
  min-height:142px;
  justify-content:center;
}
.sv-shop-category-rail img,
.sv-shop-category-rail__fallback{
  width:86px!important;
  height:86px!important;
  border-radius:12px!important;
  background:#fbf7f3!important;
}
.sv-shop-category-rail img{
  padding:6px;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:620px){
  .catalog-results ul.products li.product.product-card .product-card__media{padding:8px}
  .sv-shop-category-rail a{min-height:132px}
  .sv-shop-category-rail img,.sv-shop-category-rail__fallback{width:78px!important;height:78px!important}
}


/* 1.1.2 category hero — show the complete category artwork instead of zoom-cropping it */
.catalog-hero.catalog-hero--with-image{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(240px,360px)!important;
  gap:clamp(1.5rem,4vw,3rem)!important;
}
.catalog-hero.catalog-hero--with-image .catalog-hero__image{
  width:100%;
  max-width:360px;
  aspect-ratio:4/3!important;
  padding:14px;
  border:1px solid #eadfd5;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(64,39,24,.07);
}
.catalog-hero.catalog-hero--with-image .catalog-hero__image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:820px){
  .catalog-hero.catalog-hero--with-image{
    grid-template-columns:1fr!important;
  }
  .catalog-hero.catalog-hero--with-image .catalog-hero__image{
    max-width:320px;
    justify-self:center;
  }
}

/* 1.1.2 buttons — center every visible button label consistently */
.sarvesory-visual-v2 :where(
  button,
  .button,
  a.button,
  input[type='submit'],
  input[type='button'],
  .wp-element-button,
  .wc-block-components-button
){
  text-align:center!important;
}
.sarvesory-visual-v2 :where(
  button,
  .button,
  a.button,
  .wp-element-button,
  .wc-block-components-button
){
  align-items:center!important;
  justify-content:center!important;
}
.product-card__actions>.button{
  width:100%;
}

/* v1.1.19: Shop category carousel. Horizontal rail only; vertical page scroll remains native. */
.sarvesory-visual-v2 .sv-shop-category-carousel{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 38px;
  align-items:center;
  gap:8px;
  min-width:0;
  max-width:100%;
  margin:14px 0 18px;
}
.sarvesory-visual-v2 .sv-shop-category-carousel .sv-shop-category-rail{
  display:flex;
  min-width:0;
  width:100%;
  gap:10px;
  margin:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.sarvesory-visual-v2 .sv-shop-category-carousel .sv-shop-category-rail::-webkit-scrollbar{display:none}
.sarvesory-visual-v2 .sv-shop-category-carousel .sv-shop-category-rail>a{
  flex:0 0 calc((100% - 50px)/6);
  min-width:0;
  scroll-snap-align:start;
}
.sarvesory-visual-v2 .sv-shop-category-carousel__arrow{
  display:grid;
  place-items:center;
  width:38px;
  height:46px;
  padding:0;
  border:1px solid #e6d7cb;
  border-radius:12px;
  background:#fff9f4;
  color:#9c2228;
  font-size:2.1rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(57,32,22,.06);
}
.sarvesory-visual-v2 .sv-shop-category-carousel__arrow:hover,
.sarvesory-visual-v2 .sv-shop-category-carousel__arrow:focus-visible{
  border-color:#9c2228;
  background:#fff0eb;
}
@media(max-width:1100px){
  .sarvesory-visual-v2 .sv-shop-category-carousel .sv-shop-category-rail>a{flex-basis:calc((100% - 30px)/4)}
}
@media(max-width:700px){
  .sarvesory-visual-v2 .sv-shop-category-carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:5px}
  .sarvesory-visual-v2 .sv-shop-category-carousel__arrow{width:32px;height:42px;font-size:1.8rem}
  .sarvesory-visual-v2 .sv-shop-category-carousel .sv-shop-category-rail>a{flex-basis:calc((100% - 10px)/2)}
}
