/*
Theme Name: OW Theme
Theme URI: https://www.oliverwicks.com/blog
Author: Oliver Wicks
Description: On-brand, performance-first blog theme for oliverwicks.com/blog (OWP-580). Open Sans + Lora, OW navy/green palette. No page builder.
Version: 0.4.19
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: oliverwicks-blog
*/

/* ---- Design tokens (from layouts/dragon _variables.scss) ---- */
:root {
  --ow-navy: #273d62;
  --ow-navy-dark: #0a4b65;
  --ow-green: #2ac38e;
  --ow-green-text: #17805a;   /* the brand green as a text/button colour: 4.9:1 against white (WCAG 1.4.3; #2ac38e is 2.3:1) */
  --ow-black: #222;
  --ow-grey: #505050;
  --ow-silver: #f5f5f5;
  --ow-silver-2: #f9f9f9;
  --ow-border: #d7d7d7;
  --ow-white: #fff;
  --font-sans: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-serif: "Lora", Georgia, "Times New Roman", serif;
  --container: 1180px;
  --measure: 720px;
}

/* ---- Reset-ish ---- */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ow-navy); text-decoration: none; }
a:hover { color: var(--ow-green-text); }

/* ---- Base typography ---- */
body {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.7;
  color: var(--ow-black);
  background: var(--ow-white);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--font-serif); color: var(--ow-navy); line-height: 1.25; font-weight: 600; }
h1 { font-size: 2.4rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.4rem; }
p { margin: 0 0 1.25em; }
blockquote {
  margin: 1.5em 0; padding: 0.5em 1.25em;
  border-left: 4px solid var(--ow-green);
  font-family: var(--font-serif); font-style: italic; color: var(--ow-grey);
}
hr { border: 0; border-top: 1px solid var(--ow-border); margin: 2em 0; }
code, pre { font-family: Menlo, Monaco, Consolas, monospace; background: var(--ow-silver); }
pre { padding: 1em; overflow-x: auto; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 20px; }

/* ---- Skip link (WCAG 2.1 SC 2.4.1): the first focusable element, visible only on keyboard focus; the store chrome
 * (announcement bar, header) sits before the content, as on the store (OWP-580 phase 7). #content has tabindex="-1". */
.skip-link { position: absolute; top: 0; left: -9999px; z-index: 1002; padding: 10px 16px; background: var(--ow-navy); color: #fff; font-size: 16px; text-decoration: none; }
.skip-link:focus, .skip-link:active { position: fixed; left: 8px; top: 8px; outline: 2px solid #fff; outline-offset: 2px; }
#content:focus { outline: none; } /* programmatic focus target only (tabindex=-1), never reached by Tab */

/* ---- Buttons ---- */
.btn {
  display: inline-block; padding: 12px 26px; background: var(--ow-navy); color: #fff;
  font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 15px; border-radius: 2px;
}
.btn:hover { background: var(--ow-navy-dark); color: #fff; }

/* ---- Header ---- */
.site-header {
  border-bottom: 1px solid var(--ow-border);
  background: var(--ow-white);
  position: sticky; top: 0; z-index: 50;
}
.site-header .container { display: flex; align-items: center; justify-content: space-between; min-height: 74px; gap: 16px; }
.site-logo img { width: 190px; height: auto; }
.site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 28px; }
.site-nav a {
  color: var(--ow-black); text-transform: uppercase; font-size: 14px; font-weight: 600; letter-spacing: .05em;
}
.site-nav a:hover { color: var(--ow-green-text); }
.nav-toggle { display: none; background: none; border: 0; cursor: pointer; font-size: 24px; color: var(--ow-navy); }

/* ---- Blog listing (cards) ---- */
.page-head { text-align: center; padding: 48px 0 8px; }
.page-head h1 { margin: 0; }
.page-head .lead { color: var(--ow-grey); font-family: var(--font-serif); font-size: 1.1rem; }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; padding: 40px 0 60px; }
.card { display: flex; flex-direction: column; border: 1px solid var(--ow-border); border-radius: 3px; overflow: hidden; background: #fff; transition: box-shadow .2s ease, transform .2s ease; }
.card:hover { box-shadow: 0 10px 30px rgba(39,61,98,.12); transform: translateY(-3px); }
.card-thumb { aspect-ratio: 16 / 10; background: var(--ow-silver); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.card-thumb img { width: 100%; height: 100%; object-fit: cover; }
/* branded fallback (image-less posts): OW logo centered, not stretched */
.card-thumb .thumb-fallback-logo { width: auto; height: auto; max-width: 48%; max-height: 46%; object-fit: contain; opacity: .38; }
.post-featured--logo { display: flex; align-items: center; justify-content: center; background: var(--ow-silver); min-height: 220px; }
.post-featured--logo .thumb-fallback-logo { width: auto; max-width: 260px; height: auto; opacity: .45; }
.card-body { padding: 20px 22px 26px; display: flex; flex-direction: column; flex: 1; }
.card-body h2 { font-size: 1.25rem; margin: 0 0 10px; }
.card-body h2 a { color: var(--ow-navy); }
.card-excerpt { color: var(--ow-grey); font-size: .95rem; flex: 1; }
.card-meta { margin-top: 14px; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: #767676; } /* 4.54:1 on white (WCAG AA); #8a8a8a was 3.4:1 */

/* ---- Single post ---- */
.post-hero { background: var(--ow-silver-2); }
.post-hero .container { padding-top: 40px; padding-bottom: 40px; }
.post-hero .eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 12px; color: var(--ow-green-text); font-weight: 700; }
.post-hero h1 { max-width: var(--measure); margin: 10px auto 12px; text-align: center; font-size: 2.6rem; }
.post-hero .post-meta { text-align: center; color: var(--ow-grey); font-size: 14px; }
.post-featured { max-width: var(--container); margin: 0 auto; }
.post-featured img { width: 100%; max-height: 520px; object-fit: cover; }
.post-body { max-width: var(--measure); margin: 40px auto 60px; padding: 0 20px; }
.post-body :is(h1,h2,h3) { margin-top: 1.6em; }
.post-body img { margin: 1.5em auto; border-radius: 3px; }
.post-body iframe { max-width: 100%; margin: 1.5em 0; }
.post-body ul, .post-body ol { padding-left: 1.4em; }
.post-body li { margin-bottom: .5em; }

/* back-to-shop CTA */
.blog-cta { background: var(--ow-navy); color: #fff; text-align: center; padding: 50px 20px; }
.blog-cta h2 { color: #fff; margin: 0 0 8px; }
.blog-cta p { color: #cdd6e4; margin: 0 0 22px; }
.blog-cta .btn { background: var(--ow-green-text); }
.blog-cta .btn:hover { background: #0f7a52; }

/* ---- Footer ---- */
.site-footer { background: var(--ow-navy); color: #cdd6e4; padding: 40px 0; font-size: 14px; }
.site-footer .container { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.site-footer a { color: #fff; }
.site-footer a:hover { color: var(--ow-green-text); }
.site-footer nav ul { list-style: none; display: flex; gap: 22px; margin: 0; padding: 0; }

/* ---- Pagination ---- */
.pagination { display: flex; justify-content: center; gap: 10px; padding: 20px 0 60px; }
.pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--ow-border); border-radius: 2px; color: var(--ow-navy); }
.pagination .current { background: var(--ow-navy); color: #fff; border-color: var(--ow-navy); }

/* ---- Responsive ---- */
@media (max-width: 900px) {
  .post-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  h1 { font-size: 2rem; }
  .post-hero h1 { font-size: 2rem; }
  .post-grid { grid-template-columns: 1fr; gap: 24px; }
  .site-nav { display: none; }
  .site-nav.open { display: block; position: absolute; top: 74px; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--ow-border); }
  .site-nav.open ul { flex-direction: column; gap: 0; padding: 8px 20px; }
  .site-nav.open li { padding: 10px 0; border-bottom: 1px solid var(--ow-silver); }
  .nav-toggle { display: block; }
  .site-footer .container { flex-direction: column; text-align: center; }
}

/* ---- Migrated ZF1 markup (OWP-580). The 75 store pages were pasted in with the store layout's Bootstrap 3
   grid and helper classes (row/col-*, img-responsive, center-block, text-*, hidden-/visible-xs, table) and the
   articles' own classes (article-warp, blog-title-2, image-center, table-of-contents, clr, size16). The theme
   carries only this scoped subset — not the store CSS. Breakpoints as Bootstrap 3.4.1: sm 768, md 992, lg 1200;
   the store's .col-1 collapses under 544px ($phoneLargeWidth). Landing-page classes (features, homepage-*) are
   NOT ported — made-to-measure-suits and private-summer-sale need their own treatment. ---- */
.single-page .post-body { max-width: var(--container, 1180px); }   /* pages were laid out for the store's 1170px container */
.single-page .post-body .article-warp { max-width: var(--measure, 720px); margin-left: auto; margin-right: auto; }   /* measurement guides stay readable */
.single-page .post-body .container, .single-page .post-body .container-fluid { width: auto; max-width: none; margin: 0 auto; padding-left: 15px; padding-right: 15px; }
.single-page .post-body .row { margin-left: -15px; margin-right: -15px; }
.single-page .post-body .row::before, .single-page .post-body .row::after, .single-page .post-body .container::before, .single-page .post-body .container::after, .single-page .post-body .clearfix::before, .single-page .post-body .clearfix::after { content: " "; display: table; }
.single-page .post-body .row::after, .single-page .post-body .container::after, .single-page .post-body .clearfix::after { clear: both; }
.single-page .post-body [class^="col-"], .single-page .post-body [class*=" col-"] { position: relative; min-height: 1px; padding-left: 15px; padding-right: 15px; }
.single-page .post-body .col-xs-1, .single-page .post-body .col-xs-2, .single-page .post-body .col-xs-3, .single-page .post-body .col-xs-4, .single-page .post-body .col-xs-5, .single-page .post-body .col-xs-6, .single-page .post-body .col-xs-7, .single-page .post-body .col-xs-8, .single-page .post-body .col-xs-9, .single-page .post-body .col-xs-10, .single-page .post-body .col-xs-11, .single-page .post-body .col-xs-12 { float: left; }
.single-page .post-body .col-xs-1 { width: 8.33333%; }
.single-page .post-body .col-xs-2 { width: 16.66667%; }
.single-page .post-body .col-xs-3 { width: 25.0%; }
.single-page .post-body .col-xs-4 { width: 33.33333%; }
.single-page .post-body .col-xs-5 { width: 41.66667%; }
.single-page .post-body .col-xs-6 { width: 50.0%; }
.single-page .post-body .col-xs-7 { width: 58.33333%; }
.single-page .post-body .col-xs-8 { width: 66.66667%; }
.single-page .post-body .col-xs-9 { width: 75.0%; }
.single-page .post-body .col-xs-10 { width: 83.33333%; }
.single-page .post-body .col-xs-11 { width: 91.66667%; }
.single-page .post-body .col-xs-12 { width: 100.0%; }
.single-page .post-body .col-xs-offset-0 { margin-left: 0.0%; }
.single-page .post-body .col-xs-offset-1 { margin-left: 8.33333%; }
.single-page .post-body .col-xs-offset-2 { margin-left: 16.66667%; }
.single-page .post-body .col-xs-offset-3 { margin-left: 25.0%; }
.single-page .post-body .col-xs-offset-4 { margin-left: 33.33333%; }
.single-page .post-body .col-xs-offset-5 { margin-left: 41.66667%; }
.single-page .post-body .col-xs-offset-6 { margin-left: 50.0%; }
.single-page .post-body .col-xs-offset-7 { margin-left: 58.33333%; }
.single-page .post-body .col-xs-offset-8 { margin-left: 66.66667%; }
.single-page .post-body .col-xs-offset-9 { margin-left: 75.0%; }
.single-page .post-body .col-xs-offset-10 { margin-left: 83.33333%; }
.single-page .post-body .col-xs-offset-11 { margin-left: 91.66667%; }
@media (min-width: 768px) {
  .single-page .post-body .col-sm-1, .single-page .post-body .col-sm-2, .single-page .post-body .col-sm-3, .single-page .post-body .col-sm-4, .single-page .post-body .col-sm-5, .single-page .post-body .col-sm-6, .single-page .post-body .col-sm-7, .single-page .post-body .col-sm-8, .single-page .post-body .col-sm-9, .single-page .post-body .col-sm-10, .single-page .post-body .col-sm-11, .single-page .post-body .col-sm-12 { float: left; }
  .single-page .post-body .col-sm-1 { width: 8.33333%; }
  .single-page .post-body .col-sm-2 { width: 16.66667%; }
  .single-page .post-body .col-sm-3 { width: 25.0%; }
  .single-page .post-body .col-sm-4 { width: 33.33333%; }
  .single-page .post-body .col-sm-5 { width: 41.66667%; }
  .single-page .post-body .col-sm-6 { width: 50.0%; }
  .single-page .post-body .col-sm-7 { width: 58.33333%; }
  .single-page .post-body .col-sm-8 { width: 66.66667%; }
  .single-page .post-body .col-sm-9 { width: 75.0%; }
  .single-page .post-body .col-sm-10 { width: 83.33333%; }
  .single-page .post-body .col-sm-11 { width: 91.66667%; }
  .single-page .post-body .col-sm-12 { width: 100.0%; }
  .single-page .post-body .col-sm-offset-0 { margin-left: 0.0%; }
  .single-page .post-body .col-sm-offset-1 { margin-left: 8.33333%; }
  .single-page .post-body .col-sm-offset-2 { margin-left: 16.66667%; }
  .single-page .post-body .col-sm-offset-3 { margin-left: 25.0%; }
  .single-page .post-body .col-sm-offset-4 { margin-left: 33.33333%; }
  .single-page .post-body .col-sm-offset-5 { margin-left: 41.66667%; }
  .single-page .post-body .col-sm-offset-6 { margin-left: 50.0%; }
  .single-page .post-body .col-sm-offset-7 { margin-left: 58.33333%; }
  .single-page .post-body .col-sm-offset-8 { margin-left: 66.66667%; }
  .single-page .post-body .col-sm-offset-9 { margin-left: 75.0%; }
  .single-page .post-body .col-sm-offset-10 { margin-left: 83.33333%; }
  .single-page .post-body .col-sm-offset-11 { margin-left: 91.66667%; }
}
@media (min-width: 992px) {
  .single-page .post-body .col-md-1, .single-page .post-body .col-md-2, .single-page .post-body .col-md-3, .single-page .post-body .col-md-4, .single-page .post-body .col-md-5, .single-page .post-body .col-md-6, .single-page .post-body .col-md-7, .single-page .post-body .col-md-8, .single-page .post-body .col-md-9, .single-page .post-body .col-md-10, .single-page .post-body .col-md-11, .single-page .post-body .col-md-12 { float: left; }
  .single-page .post-body .col-md-1 { width: 8.33333%; }
  .single-page .post-body .col-md-2 { width: 16.66667%; }
  .single-page .post-body .col-md-3 { width: 25.0%; }
  .single-page .post-body .col-md-4 { width: 33.33333%; }
  .single-page .post-body .col-md-5 { width: 41.66667%; }
  .single-page .post-body .col-md-6 { width: 50.0%; }
  .single-page .post-body .col-md-7 { width: 58.33333%; }
  .single-page .post-body .col-md-8 { width: 66.66667%; }
  .single-page .post-body .col-md-9 { width: 75.0%; }
  .single-page .post-body .col-md-10 { width: 83.33333%; }
  .single-page .post-body .col-md-11 { width: 91.66667%; }
  .single-page .post-body .col-md-12 { width: 100.0%; }
  .single-page .post-body .col-md-offset-0 { margin-left: 0.0%; }
  .single-page .post-body .col-md-offset-1 { margin-left: 8.33333%; }
  .single-page .post-body .col-md-offset-2 { margin-left: 16.66667%; }
  .single-page .post-body .col-md-offset-3 { margin-left: 25.0%; }
  .single-page .post-body .col-md-offset-4 { margin-left: 33.33333%; }
  .single-page .post-body .col-md-offset-5 { margin-left: 41.66667%; }
  .single-page .post-body .col-md-offset-6 { margin-left: 50.0%; }
  .single-page .post-body .col-md-offset-7 { margin-left: 58.33333%; }
  .single-page .post-body .col-md-offset-8 { margin-left: 66.66667%; }
  .single-page .post-body .col-md-offset-9 { margin-left: 75.0%; }
  .single-page .post-body .col-md-offset-10 { margin-left: 83.33333%; }
  .single-page .post-body .col-md-offset-11 { margin-left: 91.66667%; }
}
@media (min-width: 1200px) {
  .single-page .post-body .col-lg-1, .single-page .post-body .col-lg-2, .single-page .post-body .col-lg-3, .single-page .post-body .col-lg-4, .single-page .post-body .col-lg-5, .single-page .post-body .col-lg-6, .single-page .post-body .col-lg-7, .single-page .post-body .col-lg-8, .single-page .post-body .col-lg-9, .single-page .post-body .col-lg-10, .single-page .post-body .col-lg-11, .single-page .post-body .col-lg-12 { float: left; }
  .single-page .post-body .col-lg-1 { width: 8.33333%; }
  .single-page .post-body .col-lg-2 { width: 16.66667%; }
  .single-page .post-body .col-lg-3 { width: 25.0%; }
  .single-page .post-body .col-lg-4 { width: 33.33333%; }
  .single-page .post-body .col-lg-5 { width: 41.66667%; }
  .single-page .post-body .col-lg-6 { width: 50.0%; }
  .single-page .post-body .col-lg-7 { width: 58.33333%; }
  .single-page .post-body .col-lg-8 { width: 66.66667%; }
  .single-page .post-body .col-lg-9 { width: 75.0%; }
  .single-page .post-body .col-lg-10 { width: 83.33333%; }
  .single-page .post-body .col-lg-11 { width: 91.66667%; }
  .single-page .post-body .col-lg-12 { width: 100.0%; }
  .single-page .post-body .col-lg-offset-0 { margin-left: 0.0%; }
  .single-page .post-body .col-lg-offset-1 { margin-left: 8.33333%; }
  .single-page .post-body .col-lg-offset-2 { margin-left: 16.66667%; }
  .single-page .post-body .col-lg-offset-3 { margin-left: 25.0%; }
  .single-page .post-body .col-lg-offset-4 { margin-left: 33.33333%; }
  .single-page .post-body .col-lg-offset-5 { margin-left: 41.66667%; }
  .single-page .post-body .col-lg-offset-6 { margin-left: 50.0%; }
  .single-page .post-body .col-lg-offset-7 { margin-left: 58.33333%; }
  .single-page .post-body .col-lg-offset-8 { margin-left: 66.66667%; }
  .single-page .post-body .col-lg-offset-9 { margin-left: 75.0%; }
  .single-page .post-body .col-lg-offset-10 { margin-left: 83.33333%; }
  .single-page .post-body .col-lg-offset-11 { margin-left: 91.66667%; }
}
.single-page .post-body .hidden, .single-page .post-body .hide { display: none !important; }   /* Bootstrap .hidden: suit-fabrics keeps its "Free Swatches" box in the markup but hidden, like the store */
.single-page .post-body .visible-xs { display: none !important; }
@media (max-width: 767px) { .single-page .post-body .visible-xs { display: block !important; } .single-page .post-body .hidden-xs { display: none !important; } }
@media (min-width: 1200px) { .single-page .post-body .hidden-lg { display: none !important; } }
@media (max-width: 544px) { .single-page .post-body .col-1 { width: 100%; float: none; } }
.post-body .img-responsive { display: block; max-width: 100%; height: auto; }
.post-body .center-block { display: block; margin-left: auto; margin-right: auto; }
.post-body .text-center { text-align: center; } .post-body .text-left { text-align: left; } .post-body .text-right { text-align: right; }
.post-body .table { width: 100%; max-width: 100%; margin-bottom: 20px; border-collapse: collapse; }
.post-body .table th, .post-body .table td { padding: 8px; line-height: 1.43; vertical-align: top; border-top: 1px solid #ddd; }
.post-body .table thead th { vertical-align: bottom; border-bottom: 2px solid #ddd; }
.post-body .table-hover tbody tr:hover { background-color: #f5f5f5; }
.post-body .no-border td { border: none; }
.post-body .clr { clear: both; height: 0; line-height: 0; font-size: 0; }
/* articles (store pages/blog/_blog-article.scss) */
.post-body .article-warp { padding: 0 15px; }
@media (min-width: 768px) { .post-body .article-warp { padding: 10px; } }
.post-body .article-warp p { margin: 0 0 30px; }
.post-body .article-warp .blog-title-2 { margin: 30px 0 15px; font-weight: 400; line-height: 1.5; font-size: 16px; text-align: center; }
@media (min-width: 768px) { .post-body .article-warp .blog-title-2 { margin-top: 65px; padding: .3em 0; font-size: 20px; min-height: 45px; } }
.post-body .article-warp img[alt] { display: block; text-align: center; }
.post-body .block-article-image { max-width: 100%; height: auto; }
.post-body .image-left { display: block; margin-right: auto; } .post-body .image-right { display: block; margin-left: auto; }
.post-body .image-center { display: flex; justify-content: center; }
.post-body .table-of-contents ul, .post-body .table-of-contents li { list-style-type: none; }
.post-body .size16 p, .post-body .size16 li, .post-body .article-content-stylizer p, .post-body .article-content-stylizer li { text-align: left; font-size: 16px; font-weight: 300; }
/* sizing-info (store pages/articles/_sizing-info.scss essentials; the glyphicon font is not loaded, so the info icon is a text glyph) */
.post-body .sizing-info-wrapper .space { margin-bottom: 30px; }
@media (min-width: 992px) { .post-body .sizing-info-wrapper .space { margin-bottom: 50px; } }
.post-body .sizing-info-wrapper table { max-width: 600px; min-width: 300px; margin: 0 auto; border: 1px solid #ddd; }
.post-body .sizing-info-wrapper .text-small, .post-body .sizing-info-wrapper .text-small td { font-size: 11px; }
.post-body .sizing-info-wrapper .video-link { color: var(--ow-navy); cursor: pointer; text-decoration: underline; }
.post-body .glyphicon { display: inline-block; font-style: normal; line-height: 1; }
.post-body .glyphicon-info-sign::before { content: "\2139"; }

/* ---- Template-layer pieces of the ZF1 article views, now in the page bodies / theme (OWP-580):
   contact hero (pages/articles/_contact-us.scss), features + coupons blocks (pages/homepage/_homepage.scss,
   pages/coupons/_coupons.scss) and the SVG icons (components/_icons-svg.scss, symbols in
   template-parts/svg-sprite.php). ---- */
.post-body .contact-page-header { background: url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/img/CONTACTS.jpg") no-repeat; background-size: auto 100%; color: #fff; padding: 40px 15px; margin-bottom: 30px; }
@media (min-width: 544px) { .post-body .contact-page-header { background-size: 100% 100%; } }
@media (min-width: 768px) { .post-body .contact-page-header { padding-top: 70px; padding-bottom: 70px; background-attachment: fixed; } .post-body .contact-page-header p span { display: block; } }
.post-body .contact-page-header h1 { color: #fff; margin: 0 0 20px; }
.post-body .contact-page-header p { color: #fff; margin: 0; }
.post-body .contact-page-header input { color: #fff; }
.post-body .features { text-align: center; margin: 0 0 40px; }
@media (min-width: 768px) { .post-body .features { margin: 0 0 60px; } }
@media (min-width: 992px) { .post-body .features { margin: 0 0 100px; padding: 0 115px; } }
.post-body .features h3 { font-size: 18px; font-weight: 700; }
.post-body .features h3.coupons { font-weight: 400; margin-bottom: 20px; line-height: 1.5; font-size: 18px; min-height: 45px; color: #222; }
.post-body .features h1.coupons { margin-bottom: 50px; }
@media (min-width: 768px) { .post-body .features h1.coupons { font-size: 26px; margin-top: 50px; font-weight: 300; color: #222; } }
.post-body .features p { font-size: 16px; line-height: 24px; font-weight: 300; margin-top: 5px; }
@media (min-width: 768px) { .post-body .features p { line-height: 27px; font-size: 18px; } }
@media (min-width: 992px) { .post-body .features p { padding: 0 10%; } }
.post-body .features p a { font-weight: 600; }
.post-body p.coupons, .post-body .satisfaction p, .post-body .shipping p, .post-body .additional { text-align: left; font-size: 16px; font-weight: 300; }
@media (min-width: 768px) { .post-body p.coupons, .post-body .satisfaction p, .post-body .shipping p { line-height: 30px; margin-top: 5px; color: #222; text-align: center; } }
.post-body svg.icon { fill: currentColor; position: relative; width: 10px; height: 10px; overflow: hidden; display: inline-block; }
.post-body :is(.feature-one, .feature-two, .feature-three) .feature-icon { height: 75px; width: auto; color: #263d62; }
.post-body :is(.feature-one, .feature-two, .feature-three) .coupon-icon { height: 110px; width: auto; color: #263d62; }
.post-body :is(.feature-one, .feature-two, .feature-three) .coupon-icon.dapper { margin-top: 10px; height: 100px; }
.post-body :is(.feature-one, .feature-two, .feature-three):hover :is(.feature-icon, .coupon-icon) { color: #4ebaea; }
.post-body .svg-play-video-wrapper { display: inline-block; width: 35px; height: 35px; border: 2px solid #273d62; border-radius: 50%; position: relative; }
.post-body .svg-play-video-wrapper:hover { background: #273d62; }
.post-body .svg-play-video-wrapper:hover svg { color: #fff; }
.post-body .svg-play-video-wrapper svg { width: 14px; height: 14px; position: absolute; left: 11px; top: 9px; }

/* ---- Landing pages: the store's container widths and base heading typography inside them (Open Sans 300,
   uppercase, #505050 — the theme's serif navy headings would be wrong there). :where() keeps the specificity
   below the extracted section rules (e.g. .feel-difference h3 in Lora italic), which must win. ---- */
.single-page .post-body:has(.home-page, .home-page-container, .homepage-container, .head-wedding, .mills-main, .made-in-europe) { max-width: none; padding-left: 0; padding-right: 0; }
.single-page .post-body:has(.home-page, .home-page-container, .homepage-container, .head-wedding, .mills-main, .made-in-europe) .container { padding: 0 10px; }
@media (min-width: 768px) { .single-page .post-body:has(.home-page, .home-page-container, .homepage-container, .head-wedding, .mills-main, .made-in-europe) .container { width: 100%; } }
@media (min-width: 992px) { .single-page .post-body:has(.home-page, .home-page-container, .homepage-container, .head-wedding, .mills-main, .made-in-europe) .container { max-width: 1200px; width: auto; padding: 0 15px; } }
@media (min-width: 1200px) { .single-page .post-body:has(.home-page, .home-page-container, .homepage-container, .head-wedding, .mills-main, .made-in-europe) .container { max-width: 1600px; width: 100%; margin: 0 auto; } }
.single-page .post-body :where(.home-page, .home-page-container, .homepage-container) :is(h1, h2, h3, h4, h5, h6) { font-family: var(--font-sans); font-weight: 300; text-shadow: none; text-align: center; text-transform: uppercase; color: #505050; line-height: 1.5; letter-spacing: normal; }
.single-page .post-body :where(.home-page, .home-page-container, .homepage-container) h1 { font-size: 18px; letter-spacing: .5px; margin: 20px 0; }
@media (min-width: 768px) { .single-page .post-body :where(.home-page, .home-page-container, .homepage-container) h1 { font-size: 24px; margin: 30px 0; } }
.single-page .post-body :where(.home-page, .home-page-container, .homepage-container) h2 { font-size: 20px; margin: 20px 0; }
.single-page .post-body :where(.home-page, .home-page-container, .homepage-container) h3 { font-size: 18px; margin: 20px 0; }
.single-page .post-body :where(.home-page, .home-page-container, .homepage-container) h4 { font-size: 16px; margin: 10px 0; }

/* ---- Landing pages made-to-measure-suits / private-summer-sale (OWP-580, decision: stay in WP). Their bodies are
   the store's homepage sections (features, feel-difference, dividers, homepage-heading, swatches-btn…). The
   rules below were extracted mechanically from the compiled store stylesheet (public/layouts/dragon/css/sass/
   custom.css, every rule whose selector carries one of those classes) and scoped to .single-page .post-body, so
   they cannot leak into the blog. Regenerate the same way when the store's homepage CSS changes. ---- */
.single-page .post-body .feature-one .feature-icon, .single-page .post-body .feature-two .feature-icon, .single-page .post-body .feature-three .feature-icon { height: 75px; width: auto; color: #263d62; }
.single-page .post-body .feature-one .coupon-icon, .single-page .post-body .feature-two .coupon-icon, .single-page .post-body .feature-three .coupon-icon { height: 110px; width: auto; color: #263d62; }
.single-page .post-body .feature-one .coupon-icon.dapper, .single-page .post-body .feature-two .coupon-icon.dapper, .single-page .post-body .feature-three .coupon-icon.dapper { margin-top: 10px; height: 100px; }
.single-page .post-body .feature-one:hover .feature-icon, .single-page .post-body .feature-two:hover .feature-icon, .single-page .post-body .feature-three:hover .feature-icon { color: #4ebaea; }
.single-page .post-body .feature-one:hover .coupon-icon, .single-page .post-body .feature-two:hover .coupon-icon, .single-page .post-body .feature-three:hover .coupon-icon { color: #4ebaea; }
.single-page .post-body .features .hovering .my-icon-container { height: 76px; }
.single-page .post-body .features .hovering .my-icon-container .my-account-icon, .single-page .post-body .features .hovering .my-icon-container .my-size-icon, .single-page .post-body .features .hovering .my-icon-container .my-photos-icon { height: 76px; width: auto; color: #263d62; }
.single-page .post-body .features .hovering .my-icon-container .my-account-icon { height: 70px; margin-top: 3px; }
.single-page .post-body .features .hovering .my-icon-container .my-photos-icon { height: 65px; margin-top: 4px; }
.single-page .post-body .features .hovering:hover .my-icon-container .my-account-icon, .single-page .post-body .features .hovering:hover .my-icon-container .my-photos-icon, .single-page .post-body .features .hovering:hover .my-icon-container .my-size-icon { color: #4ebaea; }
.single-page .post-body .swatches-btn { width: 70%; float: left; text-align: center; margin-top: 15px; }
@media (min-width: 544px) {
  .single-page .post-body .swatches-btn { width: 60%; margin-top: -23px; }
}
@media (min-width: 768px) {
  .single-page .post-body .swatches-btn { margin-top: -24px; width: 30%; }
}
.single-page .post-body .european-style, .single-page .post-body .canvassed-construction { background: none; padding: 38px 0 30px; }
.single-page .post-body .european-style h1, .single-page .post-body .european-style h2, .single-page .post-body .canvassed-construction h1, .single-page .post-body .canvassed-construction h2 { font-size: 23px; }
.single-page .post-body .european-style h3, .single-page .post-body .canvassed-construction h3 { font-weight: 700; font-size: 16px; padding-bottom: 30px; }
.single-page .post-body .european-style p, .single-page .post-body .canvassed-construction p { font-weight: 300; font-size: 16px; line-height: 24px; }
@media (min-width: 768px) {
  .single-page .post-body .european-style h1, .single-page .post-body .european-style h2, .single-page .post-body .canvassed-construction h1, .single-page .post-body .canvassed-construction h2 { font-size: 32px; }
  .single-page .post-body .european-style h3, .single-page .post-body .canvassed-construction h3 { font-size: 20px; padding-bottom: 50px; }
  .single-page .post-body .european-style p, .single-page .post-body .canvassed-construction p { font-size: 20px; line-height: 30px; }
}
@media (min-width: 992px) {
  .single-page .post-body .european-style, .single-page .post-body .canvassed-construction { padding: 42px 0 160px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .european-style, .single-page .post-body .canvassed-construction { padding: 0 0 19%; }
}
.single-page .post-body .european-style { position: relative; }
@media (min-width: 544px) {
  .single-page .post-body .european-style .map { position: absolute; right: 0; top: 15%; height: 70%; }
}
@media (max-width: 991px) {
  .single-page .post-body .european-style .map { width: auto; }
}
@media (min-width: 991px) and (max-width: 1018px) {
  .single-page .post-body .european-style .map { width: 56%; }
}
@media (min-width: 1018px) {
  .single-page .post-body .european-style .map { width: 47%; }
}
@media (min-width: 1300px) {
  .single-page .post-body .european-style .map { width: 35%; }
}
@media (min-width: 1200px) {
  .single-page .post-body .canvassed-construction { background: url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/images/half-canvas-2-v3.jpg") no-repeat right center; background-position: 150%; margin-bottom: 60px; }
  .single-page .post-body .canvassed-construction { -moz-background-size: 70% 100%; -webkit-background-size: 70% 100%; -o-background-size: 70% 100%; background-size: 70% 100%; }
}
@media (min-width: 992px) {
  .single-page .post-body .canvassed-construction { background-position: 120%; }
  .single-page .post-body .canvassed-construction { -moz-background-size: contain; -webkit-background-size: contain; -o-background-size: contain; background-size: contain; }
}
@media (min-width: 1200px) {
  .single-page .post-body .canvassed-construction { background-position: 113%; padding: 16% 0; margin-bottom: 0; }
}
.single-page .post-body .no-retail-text { margin: 38px 0 30px; }
.single-page .post-body .no-retail-text h3 { display: none; text-align: left; }
@media (min-width: 768px) {
  .single-page .post-body .no-retail-text h3 { display: block; font-weight: 400; font-size: 20px; }
}
.single-page .post-body .no-retail-text h2 { margin-bottom: 25px; text-align: left; }
.single-page .post-body .no-retail-text h2.home-page-container { color: #222; }
@media (min-width: 768px) {
  .single-page .post-body .no-retail-text h2 { margin-bottom: 0; }
}
.single-page .post-body .no-retail-text h1 { text-align: left; margin-bottom: 0; color: #222; letter-spacing: 0; }
.single-page .post-body .no-retail-text.weddings-text { margin-top: 15px; margin-bottom: 0; }
.single-page .post-body .no-retail-text.group-discount-text { margin-top: 0; }
@media (min-width: 544px) {
  .single-page .post-body .no-retail-text { margin-top: 80px; }
  .single-page .post-body .no-retail-text.weddings-text { margin-top: 15px; margin-bottom: 0; margin-left: 50px; margin-right: 50px; }
  .single-page .post-body .no-retail-text.group-discount-text { margin-top: 0; margin-left: 50px; margin-right: 50px; }
}
@media (min-width: 768px) {
  .single-page .post-body .no-retail-text { margin: 50px 0 50px 50px; }
}
@media (min-width: 992px) {
  .single-page .post-body .no-retail-text { margin: 125px 0 0 50px; }
  .single-page .post-body .no-retail-text.weddings-text { margin-top: 110px; }
  .single-page .post-body .no-retail-text.group-discount-text { margin-top: 50px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .no-retail-text { margin: 170px 0 0 90px; }
  .single-page .post-body .no-retail-text.weddings-text { margin-left: 50px; margin-right: 20px; }
}
.single-page .post-body .feel-difference { background-image: url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/images/oliverwicks-feel-the-difference-mobile-v2.jpg"); background-repeat: no-repeat; background-position: center; text-align: center; padding: 105px 10px 125px; background-size: cover; }
@media (min-width: 544px) {
  .single-page .post-body .feel-difference { padding: 150px 40px; }
}
@media (min-width: 768px) {
  .single-page .post-body .feel-difference { background-image: url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/images/oliverwicks-feel-the-difference-1920-2-v2.jpg"); background-size: auto; }
}
.single-page .post-body .feel-difference h2 { width: 100%; float: left; text-align: center; margin-top: -44px; padding-bottom: 5px; color: #fff; font-size: 24px; font-weight: 400; }
@media (min-width: 544px) {
  .single-page .post-body .feel-difference h2 { font-size: 24px; width: 60%; margin-top: -15px; margin-bottom: 5px; }
}
@media (min-width: 768px) {
  .single-page .post-body .feel-difference h2 { font-size: 32px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .feel-difference h2 { width: 38%; }
}
.single-page .post-body .feel-difference h3 { font-family: "Lora", serif; font-style: italic; font-weight: 300; text-transform: initial; font-size: 18px; color: #fff; margin-top: 0; padding: 0 0 45px 0; }
@media (min-width: 544px) {
  .single-page .post-body .feel-difference h3 { font-size: 21px; padding-top: 10px; }
}
@media (min-width: 768px) {
  .single-page .post-body .feel-difference h3 { padding: 40px 0; }
}
.single-page .post-body .feel-difference p { font-size: 16px; width: 90%; margin: 0 auto; padding-bottom: 40px; text-align: center; font-weight: 300; color: #fff; }
@media (min-width: 544px) {
  .single-page .post-body .feel-difference p { font-size: 18px; width: 80%; line-height: 27px; padding-bottom: 155px; }
}
@media (min-width: 768px) {
  .single-page .post-body .feel-difference p { padding-bottom: 130px; width: 45%; font-weight: 300; font-size: 22px; line-height: 30px; }
}
@media (min-width: 992px) {
  .single-page .post-body .feel-difference p { padding-bottom: 150px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .feel-difference p { padding-bottom: 160px; width: 37%; }
}
.single-page .post-body .feel-difference a { padding: 15px 20px; text-transform: uppercase; font-size: 14px; border: 1px solid #fff; position: relative; display: inline-block; z-index: 2; overflow: hidden; color: #fff; font-weight: 400; letter-spacing: 0.5px; }
.single-page .post-body .feel-difference a { -moz-transition: color 0.1s linear; -o-transition: color 0.1s linear; -webkit-transition: color 0.1s linear; transition: color 0.1s linear; }
.single-page .post-body .feel-difference a:hover { text-decoration: none; color: #273d62; }
.single-page .post-body .feel-difference a:after { content: ""; position: absolute; display: block; background: #fff; width: 100%; height: 100%; left: -110%; top: 0; z-index: -1; }
.single-page .post-body .feel-difference a:after { -moz-transition: all 0.3s ease 0s; -o-transition: all 0.3s ease 0s; -webkit-transition: all 0.3s ease 0s; transition: all 0.3s ease 0s; }
.single-page .post-body .feel-difference a:after { -ms-transform-origin: 100% 0; -webkit-transform-origin: 100% 0; transform-origin: 100% 0; }
.single-page .post-body .feel-difference a:hover:after { left: 0; }
@media (min-width: 1200px) {
  .single-page .post-body .feel-difference a { padding: 16px; width: 50%; }
}
.single-page .post-body .feel-difference .right-divider { display: none; }
@media (min-width: 544px) {
  .single-page .post-body .feel-difference .right-divider { position: absolute; border-left: 2px solid #fff; height: 100%; right: 0; top: 0; }
}
@media (min-width: 768px) {
  .single-page .post-body .feel-difference .right-divider { display: block; }
}
.single-page .post-body .feel-difference .left-divider { display: none; }
@media (min-width: 544px) {
  .single-page .post-body .feel-difference .left-divider { position: absolute; border-right: 2px solid #fff; height: 100%; }
}
@media (min-width: 768px) {
  .single-page .post-body .feel-difference .left-divider { display: block; }
}
.single-page .post-body .feel-difference .right-divider-top { width: 0; float: left; border-top: 2px solid #fff; }
@media (min-width: 544px) {
  .single-page .post-body .feel-difference .right-divider-top { width: 20%; }
}
@media (min-width: 1200px) {
  .single-page .post-body .feel-difference .right-divider-top { width: 31%; }
}
.single-page .post-body .feel-difference .right-divider-bottom, .single-page .post-body .feel-difference .left-divider-bottom { width: 15%; float: left; border-top: 2px solid #fff; position: relative; visibility: hidden; }
@media (min-width: 544px) {
  .single-page .post-body .feel-difference .right-divider-bottom, .single-page .post-body .feel-difference .left-divider-bottom { width: 20%; visibility: visible; }
}
@media (min-width: 768px) {
  .single-page .post-body .feel-difference .right-divider-bottom, .single-page .post-body .feel-difference .left-divider-bottom { width: 35%; }
}
.single-page .post-body .feel-difference .left-divider-top { width: 0; float: left; border-top: 2px solid #fff; }
@media (min-width: 544px) {
  .single-page .post-body .feel-difference .left-divider-top { width: 20%; }
}
@media (min-width: 1200px) {
  .single-page .post-body .feel-difference .left-divider-top { width: 31%; }
}
@media (min-width: 768px) {
  .single-page .post-body .feel-difference { padding: 120px 40px; }
}
@media (min-width: 992px) {
  .single-page .post-body .feel-difference { padding: 160px 80px; }
  .single-page .post-body .feel-difference { -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; }
}
@media (min-width: 1200px) {
  .single-page .post-body .feel-difference { padding: 180px 130px; }
  .single-page .post-body .home-page.features { margin: 60px 0; padding: 0 115px; }
}
.single-page .post-body .home-page.features .feature-one { padding-top: 80px; }
@media (min-width: 992px) {
  .single-page .post-body .home-page.features .feature-one { padding-top: 0; }
}
.single-page .post-body .features { text-align: center; margin: 0 0 40px 0; }
@media (min-width: 768px) {
  .single-page .post-body .features { margin: 0 0 60px 0; }
}
@media (min-width: 1200px) {
  .single-page .post-body .features { margin: 0 0 100px 0; padding: 0 115px; }
}
.single-page .post-body .features.features.info-section { margin-bottom: 0; padding-top: 0; }
@media (min-width: 544px) {
  .single-page .post-body .features h3 { font-size: 18px; font-weight: 700; }
}
.single-page .post-body .features h3.coupons { font-weight: 400; margin-bottom: 20px; line-height: 1.5; font-size: 16px; }
@media (min-width: 544px) {
  .single-page .post-body .features h3.coupons { font-size: 18px; font-weight: 700; }
}
@media (min-width: 768px) {
  .single-page .post-body .features h3.coupons { font-weight: 400; font-size: 18px; min-height: 45px; color: #222; }
}
@media (min-width: 1200px) {
  .single-page .post-body .features h3.coupons { font-weight: 400; font-size: 18px; min-height: 45px; color: #222; }
}
.single-page .post-body .features.info-section { padding-top: 20px; }
@media (min-width: 544px) {
  .single-page .post-body .features.info-section h3 { font-weight: 400; }
}
.single-page .post-body .features p { font-size: 16px; line-height: 24px; font-weight: 300; margin-top: 5px; }
@media (min-width: 768px) {
  .single-page .post-body .features p.coupons { line-height: 30px; margin-top: 5px; font-size: 18px; color: #222; }
  .single-page .post-body .features p { line-height: 27px; font-size: 18px; }
}
@media (min-width: 992px) {
  .single-page .post-body .features p { padding: 0 10px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .features p { font-size: 18px; padding: 0 10%; }
}
.single-page .post-body .features p a { font-weight: 600; }
.single-page .post-body .features h1.coupons { margin-bottom: 50px; }
@media (min-width: 768px) {
  .single-page .post-body .features h1.coupons { font-size: 26px; margin-top: 50px; font-weight: 300; color: #222; }
}
.single-page .post-body .features h3 { font-size: 17px; font-weight: 600; margin-bottom: 20px; }
.single-page .post-body .features h3.homepage-container { font-weight: 400; font-size: 17px; }
@media (min-width: 992px) {
  .single-page .post-body .features h3.homepage-container { line-height: 30px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .features h3.homepage-container { margin-bottom: 15px; padding: 0 6%; }
}
@media (min-width: 1500px) {
  .single-page .post-body .features h3.homepage-container { padding: 0 12%; }
}
@media (min-width: 768px) {
  .single-page .post-body .features h3.coupons { font-size: 18px; }
}
@media (min-width: 544px) {
  .single-page .post-body .features h3 { font-size: 18px; font-weight: 700; }
}
@media (min-width: 768px) {
  .single-page .post-body .features h3 { font-weight: 700; }
}
@media (min-width: 1200px) {
  .single-page .post-body .features h3 { min-height: 65px; font-weight: 400; font-size: 18px; color: #222; }
}
.single-page .post-body .features h2 { font-size: 23px; position: relative; line-height: 1.5; color: #222; margin-top: 0; }
@media (min-width: 544px) {
  .single-page .post-body .features h2 { font-size: 24px; }
  .single-page .post-body .features h2:after { content: none; }
}
@media (min-width: 768px) {
  .single-page .post-body .features h2 { font-size: 30px; }
}
.single-page .post-body .features .hw-middle-divider2-right, .single-page .post-body .features .hw-middle-divider2-left { display: none; }
@media (min-width: 544px) {
  .single-page .post-body .features .hw-middle-divider2-right, .single-page .post-body .features .hw-middle-divider2-left { width: 14%; display: block; }
}
@media (min-width: 768px) {
  .single-page .post-body .features .hw-middle-divider2-right, .single-page .post-body .features .hw-middle-divider2-left { width: 16.5%; }
}
@media (min-width: 992px) {
  .single-page .post-body .features .hw-middle-divider2-right, .single-page .post-body .features .hw-middle-divider2-left { width: 24%; }
}
@media (min-width: 1200px) {
  .single-page .post-body .features .hw-middle-divider2-right, .single-page .post-body .features .hw-middle-divider2-left { width: 29%; }
}
@media (min-width: 992px) {
  .single-page .post-body .features div h3 { font-size: 16px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .features div h3 { font-size: 20px; }
}
@media (min-width: 768px) {
  .single-page .post-body .features div.satisfaction p, .single-page .post-body .features div.shipping p { line-height: 30px; margin-top: 5px; font-size: 18px; color: #222; text-align: center; }
}
@media (min-width: 1200px) {
  .single-page .post-body .features div.satisfaction h3, .single-page .post-body .features div.shipping h3 { font-weight: 400; font-size: 18px; min-height: 45px; color: #222; }
}
.single-page .post-body .feature-one { padding-top: 0; }
@media (min-width: 992px) {
  .single-page .post-body .feature-one { padding-top: 0; }
}
.single-page .post-body .feature-one span { width: 72px; height: 66px; }
.single-page .post-body .feature-one:hover span { background-position: 0px -66px; }
.single-page .post-body .feature-one.satisfaction { padding-top: 20px; margin-top: 0; }
.single-page .post-body .feature-one.satisfaction:hover span { background-position: -104px -66px; }
.single-page .post-body .feature-one.satisfaction span { width: 80px; height: 66px; background-position: -104px 0px; }
@media (min-width: 768px) {
  .single-page .post-body .feature-one.satisfaction { padding-top: 0; }
}
.single-page .post-body .feature-one .shipping { padding-top: 0; }
.single-page .post-body .feature-one .coupons { padding-top: 0; }
@media (min-width: 768px) {
  .single-page .post-body .feature-one { margin-bottom: 30px; }
}
@media (min-width: 992px) {
  .single-page .post-body .feature-one { margin-bottom: 0; }
}
.single-page .post-body .feature-two:hover span { background-position: -104px -66px; }
.single-page .post-body .feature-two span { width: 80px; height: 66px; background-position: -104px 0px; }
.single-page .post-body .feature-two.shipping:hover span { background-position: -314px -65px; }
.single-page .post-body .feature-two.shipping span { background-position: -314px 2px; }
.single-page .post-body .feature-two.satisfaction:hover span { background-position: -480px -65px; }
.single-page .post-body .feature-two.satisfaction span { background-position: -480px 0px; }
@media (min-width: 768px) {
  .single-page .post-body .feature-two { margin-bottom: 30px; }
}
@media (min-width: 992px) {
  .single-page .post-body .feature-two { margin-bottom: 0; }
}
.single-page .post-body .feature-three span { width: 66px; height: 66px; background-position: -220px 0px; }
.single-page .post-body .feature-three:hover span { background-position: -220px -66px; }
.single-page .post-body .feature-three.satisfaction:hover span { background-position: -314px -65px; }
.single-page .post-body .feature-three.satisfaction span { background-position: -314px 2px; }
.single-page .post-body .feature-three.shipping span { background-position: -396px 0px; width: 75px; }
.single-page .post-body .feature-three.shipping:hover span { background-position: -396px -66px; }
.single-page .post-body .feature-one, .single-page .post-body .feature-two { margin-bottom: 50px; }
@media (min-width: 992px) {
  .single-page .post-body .feature-one, .single-page .post-body .feature-two { margin-bottom: 0; }
}
.single-page .post-body .feature-one:after, .single-page .post-body .feature-two:after { position: absolute; display: block; right: 0; top: 50px; width: 1px; height: 60px; background: #d9d9d9; }
@media (min-width: 992px) {
  .single-page .post-body .feature-one:after, .single-page .post-body .feature-two:after { content: ""; margin-bottom: 0; }
}
.single-page .post-body .feature-one:after, .single-page .post-body .feature-two:after { top: 97px; height: 90px; }
@media (min-width: 992px) {
  .single-page .post-body .homepage-heading { margin-bottom: 55px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .features div.satisfaction h3, .single-page .post-body .features div.shipping h3 { font-weight: 400; font-size: 18px; min-height: 45px; color: #222; }
}
@media (min-width: 768px) {
  .single-page .post-body .features h3.coupons { font-size: 18px; }
  .single-page .post-body .features div.satisfaction p, .single-page .post-body .features div.shipping p { line-height: 30px; margin-top: 5px; font-size: 18px; color: #222; text-align: center; }
}
.single-page .post-body .contact-info .feature-one, .single-page .post-body .contact-info .feature-two { margin-bottom: 0; }
.single-page .post-body a.blue-hover { display: inline-block; margin-bottom: 50px; }
.single-page .post-body .weddings-wrapper .why-us-wedding-text.no-retail-text { margin-top: 0; }
@media (min-width: 544px) {
  .single-page .post-body .weddings-wrapper .why-us-wedding-text.no-retail-text { margin-left: 50px; margin-right: 50px; }
}
@media (min-width: 992px) {
  .single-page .post-body .weddings-wrapper .why-us-wedding-text.no-retail-text { margin-top: 50px; }
}

/* ---- Store products pulled from the store API ([ow_category_products], OWP-580): the store's category grid —
   3 cards per row from tablet up, whole product photo, name / fabric line / price under it. ---- */
.post-body .owb-category { margin: 40px 0; text-align: center; }
.post-body .owb-category-title { font-family: var(--font-sans); font-weight: 300; text-transform: uppercase; color: #505050; font-size: 24px; margin: 0 0 20px; }
.post-body .owb-category-description { max-width: 640px; margin: 0 auto 30px; font-size: 14px; line-height: 1.6; color: #505050; }
.post-body .owb-category-description p { margin: 0 0 10px; }
/* The store's category card (#category-page in sass/custom.css: .container.three-in-a-row, col-xs-6 col-sm-4, img-responsive width-auto,
   .category-product-desc, .frontpage-btn.bg-black-hover.width-260): 2 per row, 3 from 768px, the photo fills its column (Bootstrap's 1170px container → 1140px of columns, 360px photos). */
.post-body .owb-products { list-style: none; margin: 0 auto; padding: 0 10px; max-width: 1140px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 20px; }
@media (min-width: 545px) { .post-body .owb-products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }   /* the store's .col-1 is full width up to 544px */
@media (min-width: 768px) { .post-body .owb-products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 992px) { .post-body .owb-products { gap: 0 30px; padding: 0; } }   /* .col-xs-6 padding 10px → 15px (outer 10px column padding below) */
.post-body .owb-product { margin: 0; padding: 0; text-align: center; }
.post-body .owb-product-media { position: relative; }
.post-body .owb-product-link { display: block; text-decoration: none; }
.post-body .owb-product-image { position: relative; display: block; margin: 0 auto; }
.post-body .owb-product-image img { display: block; width: 100%; height: auto; margin: 0; border-radius: 0; }   /* the 600px photos are always wider than a column */
.post-body .owb-product-back { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; opacity: 0; transition: opacity .6s ease-in-out; }
.post-body .owb-product-front { transition: opacity .3s ease-in-out; }
.post-body .owb-product.has-hover .owb-product-media:hover .owb-product-back,
.post-body .owb-product.has-hover .owb-product-link:focus-visible .owb-product-back { opacity: 1; }
.post-body .owb-product.has-hover .owb-product-media:hover .owb-product-front,
.post-body .owb-product.has-hover .owb-product-link:focus-visible .owb-product-front { opacity: 0; }
@media (prefers-reduced-motion: reduce) { .post-body .owb-product-back, .post-body .owb-product-front { transition: none; } }
/* CUSTOMIZE NOW / Get Express Fabric Samples: desktop only (the store's .visible-desktop), shown with the hover image */
.post-body .owb-product-actions { display: none; }
@media (min-width: 1200px) {
  .post-body .owb-product-actions { display: flex; flex-direction: column; align-items: center; gap: 20px; position: absolute; left: 0; right: 0; top: calc(50% - 78px); opacity: 0; pointer-events: none; transition: opacity .6s ease-in-out; }
  .post-body .owb-product-media:hover .owb-product-actions { opacity: 1; pointer-events: auto; }
}
.post-body .owb-product-btn { position: relative; z-index: 0; overflow: hidden; display: block; width: 260px; max-width: 90%; height: 44px; line-height: 44px; background: #fff; color: #222; border: 1px solid transparent; font-size: 13px; letter-spacing: .5px; text-transform: uppercase; text-decoration: none; text-align: center; }
.post-body .owb-product-btn::after { content: ""; position: absolute; z-index: -1; top: 0; left: -110%; width: 100%; height: 100%; background: #222; transition: left .3s ease 0s; }
.post-body .owb-product-btn:hover { color: #fff; border-color: #fff; text-decoration: none; }
.post-body .owb-product-btn:hover::after { left: 0; }
/* phone / tablet circles (#category-page .image-wrapper .fabric-circle: 70px, 11px uppercase, .top-35-p .right);
   "Show Fabric" below 768px, "GET SAMPLES" below 1200px — display:none where the store hides them, so nothing hidden stays focusable */
.post-body .owb-product.is-fabric .owb-product-back { opacity: 1; }
.post-body .owb-product.is-fabric .owb-product-front { opacity: 0; }
.post-body .owb-product-circles { position: absolute; top: 35%; right: 0; z-index: 3; display: flex; flex-direction: column; align-items: flex-end; }
.post-body .owb-product-circle { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 70px; height: 70px; margin: 0 0 4px; padding: 4px; border: 1px solid #222; border-radius: 50%; background: #222; color: #fff; font: 300 11px/1.2 var(--font-sans, "Open Sans", sans-serif); text-transform: uppercase; text-align: center; text-decoration: none; cursor: pointer; }
.post-body .owb-product-circle--samples { background: #fff; color: #222; }
.post-body .owb-product-circle:hover { text-decoration: none; }
.post-body .owb-product-circle:focus-visible { outline: 2px solid #005fcc; outline-offset: 2px; }
@media (min-width: 768px) { .post-body .owb-product-circle--fabric { display: none; } .post-body .owb-product-circle--samples { margin-top: 74px; } }   /* the store keeps the hidden circle's slot */
@media (min-width: 1200px) { .post-body .owb-product-circles { display: none; } }
.post-body .owb-product-desc { display: block; max-width: 300px; min-height: 150px; margin: 0 auto; font-size: 14px; line-height: 20px; text-align: left; text-decoration: none; color: #222; }
.post-body .owb-product-desc:hover .owb-product-name { text-decoration: underline; }
.post-body .owb-product-name { display: block; text-transform: uppercase; }
.post-body .owb-product-subtitle, .post-body .owb-product-price { display: block; color: #505050; }
.post-body .owb-products-empty { margin: 30px 0; }

/* ---- suit-fabrics (mills + swatches) and the weddings Yotpo block: rules extracted from the compiled store stylesheet
   (pages/italian-mills/_italian-mills.scss, homepage yotpo), scoped to the page body — same method as the landing pages. ---- */
.single-page .post-body .review-carousel { height: 200px; }
@media (min-width: 768px) {
  .single-page .post-body .review-carousel { min-height: 200px; height: auto; }
  .single-page .post-body .review-carousel .carousel-inner { height: 200px; position: relative; overflow: hidden; width: 100%; }
  .single-page .post-body .review-carousel .review-slider { vertical-align: middle; }
  .single-page .post-body .review-carousel .carousel .item { height: 200px; }
  .single-page .post-body .review-carousel .inner-container { width: 100%; position: absolute; top: 50%; margin-bottom: 50%; }
  .single-page .post-body .review-carousel .inner-container { -ms-transform: translate(0, -50%); -webkit-transform: translate(0, -50%); transform: translate(0, -50%); -moz-transform: translate(0, -50%); -o-transform: translate(0, -50%); }
  .single-page .post-body .review-carousel .review-writer-slider { line-height: 30px; font-family: "Lora", serif; font-style: italic; font-size: 17px; color: #4d4d4d; }
  .single-page .post-body .review-carousel .review-slider { font-weight: 300; font-size: 20px; line-height: 30px; color: #1a436e; vertical-align: middle; }
  .single-page .post-body .review-carousel .carousel.fade { opacity: 1; }
  .single-page .post-body .review-carousel .carousel.fade .vertical-align .item { left: 0 !important; opacity: 0; top: 0; position: absolute; width: 100%; display: block !important; z-index: 1; }
  .single-page .post-body .review-carousel .carousel.fade .vertical-align .item { -moz-transition: opacity ease-in-out 0.9s; -o-transition: opacity ease-in-out 0.9s; -webkit-transition: opacity ease-in-out 0.9s; transition: opacity ease-in-out 0.9s; }
  .single-page .post-body .review-carousel .carousel.fade .vertical-align .item:first-child { top: auto; position: relative; }
  .single-page .post-body .review-carousel .carousel.fade .vertical-align .item.active { opacity: 1; z-index: 2; height: 190px; }
  .single-page .post-body .review-carousel .carousel.fade .vertical-align .item.active { -moz-transition: opacity ease-in-out 0.9s; -o-transition: opacity ease-in-out 0.9s; -webkit-transition: opacity ease-in-out 0.9s; transition: opacity ease-in-out 0.9s; }
}
.single-page .post-body .review-carousel .review-slider { font-family: "Open Sans", sans-serif; }
@media (min-width: 768px) {
  .single-page .post-body .review-carousel .review-slider { padding-bottom: 15px; }
}
.single-page .post-body .home-page-yotpo { overflow: hidden; min-height: max-content; max-height: 330px; }
@media (min-width: 991px) and (max-width: 1310px) {
  .single-page .post-body .home-page-yotpo { max-height: 350px; }
}
.single-page .post-body .home-page-yotpo .yotpo-skeleton-loader { display: flex; justify-content: space-between; padding: 65px 0; }
.single-page .post-body .mills-image-mobile { background: rgba(0, 0, 0, 0) url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/img/fabrics-3-pieces-for-mills-background.jpg") no-repeat scroll 75% 68%/auto 100%; display: block; height: 300px; padding: 0; }
.single-page .post-body .mills-image-mobile { background: rgba(0, 0, 0, 0) url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/img/fabrics-3-pieces-for-mills-background.jpg") no-repeat scroll 75% 68%/auto 100%; display: block; height: 300px; padding: 0; }
.single-page .post-body .mills-main { background: url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/img/fabrics-3-pieces-for-mills-background.jpg") no-repeat 60% 73%; background: transparent; padding-top: 25px; }
.single-page .post-body .mills-main { -moz-background-size: auto 100%; -webkit-background-size: auto 100%; -o-background-size: auto 100%; background-size: auto 100%; }
@media (min-width: 768px) {
  .single-page .post-body .mills-main { background: url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/img/fabrics-3-pieces-for-mills-background.jpg") no-repeat 48% 50%; padding-top: 50px; }
  .single-page .post-body .mills-main { -moz-background-size: auto 85%; -webkit-background-size: auto 85%; -o-background-size: auto 85%; background-size: auto 85%; }
}
@media (min-width: 1200px) {
  .single-page .post-body .mills-main { background-position: 50% 63%; }
}
.single-page .post-body .mills-top h1 { text-transform: uppercase; color: #222; font-size: 18px; font-weight: 400; text-align: center; line-height: 1.5; letter-spacing: 0.5px; }
@media (min-width: 768px) {
  .single-page .post-body .mills-top h1 { font-size: 24px; font-weight: 300; line-height: 1.3; text-align: left; }
}
.single-page .post-body .mills-top p { color: #222; font-weight: 300; font-size: 18px; padding-top: 15px; }
@media (min-width: 544px) {
  .single-page .post-body .mills-top p { font-weight: 200; font-size: 22px; padding-top: 30px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .mills-top p { font-weight: 300; font-size: 20px; padding-top: 30px; }
}
.single-page .post-body .mills-top p:first-of-type { font-size: 16px; font-weight: 300; padding-top: 25px; padding-bottom: 20px; }
@media (min-width: 768px) {
  .single-page .post-body .mills-top p:first-of-type { font-size: 16px; line-height: 1.5; padding-bottom: 0; margin-bottom: 0; }
}
@media (min-width: 1200px) {
  .single-page .post-body .mills-top { width: 77%; }
}
@media (min-width: 768px) {
  .single-page .post-body .mills-tablet.col-xs-12 { width: 50%; }
}
.single-page .post-body .mills-buttons { text-align: center; }
.single-page .post-body .mills-buttons .swatches-box:first-child { padding-bottom: 20px; }
@media (min-width: 544px) {
  .single-page .post-body .mills-buttons .swatches-box.mobile-right-divider { padding-right: 0; }
}
@media (min-width: 768px) {
  .single-page .post-body .mills-buttons .swatches-box.mobile-right-divider { padding-right: 10px; }
  .single-page .post-body .mills-buttons .swatches-box { padding: 0; }
}
@media (min-width: 1200px) {
  .single-page .post-body .mills-buttons { width: 77%; }
}
.single-page .post-body .buttons-title { color: #777777; font-family: "Lora", serif; font-size: 20px; font-style: italic !important; font-weight: 400; padding: 30px 0 5px; text-align: center; margin-bottom: 30px; }
@media (min-width: 768px) {
  .single-page .post-body .buttons-title { font-style: italic !important; padding: 35px 0 35px; text-align: center; margin-bottom: 0; }
}
.single-page .post-body .swatches-title { font-size: 16px; color: #222; font-weight: 400; text-transform: uppercase; }
@media (min-width: 544px) {
  .single-page .post-body .free-swatches-info-box { border-right: 1px solid #d1d1d1; }
}
@media (min-width: 768px) {
  .single-page .post-body .free-swatches-info-box { border-right: none; }
}
@media (min-width: 1200px) {
  .single-page .post-body .free-swatches-info-box { border-right: 1px solid #d1d1d1; }
}
@media (min-width: 768px) {
  .single-page .post-body .swatches-info, .single-page .post-body .swatches-delivery { height: auto; }
}
.single-page .post-body .swatches-info { height: 70px; }
@media (min-width: 1200px) {
  .single-page .post-body .swatches-info { height: 70px; }
}
.single-page .post-body .swatches-delivery { height: 70px; }
@media (min-width: 1200px) {
  .single-page .post-body .swatches-delivery { height: 70px; }
}
.single-page .post-body .swatches-divider { display: block; margin: 50px auto 20px; border-bottom: 1px solid #e6e6e6; height: 1px; width: 90%; }
@media (min-width: 544px) {
  .single-page .post-body .swatches-divider { display: none; }
}
@media (min-width: 768px) {
  .single-page .post-body .swatches-divider { display: block; }
}
@media (min-width: 1200px) {
  .single-page .post-body .swatches-divider { display: none; }
}
.single-page .post-body .swatches-info, .single-page .post-body .swatches-delivery, .single-page .post-body .swatches-price { margin: 0 auto; width: 250px; padding-top: 15px; color: #222; font-size: 16px; font-weight: 300; line-height: 1.5; }
@media (min-width: 544px) {
  .single-page .post-body .swatches-info, .single-page .post-body .swatches-delivery, .single-page .post-body .swatches-price { padding: 0 40px; margin-top: 30px; }
}
@media (min-width: 768px) {
  .single-page .post-body .swatches-info, .single-page .post-body .swatches-delivery, .single-page .post-body .swatches-price { margin: 30px auto 0; font-size: 15px; padding: 0 35px; }
}
.single-page .post-body .new-swatches-btn { margin: 30px auto 0; display: block; line-height: 60px; color: #fff; background-color: gray; text-transform: uppercase; text-decoration: none; font-size: 18px; font-weight: 300; width: 100%; }
@media (min-width: 544px) {
  .single-page .post-body .new-swatches-btn { width: 75%; }
}
.single-page .post-body .new-swatches-btn.new-free-swatches-btn { background-color: #273d62; }
.single-page .post-body .new-swatches-btn.new-express-swatches-btn { background-color: #0a4b65; }
.single-page .post-body .new-swatches-btn.new-express-swatches-btn-size { width: 70%; }
@media (min-width: 768px) {
  .single-page .post-body .new-swatches-btn.new-express-swatches-btn-size { width: 50%; }
}
.single-page .post-body a.new-swatches-btn:hover, .single-page .post-body a.new-swatches-btn:focus { text-decoration: none; color: #dedede; }
.single-page .post-body .mills-middle-title { padding-left: 0; padding-right: 0; font-size: 30px; margin: 50px 0 10px; }
.single-page .post-body .mills-middle-title h2 { text-align: center; float: left; padding: 0; margin: 0 auto; position: relative; width: 100%; font-size: 24px; font-weight: 300; color: #505050; }
.single-page .post-body .mills-middle-title h2:before { bottom: 37px; }
.single-page .post-body .mills-middle-title h2:after { bottom: -12px; }
.single-page .post-body .mills-middle-title h2:before, .single-page .post-body .mills-middle-title h2:after { background: none repeat scroll 0 0 rgb(80, 80, 80); content: ""; display: block; left: 50%; margin-left: -8px; position: absolute; height: 1px; width: 25px; }
@media (min-width: 544px) {
  .single-page .post-body .mills-middle-title h2:before, .single-page .post-body .mills-middle-title h2:after { display: none; }
  .single-page .post-body .mills-middle-title h2 { text-align: center; float: left; width: 40%; padding: 0; margin-top: -14px; font-size: 24px; font-weight: 300; color: #222; }
}
@media (min-width: 768px) {
  .single-page .post-body .mills-middle-title h2 { width: 30%; }
}
@media (min-width: 1200px) {
  .single-page .post-body .mills-middle-title h2 { width: 20%; }
}
@media (min-width: 544px) {
  .single-page .post-body .mills-middle-title { margin: 70px 0 20px; padding-left: 0; padding-right: 0; }
}
@media (min-width: 1200px) {
  .single-page .post-body .mills-middle-title { margin: 100px 0 70px; }
}
.single-page .post-body .mills-middle { margin-top: 30px; position: relative; }
.single-page .post-body .mills-middle .hw-middle-divider2 { width: 40%; display: none; float: left; border-bottom: 1px solid #e3e3e3; position: relative; }
@media (min-width: 544px) {
  .single-page .post-body .mills-middle .hw-middle-divider2 { display: block; width: 30%; }
}
@media (min-width: 768px) {
  .single-page .post-body .mills-middle .hw-middle-divider2 { width: 35%; }
}
@media (min-width: 1200px) {
  .single-page .post-body .mills-middle .hw-middle-divider2 { width: 40%; }
}
.single-page .post-body .mills-middle .hw-middle-divider2 .square-icon { position: absolute; top: -5px; color: #e3e3e3; }
.single-page .post-body .mills-middle .hw-middle-divider2.left .square-icon { right: 0; }
.single-page .post-body .mills-middle .hw-middle-divider2.right .square-icon { left: 0; }
.single-page .post-body .mill { padding-bottom: 15px; }
.single-page .post-body .mills-bottom { margin: 50px 0; }
@media (min-width: 1200px) {
  .single-page .post-body .mills-bottom { margin: 30px 0 50px; }
}
.single-page .post-body .mills-logo img { margin: 0 auto; padding-bottom: 15px; }
.single-page .post-body .mills-bottom-text { margin: 0 auto; font-weight: 300; font-size: 16px; line-height: 1.5; padding: 15px 0 40px; }
@media (min-width: 544px) {
  .single-page .post-body .mills-bottom-text { padding-right: 20px; padding-left: 20px; }
}
@media (min-width: 768px) {
  .single-page .post-body .mills-bottom-text { font-size: 16px; font-weight: 300; line-height: 1.5; padding: 15px 20px 40px 20px; }
}

/* ---- quality-custom-suits (OWP-626 → in WordPress 2026-11-08): rules extracted from the compiled store stylesheet
   (pages/made-in-europe/_made-in-europe.scss, homepage) for the page's classes, scoped to the page body; duplicates of the
   landing-page extraction skipped. ---- */
.single-page .post-body .desktop-video video { display: block; width: 100%; height: auto; }
.single-page .post-body .ow-hero-video-toggle { position: absolute; right: 20px; bottom: 20px; z-index: 109; background: rgba(0, 0, 0, 0.7); color: #fff; border: 1px solid #fff; border-radius: 3px; padding: 9px 14px; font: 600 14px/1 "Open Sans", sans-serif; cursor: pointer; }
.single-page .post-body .ow-hero-video-toggle:hover { background: #273d62; }
.single-page .post-body .ow-hero-video-toggle:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
/* Bootstrap container gutter (15px) for the page's own containers: the landing-page width rule above narrows .container to 10px, which lets the -15px .row margins overflow the viewport on phones. */
.single-page .post-body .made-in-europe-wrapper.container, .single-page .post-body .made-in-europe-wrapper .container { padding-left: 15px; padding-right: 15px; }
.single-page .post-body .european-style { background: none; padding: 38px 0 30px; }
.single-page .post-body .european-style h1, .single-page .post-body .european-style h2 { font-size: 23px; }
.single-page .post-body .european-style h3 { font-weight: 700; font-size: 16px; padding-bottom: 30px; }
.single-page .post-body .european-style p { font-weight: 300; font-size: 16px; line-height: 24px; }
@media (min-width: 768px) {
  .single-page .post-body .european-style h1, .single-page .post-body .european-style h2 { font-size: 32px; }
  .single-page .post-body .european-style h3 { font-size: 20px; padding-bottom: 50px; }
  .single-page .post-body .european-style p { font-size: 20px; line-height: 30px; }
}
@media (min-width: 992px) {
  .single-page .post-body .european-style { padding: 42px 0 160px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .european-style { padding: 0 0 19%; }
}
.single-page .post-body .desktop-video { display: none; }
@media (min-width: 768px) {
  .single-page .post-body .desktop-video { display: block; position: relative; }
}
.single-page .post-body .desktop-video.made-in-europe { display: none; }
@media (min-width: 768px) {
  .single-page .post-body .desktop-video.made-in-europe { position: relative; width: 100%; overflow: hidden; display: block; }
}
@media (min-width: 768px) {
  .single-page .post-body .desktop-video.made-in-europe { max-height: 680px; }
  .single-page .post-body .desktop-video.made-in-europe video { margin-top: -50px; }
}
.single-page .post-body .get-started-video-text-container { position: absolute; z-index: 108; top: 50%; margin-bottom: -50%; }
.single-page .post-body .get-started-video-text-container { -ms-transform: translate(0, -50%); -webkit-transform: translate(0, -50%); transform: translate(0, -50%); -moz-transform: translate(0, -50%); -o-transform: translate(0, -50%); }
.single-page .post-body .slide-pattern { background: url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/img/pattern.png") center; max-width: 100%; width: 100%; height: 100%; z-index: 107; position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; }
.single-page .post-body .slide-pattern { -ms-transform: translateZ(0.4px); -webkit-transform: translateZ(0.4px); transform: translateZ(0.4px); -moz-transform: translateZ(0.4px); -o-transform: translateZ(0.4px); }
.single-page .post-body .desktop-video.made-in-europe video { margin-top: -50px; }
@media (min-width: 992px) {
  .single-page .post-body .desktop-video.made-in-europe video { margin-top: -65px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .desktop-video.made-in-europe video { margin-top: -192px; }
}
.single-page .post-body .why-us-slider-title { font-size: 70px; color: #fff; font-weight: 700; font-family: "Open Sans", sans-serif; text-transform: uppercase; letter-spacing: 15px; text-align: center; text-shadow: 0 2px 2px rgba(0, 0, 0, 0.7); }
@media (min-width: 768px) {
  .single-page .post-body .why-us-slider-title { font-size: 40px; }
}
@media (min-width: 992px) {
  .single-page .post-body .why-us-slider-title { font-size: 60px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .why-us-slider-title { font-size: 70px; }
}
.single-page .post-body .why-us-slider-text1 { top: 400px; font-size: 55px; color: #fff; font-weight: 400; font-family: "Lora", serif; letter-spacing: 3px; font-style: italic; }
@media (min-width: 768px) {
  .single-page .post-body .why-us-slider-text1 { font-size: 25px; }
}
@media (min-width: 992px) {
  .single-page .post-body .why-us-slider-text1 { font-size: 45px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .why-us-slider-text1 { font-size: 45px; line-height: 1.6; }
}
.single-page .post-body .why-us-slider-text2 { top: 470px; font-size: 40px; color: #fff; font-weight: 500; font-family: "Open Sans", sans-serif; text-transform: uppercase; }
@media (min-width: 768px) {
  .single-page .post-body .why-us-slider-text2 { font-size: 20px; }
}
@media (min-width: 992px) {
  .single-page .post-body .why-us-slider-text2 { font-size: 30px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .why-us-slider-text2 { font-size: 50px; line-height: 1.6; }
}
.single-page .post-body #measuresForm #getStarted .col-video .desktop-video { display: block; }
.single-page .post-body #measuresForm #getStarted .col-video .desktop-video .title { color: #fff; text-transform: uppercase; letter-spacing: 0.8px; text-shadow: 0 2px 2px rgba(0, 0, 0, 0.7); text-align: center; margin: 0 0 10px 0; font-size: 18px; }
@media (min-width: 768px) {
  .single-page .post-body #measuresForm #getStarted .col-video .desktop-video .title { margin: 0 auto 30px; font-size: 32px; font-weight: 700; }
}
.single-page .post-body #measuresForm #getStarted .col-video .desktop-video .text { margin: 0 auto; color: #fff; font-weight: 400; font-size: 14px; line-height: 14px; width: 100%; text-align: center; }
@media (min-width: 768px) {
  .single-page .post-body #measuresForm #getStarted .col-video .desktop-video .text { font-size: 20px; line-height: 25px; width: 90%; font-weight: 300; }
}
@media (min-width: 1200px) {
  .single-page .post-body #measuresForm #getStarted .col-video .desktop-video .text { font-size: 22px; line-height: 30px; width: 75%; }
}
.single-page .post-body .weddings-wrapper .no-retail-cost { padding: 30px 0 20px; }
@media (min-width: 544px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost { font-size: 20px; }
}
@media (min-width: 768px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost { padding: 50px 0 40px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost { padding: 70px 0 60px; font-size: 22px; font-weight: 300; }
}
.single-page .post-body .weddings-wrapper .no-retail-cost p { padding-top: 10px; font-weight: 300; font-size: 17px; }
@media (min-width: 768px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost p { padding-top: 25px; font-size: 22px; font-weight: 200; }
}
.single-page .post-body .weddings-wrapper .no-retail-cost li { font-size: 17px; }
@media (min-width: 768px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost li { font-size: 22px; font-weight: 200; }
}
.single-page .post-body .weddings-wrapper .no-retail-cost.group-discount-button { padding-top: 0; }
@media (min-width: 544px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost.group-discount-button { margin-left: 50px; margin-right: 50px; }
}
@media (min-width: 992px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost.group-discount-button { padding-top: 40px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost.group-discount-button .group-button { width: 70%; }
}
.single-page .post-body .weddings-wrapper .no-retail-cost li.diamonds { color: #222; margin: 0 0 5px; position: relative; list-style: none; font-weight: 300; padding-top: 0; }
@media (min-width: 768px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost li.diamonds { font-weight: 200; padding-top: 2px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost li.diamonds { padding-top: 10px; }
}
.single-page .post-body .weddings-wrapper .no-retail-cost li.diamonds:before { content: ""; height: 5px; width: 5px; background: #e6e6e6; display: block; position: absolute; top: 9px; left: 1px; }
.single-page .post-body .weddings-wrapper .no-retail-cost li.diamonds:before { -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); }
@media (min-width: 544px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost li.diamonds:before { height: 6px; width: 6px; }
}
@media (min-width: 768px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost li.diamonds:before { height: 7px; width: 7px; top: 13px; }
}
@media (min-width: 992px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost li.diamonds:before { height: 8px; width: 8px; top: 12px; left: 2px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .weddings-wrapper .no-retail-cost li.diamonds:before { top: 20px; }
}
.single-page .post-body .made-in-europe-wrapper .no-retail-cost { padding: 30px 0 20px; }
@media (min-width: 544px) {
  .single-page .post-body .made-in-europe-wrapper .no-retail-cost { font-size: 20px; }
}
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .no-retail-cost { padding: 50px 0 40px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .made-in-europe-wrapper .no-retail-cost { padding: 70px 0 60px; font-size: 22px; font-weight: 300; }
}
.single-page .post-body .made-in-europe-wrapper .no-retail-cost p { padding-top: 10px; font-weight: 300; font-size: 17px; }
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .no-retail-cost p { padding-top: 25px; font-size: 22px; font-weight: 200; }
}
.single-page .post-body .made-in-europe-wrapper .no-retail-cost li { font-size: 17px; }
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .no-retail-cost li { font-size: 22px; font-weight: 200; }
}
.single-page .post-body .made-in-europe-wrapper .no-retail-cost.group-discount-button { padding-top: 0; }
@media (min-width: 544px) {
  .single-page .post-body .made-in-europe-wrapper .no-retail-cost.group-discount-button { margin-left: 50px; margin-right: 50px; }
}
@media (min-width: 992px) {
  .single-page .post-body .made-in-europe-wrapper .no-retail-cost.group-discount-button { padding-top: 40px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .made-in-europe-wrapper .no-retail-cost.group-discount-button .group-button { width: 70%; }
}
.single-page .post-body .made-in-europe-wrapper .best-mills { background: url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/img/mills.jpg") no-repeat scroll 0 0 rgba(0, 0, 0, 0); padding: 20px 0; }
.single-page .post-body .made-in-europe-wrapper .best-mills { -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; }
@media (min-width: 544px) {
  .single-page .post-body .made-in-europe-wrapper .best-mills { padding: 20px 0; }
}
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .best-mills { padding: 40px 0; }
}
.single-page .post-body .made-in-europe-wrapper .best-mills h2, .single-page .post-body .made-in-europe-wrapper .we-are-first h2 { color: #fff; font-family: "Lora", serif; font-weight: 500; text-transform: inherit; text-shadow: 0 2px 2px rgba(0, 0, 0, 0.7); padding: 30px 0; font-size: 25px; }
@media (min-width: 544px) {
  .single-page .post-body .made-in-europe-wrapper .best-mills h2, .single-page .post-body .made-in-europe-wrapper .we-are-first h2 { padding: 30px 0; font-size: 36px; }
}
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .best-mills h2, .single-page .post-body .made-in-europe-wrapper .we-are-first h2 { padding: 40px 0; font-size: 50px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .made-in-europe-wrapper .best-mills h2, .single-page .post-body .made-in-europe-wrapper .we-are-first h2 { padding: 60px 0; font-size: 55px; }
}
.single-page .post-body .made-in-europe-wrapper .best-mills p, .single-page .post-body .made-in-europe-wrapper .we-are-first p { color: #fff; font-weight: 300; text-shadow: 0 2px 2px rgba(0, 0, 0, 0.7); font-size: 17px; padding: 5px 40px; }
@media (min-width: 544px) {
  .single-page .post-body .made-in-europe-wrapper .best-mills p, .single-page .post-body .made-in-europe-wrapper .we-are-first p { font-size: 22px; padding: 10px 50px; }
}
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .best-mills p, .single-page .post-body .made-in-europe-wrapper .we-are-first p { font-size: 22px; padding-bottom: 30px; width: 60%; margin: 0 auto; line-height: 1.6; }
}
@media (min-width: 1200px) {
  .single-page .post-body .made-in-europe-wrapper .best-mills p, .single-page .post-body .made-in-europe-wrapper .we-are-first p { width: 50%; font-size: 24px; font-weight: 300; line-height: 1.6; }
}
.single-page .post-body .made-in-europe-wrapper .we-are-first-text, .single-page .post-body .made-in-europe-wrapper .best-mills-text { margin: 0 auto; text-align: center; padding-bottom: 30px; }
.single-page .post-body .made-in-europe-wrapper .we-are-first { background: url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/img/full-integration.jpg") no-repeat scroll 0 0 rgba(0, 0, 0, 0); padding: 15px 0; }
.single-page .post-body .made-in-europe-wrapper .we-are-first { -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; }
@media (min-width: 544px) {
  .single-page .post-body .made-in-europe-wrapper .we-are-first { padding: 15px 0; }
}
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .we-are-first { padding: 60px 0; }
}
.single-page .post-body .made-in-europe-wrapper .unparalleled-service { padding: 60px 0 0; text-align: center; }
@media (min-width: 1200px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-service { padding: 120px 0; }
}
.single-page .post-body .made-in-europe-wrapper .unparalleled-service p { text-align: center; font-size: 17px; padding-top: 15px; font-weight: 300; }
@media (min-width: 544px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-service p { padding-top: 20px; }
}
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-service p { font-size: 22px; padding-top: 25px; font-weight: 300; }
}
@media (min-width: 1200px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-service p { font-size: 22px; font-weight: 300; line-height: 1.6; }
}
.single-page .post-body .made-in-europe-wrapper .unparalleled-service img { margin: 0 auto; }
@media (min-width: 1200px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-service img { max-width: 60%; height: auto; padding-top: 10px; }
}
.single-page .post-body .made-in-europe-wrapper .unparalleled-service h2 { margin-bottom: 25px; }
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-service h2 { margin-bottom: 0; }
}
.single-page .post-body .made-in-europe-wrapper .unparalleled-bottom { width: 60%; margin: 0 auto; }
@media (min-width: 544px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-bottom { padding-bottom: 20px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-bottom { padding: 0 15px; }
}
.single-page .post-body .made-in-europe-wrapper .unparalleled-bottom p { text-transform: capitalize; font-family: "Lora", serif; font-weight: 500; font-style: italic; display: inline-block; font-size: 17px; padding: 15px 0 0; }
.single-page .post-body .made-in-europe-wrapper .unparalleled-bottom p:before { content: ""; display: inline-block; width: 16px; height: 12px; background: url("https://d49ohm0ne1s0e.cloudfront.net/layouts/dragon/images/homepage-ornaments.png") no-repeat; background-position: -48px -35px; }
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-bottom p:before { width: 16px; height: 16px; }
}
@media (min-width: 544px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-bottom p { padding: 22px 5px 0; }
}
@media (min-width: 768px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-bottom p { font-size: 20px; padding: 33px 5px 0 0; }
}
@media (min-width: 992px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-bottom p { font-size: 21px; }
}
@media (min-width: 1200px) {
  .single-page .post-body .made-in-europe-wrapper .unparalleled-bottom p { font-size: 22px; padding: 25px 15px 0; }
}

/* ---- Measuring-video modal (sizing-info pages; assets/js/video-modal.js, 2026-11-08). The ZF1 Bootstrap modal replaced
   by a small accessible dialog: 16:9 player, max 900px like the store's #sizing-info-modal .container. ---- */
.post-body .video-link.owb-video-trigger { cursor: pointer; display: inline-block; border-radius: 50%; }
.post-body .video-link.owb-video-trigger:focus-visible { outline: 3px solid var(--ow-navy); outline-offset: 3px; }
.owb-video-modal { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.owb-video-modal[hidden] { display: none; }
.owb-video-modal__backdrop { position: absolute; inset: 0; background: rgba(10, 20, 40, 0.85); }
.owb-video-modal__dialog { position: relative; width: 100%; max-width: 900px; background: #000; border-radius: 4px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); }
.owb-video-modal__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; background: var(--ow-navy); color: #fff; border-radius: 4px 4px 0 0; }
.owb-video-modal__title { font-family: var(--font-sans, inherit); font-size: 15px; font-weight: 600; }
.owb-video-modal__close { background: transparent; color: #fff; border: 1px solid #fff; border-radius: 3px; padding: 6px 12px; font: 600 14px/1 inherit; cursor: pointer; }
.owb-video-modal__close:hover { background: #fff; color: var(--ow-navy); }
.owb-video-modal__close:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.owb-video-modal__frame { aspect-ratio: 16 / 9; width: 100%; background: #000; }
.owb-video-modal__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
body.owb-video-modal-open { overflow: hidden; }


/* Prices the browser re-reads in the visitor's region (store-chrome.js): the weddings grid ($799 → €795) and the starter kit
 * on suit-fabrics ($9 → €8). Until then a skeleton bar the size of the price instead of a price that then changes
 * ([data-owb-pending], removed when the request settles; the server-side price stays when it fails). The two variants of
 * each price are the same width, so nothing moves. Without JavaScript the price shows after 3 s. */
@keyframes owb-reveal { to { color: inherit; background-color: transparent; } }
@keyframes owb-reveal-grid-price { to { color: #505050; background-color: transparent; } }   /* .owb-product-price's own colour */
@keyframes owb-pulse { from { background-color: #e6e6e6; } to { background-color: #f4f4f4; } }
.post-body .owb-products[data-owb-pending] .owb-product-price,
[data-ow-starter-kit-price][data-owb-pending] {
  color: transparent; background-color: #e6e6e6; border-radius: 3px; animation: owb-reveal 0s linear 3s forwards;
}
.post-body .owb-products[data-owb-pending] .owb-product-price { width: fit-content; animation-name: owb-reveal-grid-price; }
@media (prefers-reduced-motion: no-preference) {
  [data-ow-starter-kit-price][data-owb-pending] { animation: owb-pulse 1s ease-in-out infinite alternate, owb-reveal 0s linear 3s forwards; }
  .post-body .owb-products[data-owb-pending] .owb-product-price { animation: owb-pulse 1s ease-in-out infinite alternate, owb-reveal-grid-price 0s linear 3s forwards; }
}
