/*
 * Vibben Mix & Match — photographic implementation based on the approved
 * concept. The five photographic source crops live in WordPress Media.
 * Interactive offers and their prices are HTML, never burned into images.
 */
body.home .vref-header,
body.home .vref-header__top,
body.home .vref-nav {
 background: #150d15 !important;
}
body.home .vref-nav { border-color: rgba(202,136,161,.66) !important; }
body.home .vref-header__top { border-color: rgba(255,215,218,.10) !important; }
body.home .vref-hero {
 height: 454px !important;
 min-height: 454px !important;
 background: #250c1d !important;
}
body.home .vref-hero__photo {
 background-image:
   url('https://vibben.se/wp-content/uploads/2026/10/Vibben-Mix-Match-kampanjreferens-–-fotorealistisk-edited-3.png'),
   url('https://vibben.se/wp-content/uploads/2026/10/Vibben-Mix-Match-kampanjreferens-–-fotorealistisk-edited-4.png'),
   radial-gradient(ellipse at 31% 92%,rgba(148,46,77,.49) 0%,rgba(84,26,56,.18) 38%,transparent 70%),
   radial-gradient(ellipse at 77% 22%,rgba(132,58,71,.36),transparent 56%),
   linear-gradient(112deg,#2b0b1b 0%,#4a2034 42%,#2a101e 72%,#190915 100%) !important;
 background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat !important;
 background-size: auto 100%,auto 100%,cover,cover,cover !important;
 background-position:left center,right center,center center,center center,center center !important;
 filter:none !important;
 opacity:1 !important;
 transform:none !important;
}
body.home .vref-hero__veil {
 background:
  linear-gradient(90deg,rgba(22,6,15,.16) 0%,rgba(24,7,19,.20) 15%,rgba(26,9,26,.10) 33%,rgba(13,5,17,.04) 72%,rgba(14,4,15,.19) 100%),
  linear-gradient(0deg,rgba(19,5,16,.32) 0%,rgba(18,5,17,.02) 42%,transparent 100%) !important;
}
body.home .vref-hero__inner {
 width: min(1380px,calc(100% - 70px));
 max-width: none;
 min-height: 454px;
 height: 454px;
 display:grid;
 grid-template-columns:minmax(0,435px) minmax(0,825px);
 column-gap:70px;
 align-items:center;
 transform:translateX(35px);
}
body.home .vref-copy {
 width:435px;
 max-width:100%;
 transform:none;
}
body.home .vref-kicker {
 color:#f1aabd !important;
 font-size:12px !important;
 line-height:1.5 !important;
 letter-spacing:.22em !important;
}
body.home .vref-title {
 color:#fff6f3 !important;
 font-size:clamp(55px,4.1vw,68px) !important;
 font-weight:600 !important;
 line-height:1.06 !important;
 letter-spacing:-.052em !important;
 white-space:nowrap;
 text-shadow:0 3px 25px rgba(21,4,17,.45) !important;
}
body.home .vref-title__accent {
 color:#ed92af !important;
 font-family:Georgia,"Times New Roman",serif !important;
}
body.home .vref-lead {
 color:#f8e7e8 !important;
 font-weight:400 !important;
 font-size:18px !important;
 line-height:1.53 !important;
 text-shadow:0 2px 17px rgba(0,0,0,.2);
}
body.home .vref-maincta {
 width:275px;
 height:56px;
 border-color:#ffcad2 !important;
 background:linear-gradient(105deg,#f5adbe,#df829f) !important;
 color:#351221 !important;
 box-shadow:0 13px 30px rgba(17,5,18,.19) !important;
}
body.home .vref-maincta:hover,
body.home .vref-cardcta:hover { filter:brightness(1.07); }
body.home .vref-proof {
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:10px 14px;
 margin-top:38px;
 font-size:12px;
 font-weight:500;
 color:#f3dce2;
 line-height:1.3;
}
body.home .vref-proof>span {
 display:inline-flex;
 align-items:center;
 gap:7px;
 white-space:nowrap;
}
body.home .vref-proof>span+span {
 padding-left:14px;
 border-left:1px solid rgba(255,213,222,.28);
}
body.home .vref-proof b {
 color:#edb9c5;
 font-size:18px;
 font-weight:400;
 line-height:1;
}
body.home .vref-offers {
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 width:825px;
 max-width:100%;
 height:345px;
 gap:15px;
 align-items:stretch;
 transform:none;
}
body.home .vref-offer {
 width:auto;
 height:345px;
 min-height:345px;
 display:flex;
 padding:17px 15px 17px !important;
 border:1px solid rgba(255,185,200,.82) !important;
 border-radius:17px !important;
 background-color:#1d0b1a !important;
 background-repeat:no-repeat !important;
 background-size:100% 100%,100% auto !important;
 background-position:center center,center top !important;
 background-blend-mode:normal,normal !important;
 box-shadow:0 17px 40px rgba(10,2,11,.3) !important;
 transition:transform .22s ease,box-shadow .22s ease;
}
body.home .vref-offer--1 {
 background-image:
   linear-gradient(180deg,rgba(21,8,20,.02) 0%,rgba(21,8,20,.12) 31%,rgba(21,8,20,.66) 52%,#150712 74%,#150712 100%),
   url('https://vibben.se/wp-content/uploads/2026/10/Vibben-Mix-Match-kampanjreferens-–-fotorealistisk-edited.png') !important;
}
body.home .vref-offer--2 {
 background-image:
   linear-gradient(180deg,rgba(21,8,20,.02) 0%,rgba(21,8,20,.12) 31%,rgba(21,8,20,.66) 52%,#150712 74%,#150712 100%),
   url('https://vibben.se/wp-content/uploads/2026/10/Vibben-Mix-Match-kampanjreferens-–-fotorealistisk-edited-1.png') !important;
}
body.home .vref-offer--3 {
 background-image:
   linear-gradient(180deg,rgba(21,8,20,.02) 0%,rgba(21,8,20,.12) 31%,rgba(21,8,20,.66) 52%,#150712 74%,#150712 100%),
   url('https://vibben.se/wp-content/uploads/2026/10/Vibben-Mix-Match-kampanjreferens-–-fotorealistisk-edited-2.png') !important;
}
body.home .vref-offer::before {
 content:none !important;
}
body.home .vref-badge {
 border:1px solid rgba(248,207,212,.87) !important;
 background:rgba(31,11,24,.84) !important;
 color:#fff6f5 !important;
 box-shadow:0 2px 8px rgba(0,0,0,.2);
}
body.home .vref-offer__lower {
 position:relative;
 z-index:2;
 display:block;
 margin-top:auto;
}
body.home .vref-price {
 margin:0 0 7px;
 font-size:38px !important;
 line-height:1.03 !important;
 font-weight:400 !important;
 color:#fff7f0 !important;
 text-shadow:0 2px 18px rgba(0,0,0,.4);
}
body.home .vref-desc {
 height:auto;
 min-height:19px;
 font-size:12px !important;
 font-weight:500 !important;
 color:#fff8f6 !important;
}
body.home .vref-cardcta {
 width:100%;
 min-height:44px;
 height:44px;
 border:1px solid #f9beca !important;
 background:linear-gradient(100deg,#f4b5c3,#e287a7) !important;
 color:#341524 !important;
 box-shadow:none !important;
 transition:filter .2s ease;
}
body.home .vref-cats {
 background:linear-gradient(180deg,#fff9f8,#fffafd) !important;
 padding:24px 0 36px !important;
}
body.home .vref-eyebrow {
 color:#b6537b !important;
 font-size:11px !important;
}
body.home .vref-cats__title {
 color:#341825 !important;
 font-size:clamp(40px,3.2vw,50px) !important;
 font-weight:600 !important;
}
body.home .vref-cats__title em {
 color:#a34669 !important;
 font-weight:500 !important;
 font-style:italic;
}
body.home .vref-cats__sub {
 color:#826773 !important;
 font-size:12px !important;
}
body.home .vref-cat img {
 filter:sepia(.04) saturate(.95) hue-rotate(9deg) contrast(1.04) brightness(.97) !important;
}
body.home .vref-cat::before {
 background:linear-gradient(180deg,transparent 33%,rgba(26,9,23,.05) 54%,rgba(29,8,23,.84) 100%) !important;
}
body.home .vref-cat__arrow {
 border-color:#e6a5bc !important;
 background:rgba(35,9,28,.7) !important;
}
@media(max-width:1599px) and (min-width:1100px) {
 body.home .vref-hero__inner {
  width:min(1280px,calc(100% - 44px));
  grid-template-columns:minmax(340px,410px) minmax(0,1fr);
  column-gap:clamp(24px,3vw,60px);
  transform:none;
 }
 body.home .vref-copy {width:auto;}
 body.home .vref-offers {width:100%;gap:11px;}
 body.home .vref-title {font-size:clamp(49px,4.2vw,63px)!important;}
 body.home .vref-price {font-size:clamp(28px,2.6vw,37px)!important;}
 body.home .vref-cardcta {font-size:12px;}
}
@media(max-width:1099px) {
 body.home .vref-hero {
   height:auto!important;
   min-height:0!important;
   padding:42px 0 43px;
 }
 body.home .vref-hero__inner {
   width:min(780px,calc(100% - 36px));
   height:auto;
   min-height:0;
   grid-template-columns:minmax(0,1fr);
   gap:27px;
   transform:none;
 }
 body.home .vref-copy {width:100%;max-width:720px;}
 body.home .vref-offers {width:100%;height:auto;gap:12px;}
 body.home .vref-offer {min-height:298px;height:298px;aspect-ratio:auto;}
 body.home .vref-title {font-size:55px!important;}
 body.home .vref-proof {margin-top:24px;}
}
@media(max-width:600px) {
 body.home .vref-hero {
  padding:35px 0 30px;
 }
 body.home .vref-hero__photo {
  background-size:auto 100%,auto 100%,cover,cover,cover!important;
  background-position:left center,right center,center,center,center!important;
  opacity:.70!important;
 }
 body.home .vref-hero__inner {width:calc(100% - 32px)!important;gap:26px;}
 body.home .vref-title {
  font-size:clamp(39px,10.2vw,52px)!important;
  white-space:normal;
 }
 body.home .vref-lead {font-size:15px!important;}
 body.home .vref-maincta {width:100%!important;}
 body.home .vref-proof {
  margin-top:23px;
  gap:10px;
  font-size:11px;
 }
 body.home .vref-proof>span+span {
  padding-left:10px;
 }
 body.home .vref-offers {
  width:100%!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:15px!important;
 }
 body.home .vref-offer {
  width:100%!important;
  min-height:265px!important;
  height:265px!important;
  aspect-ratio:auto!important;
  padding:14px!important;
  background-size:100% 100%,100% auto!important;
  background-position:center,center 26%!important;
 }
 body.home .vref-badge {height:29px;min-height:29px;}
 body.home .vref-price {font-size:34px!important;}
 body.home .vref-cardcta {height:43px;}
 body.home .vref-cats {padding:27px 0 32px!important;}
 body.home .vref-cats__title {font-size:clamp(31px,8.4vw,40px)!important;}
}
@media(max-width:350px) {
 body.home .vref-proof>span+span {border:0;padding:0;}
 body.home .vref-badge {font-size:9px;}
}
@media(prefers-reduced-motion:reduce) {
 body.home .vref-offer,body.home .vref-cardcta {transition:none!important;}
}

/* Finishing details shared by desktop and mobile. */
body.home .vref-search button { color:#e9adbf!important; }
body.home .vref-action__icon { border-color:rgba(238,164,190,.75)!important; }
body.home .vref-action__icon em { background:#ad4f79!important; }
body.home .vref-cat {
 border-color:rgba(166,87,118,.29)!important;
 border-radius:13px!important;
 box-shadow:0 9px 24px rgba(66,23,43,.11)!important;
}
body.home .vref-cats__title {
 position:relative;
 display:inline-block;
}
body.home .vref-cats__title::before,
body.home .vref-cats__title::after {
 content:"";
 position:absolute;
 top:50%;
 width:84px;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(180,83,119,.48));
 pointer-events:none;
}
body.home .vref-cats__title::before {
 right:calc(100% + 30px);
}
body.home .vref-cats__title::after {
 left:calc(100% + 30px);
 transform:scaleX(-1);
}
/* Preview servers can temporarily cache the old PHP heading markup.
   The published markup supplies the real proof row; this fallback only
   appears when that row is absent. */
body.home .vref-copy:not(:has(.vref-proof))::after {
 content:"◇  Diskret leverans   ♡  Trygg betalning   ✦  Personlig service";
 display:block;
 max-width:510px;
 margin-top:36px;
 color:#f5dce3;
 font-size:12px;
 font-weight:500;
 line-height:1.65;
}
@media(max-width:600px) {
 body.home .vref-cats__title::before,
 body.home .vref-cats__title::after {display:none;}
 body.home .vref-copy:not(:has(.vref-proof))::after {
  margin-top:24px;
  font-size:11px;
 }
}

/*
 * Balance pass (2026-10-15): no abrupt photographic side strips, no
 * phantom border from the right-hand crop, and centered wider offers.
 * Intentionally limited to the homepage; bundle links stay unchanged.
 */
body.home .vref-hero {
  overflow: hidden;
  background: #250d1e !important;
}
body.home .vref-hero__photo {
  background-image:
    radial-gradient(ellipse 60% 80% at 37% 97%, rgba(140,51,82,.39), transparent 76%),
    radial-gradient(ellipse 48% 80% at 88% 16%, rgba(122,49,74,.26), transparent 79%),
    linear-gradient(108deg,#30111e 0%,#462037 35%,#341729 66%,#240e1d 100%) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  overflow:hidden;
}
body.home .vref-hero__photo::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:clamp(230px,20vw,385px);
  height:100%;
  pointer-events:none;
  background-image:url('https://vibben.se/wp-content/uploads/2026/10/Vibben-Mix-Match-kampanjreferens-–-fotorealistisk-edited-3.png');
  background-repeat:no-repeat;
  background-size:clamp(190px,16vw,298px) 100%;
  background-position:left center;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 15%,rgba(0,0,0,.70) 44%,transparent 84%);
  mask-image:linear-gradient(90deg,#000 0%,#000 15%,rgba(0,0,0,.70) 44%,transparent 84%);
}
body.home .vref-hero__photo::after {
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:clamp(170px,16vw,330px);
  height:100%;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 99% 56%,rgba(218,137,94,.19),transparent 68%),
    radial-gradient(ellipse at 84% 80%,rgba(171,78,101,.27),transparent 75%);
  -webkit-mask-image:linear-gradient(270deg,#000,transparent 97%);
  mask-image:linear-gradient(270deg,#000,transparent 97%);
}
body.home .vref-hero__veil {
 background:linear-gradient(0deg,rgba(22,6,21,.20),transparent 42%),
            linear-gradient(90deg,rgba(21,7,19,.12),transparent 28%,transparent 76%,rgba(26,8,23,.11)) !important;
}
body.home .vref-offer {
 background-color:#2d1425 !important;
 border-color:rgba(245,181,198,.64) !important;
 box-shadow:0 17px 37px rgba(15,3,17,.23),inset 0 1px 0 rgba(255,255,255,.07) !important;
}
body.home .vref-offer--1 {
 background-image:
   linear-gradient(180deg,rgba(24,8,20,.01) 0%,rgba(31,11,26,.06) 23%,rgba(33,12,27,.47) 45%,rgba(33,12,27,.92) 67%,#271020 100%),
   url('https://vibben.se/wp-content/uploads/2026/10/Vibben-Mix-Match-kampanjreferens-–-fotorealistisk-edited.png') !important;
}
body.home .vref-offer--2 {
 background-image:
   linear-gradient(180deg,rgba(24,8,20,.01) 0%,rgba(31,11,26,.06) 23%,rgba(33,12,27,.47) 45%,rgba(33,12,27,.92) 67%,#271020 100%),
   url('https://vibben.se/wp-content/uploads/2026/10/Vibben-Mix-Match-kampanjreferens-–-fotorealistisk-edited-1.png') !important;
}
body.home .vref-offer--3 {
 background-image:
   linear-gradient(180deg,rgba(24,8,20,.01) 0%,rgba(31,11,26,.06) 23%,rgba(33,12,27,.47) 45%,rgba(33,12,27,.92) 67%,#271020 100%),
   url('https://vibben.se/wp-content/uploads/2026/10/Vibben-Mix-Match-kampanjreferens-–-fotorealistisk-edited-2.png') !important;
}
@media (min-width:1600px) {
  body.home .vref-hero__inner {
    width:min(1520px,calc(100% - 240px));
    max-width:none;
    grid-template-columns:minmax(0,455px) minmax(0,915px);
    justify-content:space-between;
    column-gap:clamp(44px,4vw,70px);
    transform:none;
  }
  body.home .vref-copy {
    width:455px;
    max-width:100%;
  }
  body.home .vref-offers {
    width:915px;
    max-width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    transform:none;
  }
  body.home .vref-offer {width:auto;}
  body.home .vref-title {font-size:clamp(59px,3.8vw,68px)!important;}
}
@media (min-width:1100px) and (max-width:1599px) {
  body.home .vref-hero__inner {
    width:min(1380px,calc(100% - 118px));
    max-width:none;
    grid-template-columns:minmax(340px, .90fr) minmax(0,1.92fr);
    justify-content:space-between;
    column-gap:clamp(25px,3vw,51px);
    transform:none;
  }
  body.home .vref-copy {width:100%;max-width:100%;}
  body.home .vref-offers {
    width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  body.home .vref-offer {width:auto;}
  body.home .vref-title {font-size:clamp(48px,4vw,61px)!important;}
}
@media(max-width:1099px) {
  body.home .vref-hero__inner {transform:none;}
  body.home .vref-hero__photo::before {
    opacity:.47;
    width:265px;
    background-size:230px 100%;
  }
}
@media(max-width:600px) {
  body.home .vref-hero__photo::before {
    opacity:.25;
    width:170px;
    background-size:175px 100%;
  }
  body.home .vref-hero__photo::after {opacity:.4;}
}

