/* Crown Affair clone — chrome + sections + Woo overrides */
:root { --ca-pad: 40px; }

/* source sets these at runtime via JS; without it they must exist or the
   .main{margin-top:var(--header-height)} rule computes invalid */
:root { --header-height: 48px; --desktop-announcement-height: 0px; }
@media (min-width: 64rem) { :root { --header-height: 135px; --desktop-announcement-height: 45px; } }

/* custom elements with no source CSS default to inline; make them blocks */
.ca-block, s-header, s-carousel, s-desktop-nav, s-marquee, s-quote, s-banner,
.slider, s-tabs, s-image, s-video, s-instagram { display: block; }

/* hide leftovers we never want */
.skip-to-content-link { display: none !important; }

/* header sits above content */
.site-header-section { z-index: 30; }
body { overflow-x: hidden; }
.header__nav-link { cursor: pointer; }
body.ca-nav-open { overflow: hidden; }

/* mobile nav (built by us) */
.ca-mobile-nav { display: none; }
body.ca-mobile-open .ca-mobile-nav { display: block; }
body.ca-mobile-open { overflow: hidden; }

/* product cards */
.product-card { position: relative; }
.product-card .hover-image { position: absolute; inset: 0; opacity: 0; transition: opacity .25s ease; }
.product-card:hover .hover-image { opacity: 1; }
.product-card__title { display: none; }
.product-card__title-link { margin: 0; }
.product-card__info-link { text-decoration: none; color: inherit; }
.collection-grid__grid { list-style: none; margin: 0; padding: 0; }
.product-card__badge { letter-spacing: .04em; }

/* carousels: the source CSS already provides a non-initialised layout for
   .collection-carousel__carousel .swiper — do not override it. */

/* page + sections width */
.page-width { max-width: 1600px; margin: 0 auto; padding-left: var(--ca-pad); padding-right: var(--ca-pad); }

/* Woo: cart / checkout / account rendered inside our chrome */
.ca-woo-wrap { max-width: 1100px; margin: 40px auto 80px; padding: 0 20px; }
.ca-woo-wrap .woocommerce { margin: 0; }
.woocommerce table.shop_table { border-collapse: collapse; width: 100%; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-bottom: 1px solid #e5e5e5; padding: 12px 8px; text-align: left; }
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order { background: #1a1a1a; color: #fff; border: 0; padding: 14px 28px; letter-spacing: .06em; text-transform: uppercase; font-size: 12px; cursor: pointer; border-radius: 0; }
.woocommerce .button:hover, .woocommerce #place_order:hover { opacity: .85; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { border: 1px solid #d9d9d9; padding: 10px 12px; background: #fff; }
.woocommerce .woocommerce-checkout { display: block; }
.woocommerce #payment { background: transparent; }
.woocommerce-checkout .col2-set { display: flex; gap: 40px; flex-wrap: wrap; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { flex: 1 1 320px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top: 2px solid #1a1a1a; background: #f7f7f7; padding: 14px 18px; list-style: none; }

/* PDP */
.product { display: flex; gap: 40px; align-items: flex-start; flex-wrap: wrap; margin-top: 32px; }
.product__media { flex: 1 1 55%; }
.product__information { flex: 1 1 360px; position: sticky; top: 120px; }
.product__gallery-item { display: none; }
.product__gallery-item.active { display: block; }
.product__gallery img { width: 100%; }
.product-add-to-cart__btn, .product__buynow { display: block; text-align: center; border: 1px solid #1a1a1a; background: transparent; color: #1a1a1a; text-decoration: none; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }
.product__buynow { background: #1a1a1a; color: #fff; }
.product__qty-qty .qty { width: 64px; border: 1px solid #d9d9d9; padding: 8px; }
.product__below { margin-top: 56px; max-width: 900px; }

/* rte basics */
.rte img { max-width: 100%; height: auto; }
.rte h1, .rte h2, .rte h3 { font-weight: 400; }

/* buttons */
.ca-btn { display: inline-block; padding: 14px 32px; border: 1px solid #1a1a1a; text-transform: uppercase; letter-spacing: .1em; font-size: 12px; text-decoration: none; cursor: pointer; }
.ca-btn--solid { background: #1a1a1a; color: #fff; }

/* cart */
.ca-cart__table { width: 100%; border-collapse: collapse; }
.ca-cart__table td { border-bottom: 1px solid #e6e1d6; padding: 16px 8px; vertical-align: middle; }
.ca-cart__media img { width: 90px; height: 90px; object-fit: cover; }
.ca-cart__qty { display: block; font-size: 12px; color: #666; margin-top: 6px; }
.ca-cart__sub { text-align: right; white-space: nowrap; }
.ca-cart__foot { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; gap: 16px; flex-wrap: wrap; }
.ca-cart__total { font-size: 16px; letter-spacing: .04em; }

/* checkout */
.ca-checkout { display: flex; gap: 48px; align-items: flex-start; flex-wrap: wrap; }
.ca-checkout__main { flex: 1 1 420px; }
.ca-checkout__aside { flex: 0 1 360px; background: #faf8f3; padding: 24px; }
.ca-line { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #e6e1d6; }
.ca-line img { width: 64px; height: 64px; object-fit: cover; }
.ca-checkout__total { margin-top: 16px; font-size: 16px; }



/* ---- inline <style> blocks carried over from the source page ---- */
.logo-hero-section {
    position: absolute;
    top: var(--header-height);
    z-index: 1;
    right: 0;
    left: 0;
  }

  .section__hero-logo-section__hero-logo {
    height: 11vh;
  }

  @media (min-width: 1025px) {
    .section__hero-logo-section__hero-logo {
      height: 30vh;
    }
  }
.tolstoy-header{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .tolstoy-carousel-title {
    display:none !important;
  }
    
@media only screen and (min-width: 769px) {
  .tolstoy-mobile { 
    display: none !important; 
  }
  .tolstoy-previous-button > svg,
  .tolstoy-next-button > svg {
      display: none !important;
  }

  .tolstoy-previous-button {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-caret-left icon--full-color' viewBox='0 0 15 28' fill='none'%3e %3cpath d='M14 1L1 14L14 27' stroke='currentColor'/%3e %3c/svg%3e");
      background-repeat: no-repeat !important;
      transform: scale(.8);
  }

  .tolstoy-next-button {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-caret-right icon--full-color' viewBox='0 0 15 28' fill='none'%3e %3cpath d='M1 1L14 14L1 27' stroke='currentColor'/%3e %3c/svg%3e");
      background-repeat: no-repeat !important;
      transform: scale(1);
      margin-left:10px;
  }
}
 @media only screen and (max-width: 768px) {
  .tolstoy-desktop { 
    display: none !important; 
  }
  .tolstoy-carousel-videos-container {
    width: 100% !important;
  }
  .tolstoy-header > h3{
    margin:0 !important;
  }
  .tolstoy-header{
    margin-top:2rem !important;
  }
  .tolstoy-wrapper{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.fs-wrapper { height: auto } .fs-entry-container { height: 0 !important; width: 20% !important; padding-top: 20% !important; }
.fs-has-links { display:none; } .fs-wrapper { height:auto; } .fs-slider_v2_5  .fs-entry-container { height:0 !important;width:20%!important;padding-top:20%!important; } .fs-wrapper div.fs-text-container .fs-entry-title, div.fs-detail-title { font-family:Times New Roman, serif;font-style:normal;font-weight:normal;font-size:14px; } div.fs-text-container .fs-entry-date, div.fs-detail-container .fs-post-info, div.fs-wrapper div.fs-has-links::after, .fs-text-product, .fs-overlink-text { font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-style:normal;font-weight:normal;font-size:14px; } .fs-wrapper { margin:auto;width:calc(100% - 120px); } .fs-wrapper div.fs-text-container * { color:#ffffff; } .fs-wrapper div.fs-text-container { background-color:rgba(0, 0, 0, 0.8);margin:0px; } div.fs-entry-date { display:none; } div.fs-entry-title { display:none; } .fs-slider_v2_5 .fs-wrapper div.fs-timeline-entry { margin:1px; }

/* Instagram feed widget: its runtime JS never loads here, so the unloaded
   placeholders would stack into a multi-thousand-pixel block. Hide the
   placeholders that carry no image; keep the section chrome. */
.instagram-feed .fs-entry-container:not(:has(img)) { display: none !important; }
.instagram-feed .fs-wrapper { min-height: 0 !important; height: auto !important; }

/* ---- decisive carousel/instagram sizing (measured against source) ----
   source: 3 slides of 327.33px (20.45833rem) with 55px gaps inside a 1092px
   swiper; instagram widget area is a fixed 270px tall box. */
@media (min-width: 64.0625rem) {
  .collection-carousel__carousel .swiper .swiper-wrapper { gap: 3.4375rem; padding: 0; }
  .collection-carousel__carousel .swiper .swiper-wrapper .swiper-slide { width: 20.45833rem !important; flex: 0 0 auto; }
}
.collection-carousel__carousel .swiper .swiper-wrapper { align-items: stretch; display: flex; flex-wrap: nowrap; overflow-x: auto; }
.collection-carousel__carousel .swiper .swiper-wrapper .swiper-slide { display: flex; height: auto; flex: 0 0 auto; }
.collection-carousel__carousel .product-card { width: 100%; height: 100%; }
.collection-carousel__carousel .product-card__images img { aspect-ratio: 1 / 1; object-fit: cover; }

.instagram-feed .fs-wrapper { height: 270px !important; overflow: hidden; }
.instagram-feed .fs-slider-prev-button,
.instagram-feed .fs-slider-next-button { display: none !important; }
.instagram-feed .fs-entry-container { display: none !important; }

/* PDP gallery thumbs */
.product__thumbs { list-style: none; }
.product__gallery-thumb { width: 72px; height: 72px; padding: 0; border: 1px solid transparent; background: none; cursor: pointer; }
.product__gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.product__gallery-thumb.is-on { border-color: #1a1a1a; }
.product__media { padding: 0 40px; }
.product__information { padding: 72px 40px 0; }
.product__description.rte p { padding-bottom: .5rem; padding-top: .5rem; }
.product { max-width: 1400px; margin: 0 auto 40px; }

/* collection card: swatches + quick add (source layout) */
.product-card__variant-swatch-wrapper { min-height: 26px; }
.product-card__variant-swatch .product__variant-option { width: 26px; height: 26px; display: inline-block; overflow: hidden; border-radius: 9999px; flex: 0 0 auto; }
.product-card__variant-swatch .product__variant-option.active { box-shadow: 0 0 0 1px #1a1a1a; }
.product-card__quick-add { margin-top: .875rem; }
.product-card__quick-add .btn--productcard { display: flex; align-items: center; justify-content: center; height: 3rem; gap: .25rem; border: 1px solid #000; background: #fff; color: #000; font-size: .75rem; text-transform: none; text-decoration: none; }
.product-card__quick-add .btn--productcard:hover { background: #000; color: #fff; }
.product-card__quick-add .btn--productcard:disabled { opacity: .5; }
.product-card .product-card__info-link { text-decoration: none; }
.product-card__subtitle { color: #6a6a6a; }
.collection-grid__filters { border-bottom: 1px solid #e6e1d6; margin-bottom: 1.5rem; }
.collection-grid__header { padding: 1rem 0 0; }
