/* Sopwith editable homepage. Scoped to the dedicated page template and editor documents. */
body.sopwith-homepage { margin:0; background:#f5f1e9; color:#23262b; font-family:Arial,Helvetica,sans-serif; }
body.sopwith-homepage * { box-sizing:border-box; }
body.sopwith-homepage .elementor-section .elementor-container { max-width:1440px; }
body.sopwith-homepage .elementor-column-gap-default>.elementor-column>.elementor-element-populated { padding:0; }
body.sopwith-homepage .elementor-widget { margin-bottom:0; }
body.sopwith-homepage .elementor-widget-wrap { align-content:flex-start; }
body.sopwith-homepage .elementor-heading-title, .sp-collection-title .elementor-heading-title { font-family:Georgia,'Times New Roman',serif; font-weight:400; color:#101c2d; line-height:1.12; }
body.sopwith-homepage .elementor-text-editor p, body.sopwith-homepage .elementor-widget-text-editor p { margin:0; }
body.sopwith-homepage a { color:inherit; }
body.sopwith-homepage a:focus-visible,body.sopwith-homepage button:focus-visible,body.sopwith-homepage input:focus-visible { outline:3px solid #b39a64; outline-offset:4px; }
.sp-skip-link { position:absolute; left:12px; top:-80px; z-index:9999; padding:14px 20px; background:#fff; color:#101c2d; }
.sp-skip-link:focus { top:12px; }
.sp-header { background:#101c2d; color:#f5f1e9; border-bottom:2px solid #b39a64; padding:12px 5.4%; }
.sp-header>.elementor-container { align-items:center; }
.sp-header .elementor-widget-wrap { align-items:center; align-content:center; }
.sp-logo { text-align:left; }
.sp-logo img { width:170px!important; height:auto!important; display:block; }
.sp-navigation ul,.sp-actions ul,.sp-footer-navigation ul,.sp-footer-legal ul { margin:0!important; padding:0!important; list-style:none; }
.sp-navigation .elementor-icon-list-items { display:flex; justify-content:center; flex-wrap:wrap; gap:30px; }
.sp-navigation .elementor-icon-list-item a { color:#f5f1e9!important; font-size:12px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; padding:9px 0; }
.sp-navigation .elementor-icon-list-item:first-child a { border-bottom:2px solid #b39a64; }
.sp-navigation .elementor-icon-list-icon:empty { display:none; }
.sp-actions .elementor-icon-list-items { display:flex; justify-content:flex-end; gap:24px; }
.sp-actions .elementor-icon-list-icon i { font-size:22px; color:#f5f1e9; }
.sp-actions .elementor-icon-list-text { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.sp-hero { background-color:#101c2d; }
.sp-hero>.elementor-container { min-height:clamp(330px,41.3vw,740px); align-items:center; }
.sp-hero-copy { padding:6% 0 6% 5.4%; }
.sp-eyebrow .elementor-heading-title { font-family:Arial,Helvetica,sans-serif!important; font-size:13px; line-height:1.5; text-transform:uppercase; letter-spacing:5px; color:#b39a64!important; }
.sp-hero-title { margin:16px 0 26px!important; }
.sp-hero-title .elementor-heading-title { color:#fff!important; font-size:clamp(32px,4.5vw,76px); letter-spacing:-1.6px; }
.sp-outline .elementor-button { background:rgba(16,28,45,.65); color:#fff; border:1px solid #b39a64; border-radius:0; padding:17px 22px; font-family:Arial,Helvetica,sans-serif; text-transform:uppercase; letter-spacing:2px; font-size:11px; }
.sp-outline .elementor-button:hover { background:#b39a64; color:#101c2d; }
.sp-new-heading { padding:24px 4.2% 18px; }
.sp-new-heading>.elementor-container { align-items:center; }
.sp-section-title .elementor-heading-title { font-size:clamp(34px,4vw,62px); }
.sp-new-heading .sp-text-link { text-align:right; }
.sp-text-link .elementor-button { background:transparent!important; color:#101c2d!important; border:0; border-bottom:1px solid #b39a64; border-radius:0; padding:5px 0 6px; text-transform:uppercase; font-family:Arial,Helvetica,sans-serif; font-size:11px; letter-spacing:1.5px; font-weight:600; }
.sp-text-link .elementor-button:hover { color:#6a5125!important; }
.sp-products { padding:0 4.2% 30px; }
.sp-products>.elementor-container { gap:18px; }
.sp-products .sp-product { min-width:0; }
.sp-product-image { background:#fff; border:1px solid #e7e1d7; }
.sp-product-image img { width:100%!important; aspect-ratio:4/5; height:auto!important; object-fit:contain!important; display:block; }
.sp-product-title { margin:10px 0 5px!important; }
.sp-product-title .elementor-heading-title { font-size:clamp(16px,1.65vw,25px); }
.sp-price { font-family:Georgia,'Times New Roman',serif; font-size:19px; color:#101c2d; }
/* An explicit accessible product link remains available; the whole photograph also links. */
.sp-product-link { margin-top:6px!important; }
.sp-product-link .elementor-button { background:none!important; color:#101c2d!important; font-size:12px; padding:0; text-decoration:underline; text-underline-offset:3px; }
.sp-collections { padding:0 2.2% 26px; }
.sp-collections>.elementor-container { gap:22px; }
.sp-collection { min-width:0; }
.sp-collection-image img { width:100%!important; height:auto!important; aspect-ratio:1.56; object-fit:cover!important; display:block; }
.sp-collection-title { margin:16px 22px 7px!important; }
.sp-collection-title .elementor-heading-title { font-size:clamp(23px,2.4vw,39px); }
.sp-collection .elementor-widget-text-editor { margin:0 22px 12px!important; font-size:16px; line-height:1.5; }
.sp-collection .sp-text-link { margin-left:22px!important; }
.sp-last-row { padding-bottom:32px; }
.sp-last-row .sp-collection:first-child .sp-collection-image img { aspect-ratio:1.27; object-position:50% 20%; }
.sp-last-row .sp-collection:last-child .sp-collection-image img { aspect-ratio:1.27; object-position:50% 45%; }
.sp-site-footer { background:#101c2d; color:#f5f1e9; }
.sp-footer-top { padding:28px 6% 24px; }
.sp-footer-top>.elementor-container { gap:50px; }
.sp-footer-top .elementor-column:last-child { padding-left:45px; border-left:1px solid #b39a64; }
.sp-footer-logo { text-align:left; }
.sp-footer-logo img { width:205px!important; height:auto!important; display:block; }
.sp-tagline { margin-top:12px!important; }
.sp-tagline .elementor-heading-title { font-size:28px; color:#f5f1e9!important; }
.sp-footer-top .sp-eyebrow .elementor-heading-title { font-size:12px; letter-spacing:3px; }
.sp-footer-top .elementor-widget-text-editor { font-size:13px; line-height:1.5; margin:8px 0 14px!important; color:#f5f1e9!important; }
.sp-newsletter-placeholder { display:flex; gap:8px; flex-wrap:wrap; }
.sp-newsletter-placeholder input { flex:1; min-width:120px; width:60%; border:1px solid #b39a64; background:transparent; padding:13px; color:#fff; border-radius:0; }
.sp-newsletter-placeholder input::placeholder { color:#ddd7cb; }
.sp-newsletter-placeholder button { border:1px solid #b39a64; border-radius:0; background:transparent; color:#b39a64; padding:13px 18px; font-size:10px; text-transform:uppercase; letter-spacing:1px; cursor:not-allowed; }
.sp-newsletter-placeholder small { width:100%; color:#ddd7cb; font-size:11px; }
.sp-footer-bottom { padding:15px 6% 28px; }
.sp-footer-bottom .elementor-icon-list-items { display:flex; gap:25px; flex-wrap:wrap; }
.sp-footer-bottom .elementor-icon-list-item a { color:#f5f1e9!important; text-transform:uppercase; text-decoration:none; font-size:10px; letter-spacing:1px; }
.sp-footer-legal .elementor-icon-list-items { justify-content:flex-end; }
@media(max-width:1024px) {
 .sp-navigation .elementor-icon-list-items { gap:15px; }
 .sp-actions .elementor-icon-list-items { gap:15px; }
 .sp-logo img { width:145px!important; }
 .sp-products>.elementor-container { gap:12px; }
 .sp-collection-title { margin-left:12px!important; margin-right:12px!important; }
 .sp-collection .elementor-widget-text-editor,.sp-collection .sp-text-link { margin-left:12px!important; margin-right:12px!important; }
 .sp-footer-top>.elementor-container { gap:25px; }
 .sp-footer-top .elementor-column:last-child { padding-left:25px; }
}
@media(max-width:767px) {
 .sp-header { padding:14px 20px 10px; }
 .sp-header>.elementor-container { display:flex; flex-wrap:wrap; }
 .sp-header>.elementor-container>.elementor-column:nth-child(1) { width:60%; order:1; }
 .sp-header>.elementor-container>.elementor-column:nth-child(2) { width:100%; order:3; margin-top:12px; }
 .sp-header>.elementor-container>.elementor-column:nth-child(3) { width:40%; order:2; }
 .sp-logo img { width:140px!important; }
 .sp-navigation .elementor-icon-list-items { justify-content:space-between; gap:8px; }
 .sp-navigation .elementor-icon-list-item a { font-size:10px; letter-spacing:1.1px; }
 .sp-actions .elementor-icon-list-icon i { font-size:19px; }
 .sp-hero { background-position:center top!important; background-size:100% auto!important; background-repeat:no-repeat!important; padding-top:41.3%!important; }
 .sp-hero>.elementor-container { min-height:0; }
 .sp-hero-copy { width:100%!important; padding:26px 24px 30px; background:#101c2d; }
 .sp-hero>.elementor-container>.elementor-column:last-child { display:none; }
 .sp-hero-title .elementor-heading-title { font-size:38px; letter-spacing:-1px; }
 .sp-eyebrow .elementor-heading-title { font-size:10px; letter-spacing:3px; }
 .sp-new-heading { padding:26px 20px 18px; }
 .sp-new-heading .elementor-column:first-child { width:42%; }
 .sp-new-heading .elementor-column:last-child { width:58%; }
 .sp-new-heading .sp-text-link .elementor-button { font-size:9px; letter-spacing:.7px; }
 .sp-products { padding:0 20px 30px; }
 .sp-products>.elementor-container { display:flex; flex-wrap:wrap; gap:22px 14px; }
 .sp-products .sp-product { width:calc(50% - 7px)!important; }
 .sp-product-title .elementor-heading-title { font-size:18px; }
 .sp-price { font-size:17px; }
 .sp-collections { padding:0 20px 28px; }
 .sp-collections>.elementor-container { display:flex; flex-wrap:wrap; gap:28px; }
 .sp-collections .sp-collection { width:100%!important; }
 .sp-collection-title .elementor-heading-title { font-size:27px; }
 .sp-collection-title { margin-left:0!important; }
 .sp-collection .elementor-widget-text-editor,.sp-collection .sp-text-link { margin-left:0!important; }
 .sp-footer-top { padding:30px 24px 12px; }
 .sp-footer-top>.elementor-container { flex-wrap:wrap; gap:26px; }
 .sp-footer-top .elementor-column { width:100%!important; }
 .sp-footer-top .elementor-column:last-child { padding:24px 0 0; border-left:0; border-top:1px solid #b39a64; }
 .sp-tagline .elementor-heading-title { font-size:25px; }
 .sp-footer-bottom { padding:18px 24px 30px; }
 .sp-footer-bottom .elementor-column { width:100%!important; }
 .sp-footer-bottom .elementor-icon-list-items { justify-content:flex-start; gap:20px; }
 .sp-footer-legal { margin-top:20px!important; }
}
/* Make the imported documents readable while editing without the front-end body class. */
.elementor-editor-active .sp-hero-title .elementor-heading-title { color:#fff!important; }
.elementor-editor-active .sp-hero-copy { padding:6% 0 6% 5.4%; }
.elementor-editor-active .sp-hero>.elementor-container { min-height:500px; align-items:center; }
.elementor-editor-active .sp-header .elementor-icon-list-text,.elementor-editor-active .sp-footer-bottom .elementor-icon-list-text { color:#f5f1e9; }
.elementor-editor-active .sp-footer-top { background:#101c2d; color:#f5f1e9; }
