@import url(null.css);

/* all=====================================================================================================*/

:root {
   --blue: #20182c;
   --black: #26262B;
   --red: #EE1A24;
   scrollbar-gutter: stable;
}

::-webkit-scrollbar {
   width: 5px;
}

::-webkit-scrollbar-thumb {
   border-radius: 10px;
   background-color: var(--blue);
}

html {
   scroll-behavior: smooth;
   scroll-padding-top: 4rem;
   font-size: clamp(0.75rem, calc(0.75rem + (1 - 0.75) * ((100vw - 37.5rem) / (75 - 37.5))), 1rem);
}

body {
   color: var(--black);
   line-height: 1.55;
   font-family: Manrope, system-ui;
   font-style: normal;
   font-weight: 400;
   font-optical-sizing: auto;
}

body.show {
   overflow: hidden;
}

section {
   margin-bottom: 7.5rem;
}

a {
   transition: all 0.3s;
   color: inherit;
}

p {
   color: inherit;
}

p:last-child {
   padding-bottom: 0;
}

.text p {
   padding-bottom: 1em;
}

.text ul {
   padding-bottom: 2em;
}

.text ul li {
   margin-bottom: 0.5em;
   list-style: disc;
   margin-left: 1.5em;
}

.text ul li::marker {
   color: var(--black);
}

.text li:last-child {
   margin-bottom: 0;
}

table {
   width: 100% !important;
}

col {
   width: 100% !important;
}

.text tr {
   border-radius: 10px;
   background: #F5F1ED;
   padding: 1em 2.5em;
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 1.5em;
}

.text td {
   min-width: 5em;
}

.text td:last-child {
   font-weight: 700;
}

.text tr:nth-child(even) {
   background-color: grey;
}

a:hover {
   color: var(--red);
}

.btn {
   font-size: 1em;
   display: inline-block;
   font-weight: 400;
   color: #fff;
   background-color: var(--blue);
   padding: 1em 1.5em;
   transition: all 0.3s;
   cursor: pointer;
   transition: all 0.3s;
   font-family: Manrope, system-ui;
}

.btn:hover {
   color: #fff;
}


.wrap {
   width: 100%;
   min-height: 100%;
   overflow-x: hidden;
   overflow-x: clip;
   display: flex;
   flex-direction: column;
}

main {
   flex: 1 1 100%;
   position: relative;
}

.container {
   max-width: 76.875rem;
   margin: 0 auto;
   width: 100%;
   padding: 0px 0.75rem;
}

.title {
   color: var(--blue);
   font-family: 'Manrope', sans-serif;
   font-size: 2rem;
   font-weight: 400;
   line-height: 1.3;
}

.subtitle {
   color: var(--blue);
   font-family: 'Manrope', sans-serif;
   font-size: 1.5rem;
   line-height: 1.3;
   margin-bottom: 2rem;
}


/* burger */
.burger {
   width: 50px;
   height: 50px;
   display: none;

}

.burger svg {
   width: 50px;
   height: 50px;
}

.ham1 {
   cursor: pointer;
   -webkit-tap-highlight-color: transparent;
   transition: transform 400ms;
   user-select: none;
}

.ham1 path {
   fill: none;
   transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
   stroke: var(--blue);
   stroke-width: 5.5;
   stroke-linecap: round;
}

.main-page .ham1 path {
   stroke: #fff;

}

.ham1.active {
   transform: rotate(45deg);
}

.ham1 .top {
   stroke-dasharray: 40 139;
}

.ham1 .bottom {
   stroke-dasharray: 40 180;
}

.ham1.active .top {
   stroke-dashoffset: -98px;
}

.ham1.active .bottom {
   stroke-dashoffset: -138px;
}

/* end bruger */


/* breadcrubms */
.breadcrumbs-wrapper {
   padding: 1rem 0;
   padding-bottom: 1.5rem;
   color: var(--red);
   font-size: 0.8rem;
   font-style: normal;
   font-weight: 500;
   line-height: 1.3;
}

.breadcrumbs-wrapper li {
   display: inline-block;
}

.breadcrumbs-wrapper a {
   color: var(--red);
   position: relative;
   padding-right: 1rem;
   display: inline-block;
}

.breadcrumbs-wrapper a:hover {
   text-decoration: none;
}

.breadcrumbs-wrapper a:after {
   content: "|";
   color: var(--red);
   position: absolute;
   top: 0;
   right: 3px;
}

/* end breadcrubms */

/*end all>====================================================================================================*/


/* header====================================================================================================*/

.header {
   position: fixed;
   width: 100%;
   z-index: 9999;
   transition: all 0.3s;
   background-color: #ffffff00;
}

.header.fixed {
   background-color: #fff;

}

.top-menu {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
}

.top-menu__logo {
   padding: 0.5rem 0;

   & img {
      max-width: 12.5rem;
      transition: all 0.3s;
   }

}

.fixed .top-menu__logo img {
   max-width: 7.5rem;
}

.top-menu__body {
   transition: padding 0.3s;
}

.fixed .top-menu__body {
   padding: 0.3rem 0;
}

.top-menu__list {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 0.6rem;

   & a {
      color: var(--blue);

      &:hover {
         color: var(--red);
      }
   }

}

.active .top-menu__item {
   color: var(--red);
}

.margin-top {
   margin-top: 7rem;
}

.maintenance {
   width: 100%;
   min-height: 100%;
   overflow-x: hidden;
   overflow-x: clip;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   text-align: center;

   & .SocialNetworks {
      justify-content: center;
   }

   & img {
      margin-bottom: 1.25rem;
   }

   & .maintenance__info {
      max-width: 500px;
      padding: 1rem;
      text-wrap: balance;
   }
}

.maintenance__contacts {
   display: flex;
   flex-direction: column;
   gap: 0.3rem;
   line-height: 1.2;
   font-size: 1.25rem;
   margin: 1.25rem 0;
}

.maintenance__contact-item_address {
   font-size: 1rem;
   margin-top: 0.75rem;
}

/*end header>====================================================================================================*/



/* footer====================================================================================================*/

.footer {
   background-color: var(--blue);
   color: #fff;
   padding: 2rem 0;
}

.footer__body {
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.SocialNetworks {
   font-size: 1.2rem;
   display: flex;
   align-items: center;
   gap: 0.625rem;
}

/*end footer>====================================================================================================*/


/* cookies====================================================================================================*/

#cookie_note {
   display: none;
   justify-content: space-between;
   position: fixed;
   z-index: 99;
   bottom: 1rem;
   gap: 0.625rem;
   left: 50%;
   width: 37rem;
   max-width: 90%;
   transform: translateX(-50%);
   padding: 1.25rem;
   background-color: #fff;
   border-radius: 4px;
   box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.4);
   text-wrap: pretty;
}

#cookie_note.show {
   display: flex;
}

#cookie_note p {
   margin: 0;
   font-size: 1rem;
   text-align: left;
   color: black;
   align-self: center;
   flex: 0 1 76%;
}

div#cookie_note a {
   font-size: inherit;
}

.button.cookie_accept {
   padding: 0.75rem 1rem;
   background-color: var(--blue);
   color: #fff;
}

/*end cookies>====================================================================================================*/

/* Shop */
.shop-site {
   --blue: #171717;
   --black: #000;
   --red: #e40613;
   color: #fff;
   background: #000;
   font-family: 'Tenor Sans', sans-serif;
   font-size: 1rem;
   line-height: 1.5;
}

.shop-site [hidden] { display: none !important; }
.shop-site :focus-visible { outline: 2px solid #f26c74; outline-offset: 4px; }
.shop-site .container { max-width: 74.25rem; padding-inline: 1.5rem; }
.shop-site section { margin-bottom: 6.25rem; scroll-margin-top: 7rem; }
.shop-site img { max-width: 100%; }
.shop-site .title { color: #fff; font-family: 'Playfair Display SC', Georgia, serif; font-size: clamp(2.25rem, 4vw, 3.75rem); line-height: 1.2; font-weight: 400; text-align: center; margin-bottom: 2.75rem; }
.shop-site .subtitle { color: #fff; font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; }
.shop-site .btn { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; background: linear-gradient(135deg, #e40613, #a6242c); border-radius: 0 3.5rem 0 3.5rem; padding: 1rem clamp(1.5rem, 3.5vw, 3.5rem); min-height: 3.5rem; color: #fff; font: inherit; font-size: 1.15rem; border: 1px solid transparent; text-align: center; }
.shop-site .btn:hover { background: linear-gradient(135deg, #f2202d, #bf2530); color: #fff; box-shadow: 0 6px 24px #e406132b; }
.shop-site .btn:disabled { opacity: .6; cursor: wait; }
.shop-site .skip-link { position: fixed; top: -10rem; left: 1rem; padding: .75rem 1rem; background: #fff; color: #000; z-index: 10000; }
.shop-site .skip-link:focus { top: 1rem; }

.shop-site .header { position: absolute; top: 0; background: transparent; z-index: 50; padding-top: 1.5rem; }
.shop-site .top-menu { display: grid; grid-template-columns: 9.5rem 1fr 17rem; column-gap: 2.5rem; row-gap: .75rem; align-items: center; }
.shop-site .top-menu__logo { grid-column: 1; grid-row: 1 / 3; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: .625rem; padding: .625rem; box-shadow: 0 2px 5px #0008; color: #000; }
.shop-site .top-menu__logo img { width: auto; height: 6.25rem; max-width: 100%; object-fit: contain; }
.shop-site .top-menu__tagline { grid-column: 2; grid-row: 1; max-width: 27rem; font-size: 1.25rem; line-height: 1.4; }
.shop-site .top-menu__contacts { grid-column: 3; grid-row: 1 / 3; display: flex; flex-direction: column; text-align: right; gap: .45rem; }
.shop-site .top-menu__phone { font-size: 1.6rem; white-space: nowrap; }
.shop-site .top-menu__address { display: flex; flex-direction: column; gap: inherit; font-size: .95rem; line-height: 1.45; }
.shop-site .header.fixed .top-menu__address,
.shop-site:not(.main-page) .header .top-menu__address {
   display: block;
}
.shop-site .header.fixed .top-menu__city::after,
.shop-site:not(.main-page) .header .top-menu__city::after { content: ','; }
.shop-site .top-menu__body { grid-column: 2; grid-row: 2; padding: 0; }
.shop-site .top-menu__list { justify-content: flex-start; gap: 1.75rem; font-size: .9rem; letter-spacing: .04em; text-transform: uppercase; }
.shop-site .top-menu__list a { color: #fff; }
.shop-site .top-menu__list a:hover { color: #f45b64; }
.shop-site .header.fixed,
.shop-site:not(.main-page) .header { position: fixed; padding-block: .65rem; background: #fff; color: #111; box-shadow: 0 4px 24px #0002; }
.shop-site .header.fixed .top-menu,
.shop-site:not(.main-page) .header .top-menu { display: grid; grid-template-columns: 6.75rem 1fr max-content; min-height: 4.5rem; }
.shop-site .header.fixed .top-menu__logo,
.shop-site:not(.main-page) .header .top-menu__logo { grid-row: 1; box-shadow: none; padding: 0; }
.shop-site .header.fixed .top-menu__logo img,
.shop-site:not(.main-page) .header .top-menu__logo img { height: 4.65rem; max-width: 6.75rem; }
.shop-site .header.fixed .top-menu__tagline,
.shop-site:not(.main-page) .header .top-menu__tagline { display: none; }
.shop-site .header.fixed .top-menu__body,
.shop-site:not(.main-page) .header .top-menu__body { grid-row: 1; }
.shop-site .header.fixed .top-menu__contacts,
.shop-site:not(.main-page) .header .top-menu__contacts { grid-row: 1; }
.shop-site .header.fixed { padding-block: .4rem; }
.shop-site .header.fixed .top-menu__logo img { height: 4rem; }
.shop-site .header.fixed .top-menu__contacts { gap: .15rem; }
.shop-site .header.fixed .top-menu__phone { font-size: 1.3rem; line-height: 1.2; }
.shop-site .header.fixed .top-menu__address { font-size: .85rem; line-height: 1.15; }
.shop-site .header.fixed .top-menu__list a,
.shop-site:not(.main-page) .header .top-menu__list a { color: #111; }
.shop-site .header.fixed .top-menu__list a:hover,
.shop-site:not(.main-page) .header .top-menu__list a:hover { color: var(--red); }
.shop-site .burger { padding: 0; background: transparent; }
.shop-site .ham1 path { stroke: currentColor; }
.shop-site.main-page .header:not(.fixed) .top-menu { position: relative; isolation: isolate; row-gap: 0; }
.shop-site.main-page .header:not(.fixed) .top-menu::before { content: ''; grid-column: 2 / 4; grid-row: 1; align-self: stretch; background: #e40613; border-radius: .625rem; z-index: -1; }
.shop-site.main-page .header:not(.fixed) .top-menu__logo { grid-row: 1; }
.shop-site.main-page .header:not(.fixed) .top-menu__tagline { grid-row: 1; justify-self: center; text-align: center; padding: 1rem 1.5rem; }
.shop-site.main-page .header:not(.fixed) .top-menu__contacts { grid-row: 1; padding: 1rem 1.5rem 1rem 0; gap: .2rem; }
.shop-site.main-page .header:not(.fixed) .top-menu__body { display: none; }

.shop-hero { position: relative; min-height: 55rem; display: flex; align-items: center; isolation: isolate; overflow: hidden; }
.shop-hero__image { position: absolute; inset: 90px 0 0 141px; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -3; }
.shop-hero::before { content: ''; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #000b, #0007 25%, #0002 52%, #0000 74%), linear-gradient(0deg, #000, #0006 7%, #0000 24%); }
.shop-hero__body { padding-top: 12.5rem; padding-bottom: 5rem; text-shadow: 0 2px 12px #000b; }
.shop-hero h1 { font-family: 'Playfair Display SC', Georgia, serif; font-size: clamp(3.25rem, 7.6vw, 6.5rem); line-height: 0.9; font-weight: 400; max-width: 7.2em; }
.shop-hero__subtitle { font-size: 2rem; line-height: 1.3; max-width: 23rem; margin-top: 1.5rem; }
.shop-hero__text { max-width: 27rem; margin-top: 1.2rem; font-size: 1.75rem; line-height: 1.3; }
.shop-hero__channel { display: inline-flex; align-items: center; gap: .75rem; margin-top: 1.4rem; max-width: 27rem; font-size: 1.1rem; }
.shop-hero__channel svg { width: 2.2rem; height: 2.2rem; fill: currentColor; flex-shrink: 0; }
.shop-hero__button { display: flex !important; width: max-content; margin-top: 2rem; min-width: 17rem; }

.shop-intro__heading {
   display: grid;
   grid-template-columns: minmax(0, 3.15fr) minmax(0, 1fr);
   align-items: center;
   gap: 1.125rem;
}

.shop-intro__visual {
   position: relative;
   isolation: isolate;
   display: flex;
   align-items: flex-end;
   aspect-ratio: 3.12;
   padding: 1.5rem 1.75rem;
   overflow: hidden;
}

.shop-intro__visual:only-child { grid-column: 1 / -1; }

.shop-intro__visual::after {
   content: '';
   position: absolute;
   inset: 0;
   z-index: -1;
   background: linear-gradient(0deg, #000c, #0000 65%);
}

.shop-intro__visual > img,
.category-card img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   z-index: -2;
}

.shop-site .shop-intro__visual .title,
.shop-site .delivery-section .title {
   display: flex;
   align-items: center;
   gap: .75rem;
   margin-bottom: 0;
   font-family: 'Playfair Display', Georgia, serif;
   font-size: clamp(1.35rem, 2.4vw, 2.1rem);
}

.shop-intro__visual .title::before,
.shop-intro__visual .title::after,
.delivery-section .title::before,
.delivery-section .title::after {
   content: '';
   flex: 0 0 clamp(1.25rem, 4vw, 4.25rem);
   height: 2px;
   background: var(--red);
}

.shop-intro__logo {
   display: grid;
   place-items: center;
   aspect-ratio: .89;
   padding: 1.25rem;
   border-radius: .625rem;
   background: #fff;
}

.shop-intro__logo img { width: 100%; height: auto; }

.category-grid,
.product-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 1.75rem;
}

.category-grid { gap: 1.25rem; margin-top: 2.5rem; }

.category-card {
   position: relative;
   isolation: isolate;
   overflow: hidden;
   display: flex;
   align-items: flex-end;
   aspect-ratio: 1.26;
   padding: 1.5rem 1.25rem;
}

.category-card::after {
   position: absolute;
   content: '';
   inset: 0;
   background: linear-gradient(0deg, #0008, #0000 65%);
   z-index: -1;
}

.category-card img { transition: transform .4s; }

.category-card__label {
   display: grid;
   place-items: center;
   min-height: 3.75rem;
   width: min(68%, 14rem);
   padding: .65rem 1.4rem;
   background: linear-gradient(#e40613, #a6242c);
   color: #fff;
   border-radius: 0 3.5rem 0 3.5rem;
   box-shadow: 0 .45rem 1.15rem #92030e75;
   text-align: center;
}

.category-card:hover img { transform: scale(1.04); }
.category-card:hover .category-card__label { background: linear-gradient(#f2202d, #bf2530); }

.catalog-section__heading {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1.25rem;
   min-height: 10.5rem;
   margin-bottom: 2.75rem;
}

.shop-site .catalog-section__heading .title {
   margin: 0;
   text-align: left;
   font-size: clamp(2rem, 4vw, 2.9rem);
}

.catalog-section__heading .title::after {
   content: '';
   display: block;
   width: min(10rem, 60%);
   height: 2px;
   margin-top: .9rem;
   background: var(--red);
}

.catalog-section__heading img {
   width: min(32%, 16rem);
   height: 10.5rem;
   object-fit: contain;
}

.catalog-section__description { margin-bottom: 1.5rem; }

.product-card {
   display: flex;
   flex-direction: column;
   min-width: 0;
   overflow: hidden;
   border-radius: 1.25rem;
   background: linear-gradient(105deg, #9e0009, #3c0e0e 63%, #0b0909);
}

.product-card__image {
   display: grid;
   grid-template: minmax(0, 1fr) / minmax(0, 1fr);
   place-items: center;
   min-width: 0;
   min-height: 0;
}

.product-card__image img { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; }

.product-card__body {
   display: flex;
   flex-direction: column;
   flex: 1;
   min-width: 0;
   padding: 1.3rem;
   background: #fff;
   color: #211b1b;
   font-family: 'Playfair Display SC', Georgia, serif;
}

.product-card__name {
   color: #9e0009;
   font-size: clamp(1.45rem, 2.4vw, 2rem);
   line-height: 1.15;
   font-weight: 700;
}

.product-card__age { font-size: 1.1rem; line-height: 1.3; margin-bottom: .9rem; }
.product-card__age strong { display: block; font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 3rem; line-height: 1.2; }
.product-card .product-card__age { color: #9e0009; font-weight: 700; margin-bottom: .65rem; }
.product-card .product-card__age strong { font-size: clamp(2.6rem, 4vw, 3.55rem); font-weight: 700; line-height: 1.05; }
.product-card__weight,
.product-card__description { font-size: .95rem; line-height: 1.45; }
.product-card__description { margin-top: .6rem; }

.product-card__price { margin-top: auto; padding-top: .75rem; margin-bottom: 1.2rem; font-size: 1.45rem; white-space: nowrap; }
.product-card__price span { font-size: 1rem; }
.product-card .product-card__price { margin: 0; padding: 0; font-size: 1.25rem; font-weight: 700; }
.product-card .product-card__price span { font-size: .85em; }

.product-card__purchase {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   gap: .75rem;
   margin-top: auto;
   padding-top: 1.25rem;
}

.shop-site .product-card__button {
   min-height: 3rem;
   padding: .6rem clamp(1.25rem, 2.8vw, 3rem);
   font-family: 'Tenor Sans', sans-serif;
   font-size: 1rem;
   box-shadow: 0 .45rem 1rem #92030e55;
}

.catalog-section--gift .product-grid { grid-template-columns: 1fr; }

.catalog-section--gift .product-card,
.catalog-section--hamon .product-card {
   display: grid;
   grid-template-areas: 'details photo';
   grid-template-columns: repeat(2, minmax(0, 1fr));
   align-items: center;
   gap: 1.2rem;
}

.catalog-section--gift .product-card__image,
.catalog-section--hamon .product-card__image { grid-area: photo; }

.catalog-section--gift .product-card__body,
.catalog-section--hamon .product-card__body {
   grid-area: details;
   border-radius: 1.45rem;
   align-items: center;
   text-align: center;
}

.catalog-section--gift .product-card {
   aspect-ratio: 1.75;
   padding: 1.5rem;
}

.catalog-section--gift .product-card__body { padding: 1.65rem 1.4rem 1.1rem; }
.catalog-section--gift .product-card__name,
.catalog-section--hamon .product-card__name { display: none; }
.catalog-section--gift .product-card__age strong { display: inline; margin-inline: .1em; }
.catalog-section--gift .product-card__description { max-width: 30rem; font-weight: 600; }
.catalog-section--gift .product-card__image { aspect-ratio: 1.27; }

.catalog-section--hamon .product-card {
   grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
   aspect-ratio: .9;
   min-height: 22rem;
   padding: clamp(.7rem, 1.55vw, 1.5rem);
   gap: .85rem;
   align-items: stretch;
}

.catalog-section--hamon .product-card__body { padding: 1rem .65rem .85rem; }
.catalog-section--hamon .product-card__image { padding: .8rem .65rem; }
.catalog-section--hamon .product-card__age strong { margin-bottom: .35rem; }
.catalog-section--hamon .product-card__description { margin-top: .3rem; font-size: .88rem; }
.catalog-section--hamon .product-card__price { font-size: 1.05rem; }

.catalog-section--gift .product-card__purchase,
.catalog-section--hamon .product-card__purchase {
   flex-direction: column;
   gap: 1.15rem;
   width: 100%;
}

.catalog-section--hamon .product-card__button { width: 100%; padding-inline: clamp(.55rem, 1vw, 1rem); }

.catalog-section--accessories .product-card,
.catalog-section--slices .product-card { padding-bottom: 2.5rem; }

.catalog-section--accessories .product-card__image { aspect-ratio: 1.22; padding: 1.5rem 1.75rem .35rem; }
.catalog-section--accessories .product-card__body { min-height: 11.75rem; }

.catalog-section--slices .product-card { padding-top: 3.75rem; }
.catalog-section--slices .product-card__image { aspect-ratio: 1.78; }
.catalog-section--slices .product-card__image img { object-fit: cover; }

.catalog-section--slices .product-card__body {
   display: grid;
   grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
   grid-template-rows: auto 1fr;
   row-gap: .65rem;
   align-items: start;
   min-height: 17rem;
}

.catalog-section--slices .product-card__name,
.catalog-section--slices .product-card__weight { grid-column: 1; text-align: center; }

.catalog-section--slices .product-card__weight { align-self: center; font-size: 1.1rem; }

.catalog-section--slices .product-card__age {
   grid-column: 2;
   grid-row: 1 / 3;
   align-self: stretch;
   display: flex;
   flex-direction: column;
   justify-content: center;
   gap: .6rem;
   margin: 0;
   padding: .5rem .25rem .5rem .65rem;
   border-left: 1px solid #c4bebe;
   text-align: center;
   font-size: .95rem;
}

.catalog-section--slices .product-card__description,
.catalog-section--slices .product-card__purchase { grid-column: 1 / -1; }

.shop-site .delivery-section {
   margin-bottom: 0;
   padding-block: 2rem 3.3rem;
   background: #252525 url('../../../uploads/images/home/delivery-pattern.png') repeat center;
}

.shop-site .delivery-section .title {
   justify-content: center;
   margin: 0 auto 2rem;
   font-family: 'Tenor Sans', sans-serif;
   font-size: clamp(1.25rem, 2.15vw, 1.8rem);
}

.delivery-section .title::before,
.delivery-section .title::after { flex-basis: clamp(.85rem, 4vw, 2.75rem); }

.delivery-list {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 1.55rem;
   margin-bottom: 1.6rem;
}

.delivery-list li,
.delivery-section__details { display: flex; align-items: center; gap: .9rem; }

.delivery-list li { line-height: 1.35; }
.delivery-list__icon,
.delivery-section__details > i { flex: 0 0 2rem; color: #ee2533; text-align: center; font-size: 1.65rem; }
.delivery-list__icon::before { content: "\ec18"; font-family: 'myfontawesome'; }
.delivery-list li:first-child .delivery-list__icon::before { content: "\ec9e"; }
.delivery-list li:nth-child(2) .delivery-list__icon::before { content: "\eff2"; }
.delivery-list li:nth-child(3) .delivery-list__icon::before { content: "\ec69"; }
.delivery-list li:nth-child(4) .delivery-list__icon::before { content: "\ef88"; }

.delivery-section__details { justify-content: center; max-width: 50rem; margin-inline: auto; }
.delivery-section__text { text-align: center; line-height: 1.45; }

.shop-site .contacts-section {
   margin-bottom: 0;
   padding-block: 3.75rem 0;
   background: linear-gradient(#000, #080808);
}

.contacts-section__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: stretch; }
.contacts-section__map { min-height: 16rem; background: #1d1d1d; }
.contacts-section__map .contact-map { min-height: 16rem; }
.contacts-section__form { background: #101010; border-radius: .3rem; padding: 1.6rem 1.3rem 1.25rem; }
.shop-site .contacts-section__form .title { margin: 0; font: 700 1.25rem/1.3 'Tenor Sans', sans-serif; }
.contacts-section__lead { margin: .15rem 0 1rem; text-align: center; }
.contacts-section__pickup { margin: 1.6rem auto 0; text-align: center; font-weight: 700; line-height: 1.5; }

.shop-site .shop-form { position: relative; }
.shop-site .form-field { display: block; margin-bottom: 1.1rem; }
.shop-site .form-field > span:first-child,
.shop-site .form-field > label { display: block; margin-bottom: .4rem; font-size: 1rem; }
.shop-site .shop-form input:not([type=hidden]):not([type=checkbox]):not([type=submit]),
.shop-site .shop-form textarea,
.shop-site .shop-form select { display: block; width: 100%; min-height: 3.4rem; border: 1px solid #666; border-radius: .25rem; background: #fff; color: #171717; font: inherit; padding: .8rem 1rem; }
.shop-site .shop-form textarea { resize: vertical; min-height: 6rem; }
.shop-site .shop-form input::placeholder { color: #767676; opacity: 1; }
.shop-site .shop-form input[aria-invalid=true],
.shop-site .shop-form .error { border-color: #ff7a83; }
.shop-site .form-field .error,
.shop-site [class^=error_],
.shop-site .form-feedback.error { display: block; font-size: .9rem; color: #ff9aa1; margin-top: .35rem; }
.shop-site .form-trap { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.shop-site .form-consent { display: flex; gap: .65rem; align-items: flex-start; font-size: .85rem; margin: 1.2rem 0; line-height: 1.5; }
.shop-site .form-consent input { accent-color: var(--red); width: 1.2rem; height: 1.2rem; flex: 0 0 1.2rem; margin-top: .1rem; }
.shop-site .form-consent a { text-decoration: underline; text-underline-offset: .2em; }
.shop-site .form-feedback { margin-top: 1.25rem; line-height: 1.5; }
.shop-site .form-feedback.success,
.shop-site [data-order-success] { padding: 1.5rem; border: 1px solid #637d63; border-radius: .5rem; color: #d9f3d9; background: #112015; }
.shop-site .form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }

.shop-site .contacts-section .shop-form .form-field input[type=tel] {
   min-height: 2.85rem;
   padding: .55rem .2rem;
   border-color: transparent;
   border-bottom-color: #555;
   border-radius: 0;
   background: transparent;
   color: #fff;
}

.shop-site .contacts-section .form-field input[type=tel][aria-invalid=true] { border-bottom-color: #ff7a83; }

.shop-site .contacts-section .shop-form input::placeholder { color: #a5a5a5; }
.contacts-section .form-field { color: #ddd; font-size: .9rem; }
.contacts-section .form-consent { margin: .8rem 0 1rem; color: #ccc; }
.contacts-section .form-feedback:empty,
.contacts-section [class^=error_]:empty { display: none; }
.shop-site .contacts-section .btn { width: 100%; box-shadow: 0 .45rem 1.25rem #92030e65; }

.shop-site .footer { background: #000; padding: 1rem 0 2rem; border-top: 1px solid #242424; }
.shop-site .footer__body { gap: 2rem; padding-top: 1.5rem; align-items: flex-start; }
.footer__address { font-size: 1.15rem; }
.footer__address > a { display: block; font-size: 1.75rem; margin-block: .75rem; }
.footer__schedule { font-size: 1rem; }
.footer__links { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.footer__links > a { display: flex; align-items: center; gap: .75rem; }
.footer__links svg { width: 1.5rem; height: 1.5rem; fill: currentColor; }
.footer__max,
.footer__email-icon { display: flex; width: 1.5rem; height: 1.5rem; justify-content: center; align-items: center; font-size: 1.5rem; font-family: Arial, sans-serif; font-weight: 700; }
.footer__bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid #242424; color: #aaa; font-size: .85rem; }
.footer__contact-icon { display: none; }

.shop-site.main-page .footer {
   padding-block: 1.25rem 2rem;
   background: #080808;
   border-top: 0;
}

.shop-site.main-page .footer__body {
   display: grid;
   grid-template-columns: minmax(9rem, 1fr) auto auto auto;
   align-items: center;
   gap: 1.25rem clamp(1rem, 3vw, 3.5rem);
   padding-top: 0;
}

.main-page .footer__address { display: contents; }
.main-page .footer__address > a { font-size: 1.15rem; white-space: nowrap; margin: 0; }
.main-page .footer__location,
.main-page .footer__schedule { display: flex; align-items: center; gap: .75rem; font-size: .95rem; }
.main-page .footer__contact-icon { display: inline-block; font-size: 1.3rem; color: var(--red); }
.main-page .footer__links { flex-direction: row; align-items: center; flex-wrap: wrap; gap: .8rem; font-size: .95rem; }
.main-page .footer__email { order: -1; }
.main-page .footer__email-icon,
.main-page .footer__social > span { display: none; }
.main-page .footer__social { font-size: 1.85rem; }
.main-page .footer__bottom {
   margin-top: 3.25rem;
   border-top-color: #585858;
}

.cart-float { display: flex; align-items: center; justify-content: center; gap: .25rem; position: fixed; bottom: 1.5rem; right: 1.5rem; width: 4.25rem; height: 4.25rem; padding-inline: .35rem; border-radius: 50%; background: var(--red); color: #fff; font-size: .9rem; z-index: 60; box-shadow: 0 4px 24px #0008; }
.cart-float svg { width: 2rem; height: 2rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cart-float:hover { color: #fff; background: #be0b16; }
.cart-notice { position: fixed; right: 1.5rem; bottom: 6.5rem; background: #fff; color: #171717; z-index: 76; border-radius: .5rem; padding: 1rem 1.25rem; max-width: min(22rem, calc(100vw - 3rem)); box-shadow: 0 4px 24px #0006; pointer-events: none; }
.cart-notice:empty { clip-path: inset(50%); }
.cart-notice:not(:empty) { animation: cart-notice-enter .22s ease-out; }

@keyframes cart-notice-enter {
   from { opacity: 0; transform: translateY(.5rem); }
}

.cart-page__main,
.product-page__main { padding-top: 11rem; }
.shop-site .cart-section { margin-bottom: 4rem; }
.cart-empty { text-align: center; padding: 3rem 1rem 5rem; }
.cart-empty p { font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; margin-bottom: 2rem; }
.cart-actions { display: flex; justify-content: flex-end; margin-bottom: .5rem; }
.cart-clear { min-height: 2.75rem; padding: .5rem 1rem; border: 1px solid #555; border-radius: .3rem; background: transparent; color: #ddd; font: inherit; }
.cart-clear:hover { border-color: #ff7a83; color: #ff7a83; }
.cart-heading { display: grid; grid-template-columns: minmax(0, 1fr) 9.5rem 8.5rem 2rem; gap: 1.5rem; font-size: .8rem; text-transform: uppercase; color: #aaa; padding: 1.25rem 0; border-bottom: 1px solid #444; }
.cart-item { display: grid; grid-template-columns: 6rem minmax(0, 1fr) 9.5rem 8.5rem 2rem; align-items: center; gap: 1.5rem; padding-block: 1.5rem; border-bottom: 1px solid #333; }
.cart-item__image { width: 6rem; height: 7rem; object-fit: contain; }
.cart-item__body h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.6rem; line-height: 1.2; margin-bottom: .5rem; }
.cart-item__body p { color: #bbb; font-size: .95rem; }
.cart-item__quantity { display: flex; align-items: center; border: 1px solid #555; border-radius: .3rem; overflow: hidden; }
.cart-item__quantity button { color: #fff; background: #1a1a1a; width: 2.75rem; height: 2.8rem; font: inherit; flex-shrink: 0; }
.cart-item__quantity input { background: transparent; color: #fff; text-align: center; width: 100%; min-width: 0; height: 2.8rem; font: inherit; appearance: textfield; }
.cart-item__quantity input::-webkit-inner-spin-button { appearance: none; }
.cart-item__price { font-size: 1.4rem; white-space: nowrap; }
.cart-item__remove { display: flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; background: transparent; color: #ccc; font-size: 1.7rem; }
.cart-item__remove:hover { color: #ff7a83; }
.cart-total { text-align: right; padding-block: 2rem; font-size: 1.5rem; }
.cart-total strong { margin-left: 1rem; font-weight: 400; font-size: 2rem; }
.cart-checkout { max-width: 43rem; margin: 1rem auto 2rem; }
.cart-back { display: inline-block; margin-top: 1.5rem; color: #ccc; }
.cart-page .cart-float { display: none; }
.product-detail { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 4rem; }
.product-detail__image { height: 34rem; }
.product-detail__image img { width: 100%; height: 100%; object-fit: contain; }
.product-detail .title { text-align: left; }
.product-detail .text { margin-top: 1.5rem; }
.shop-text-page .margin-top { margin-top: 11rem; margin-bottom: 4rem; }
.shop-text-page .text,
.shop-text-page main p { max-width: 65rem; margin-inline: auto; line-height: 1.7; }
.shop-site #cookie_note { z-index: 75; }
