
/* /static/css/lean/bootstrap.min.css */
:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#868e96;--gray-dark:#343a40;--primary:#007bff;--secondary:#868e96;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:"SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}
a,a:visited{text-decoration:underline}
abbr[title]::after{content:" (" attr(title) ")"}
pre{white-space:pre-wrap!important}
blockquote,pre{border:1px solid #999;page-break-inside:avoid}
thead{display:table-header-group}
img,tr{page-break-inside:avoid}
h2,h3,p{orphans:3;widows:3}
h2,h3{page-break-after:avoid}
.navbar{display:none}
.badge{border:1px solid #000}
.table{border-collapse:collapse!important}
.table td,.table th{background-color:#fff!important}
.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}
*,::after,::before{box-sizing:border-box}
html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}
@-ms-viewport{width:device-width}
article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}
[tabindex="-1"]:focus{outline:0!important}
hr{box-sizing:content-box;height:0;overflow:visible}
h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}
p{margin-top:0;margin-bottom:1rem}
abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}
address{margin-bottom:1rem;font-style:normal;line-height:inherit}
dl,ol,ul{margin-top:0;margin-bottom:1rem}
ol ol,ol ul,ul ol,ul ul{margin-bottom:0}
dt{font-weight:700}
dd{margin-bottom:.5rem;margin-left:0}
blockquote{margin:0 0 1rem}
dfn{font-style:italic}
b,strong{font-weight:bolder}
small{font-size:80%}
sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}
a:hover{color:#0056b3;text-decoration:underline}
a:not([href]):not([tabindex]){color:inherit;text-decoration:none}
a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}
a:not([href]):not([tabindex]):focus{outline:0}
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}
figure{margin:0 0 1rem}
img{vertical-align:middle;border-style:none}
svg:not(:root){overflow:hidden}
[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}
table{border-collapse:collapse}
caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}
th{text-align:inherit}
label{display:inline-block;margin-bottom:.5rem}
button{border-radius:0}
button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}
button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}
button,input{overflow:visible}
button,select{text-transform:none}
[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}
[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}
input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}
input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}
textarea{overflow:auto;resize:vertical}
fieldset{min-width:0;padding:0;margin:0;border:0}
legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}
progress{vertical-align:baseline}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
[type=search]{outline-offset:-2px;-webkit-appearance:none}
[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}
output{display:inline-block}
summary{display:list-item}
template{display:none}
[hidden]{display:none!important}
.h1,.h2,.h3,.h4,.h5,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}
.h1,h1{font-size:2.5rem}
.h2,h2{font-size:2rem}
.h3,h3{font-size:1.75rem}
.h4,h4{font-size:1.5rem}
.h5,h5{font-size:1.25rem}
h6{font-size:1rem}
.lead{font-size:1.25rem;font-weight:300}
hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}
.small,small{font-size:80%;font-weight:400}
.mark,mark{padding:.2em;background-color:#fcf8e3}
.blockquote{margin-bottom:1rem;font-size:1.25rem}
.img-fluid{max-width:100%;height:auto}
.figure{display:inline-block}
code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f8f9fa;border-radius:.25rem}
a>code{padding:0;color:inherit;background-color:inherit}
kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#212529;border-radius:.2rem}
kbd kbd{padding:0;font-size:100%;font-weight:700}
pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#212529}
pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}
.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}
@media (min-width:576px){.container{max-width:540px}}
@media (min-width:768px){.container{max-width:720px}}
@media (min-width:992px){.container{max-width:960px}}
@media (min-width:1200px){.container{max-width:1200px}}
.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}
.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}
.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}
.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}
.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}
.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}
.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}
.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}
.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}
.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}
.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}
.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}
.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}
.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}
.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}
.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}
.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}
.order-first{-ms-flex-order:-1;order:-1}
.order-1{-ms-flex-order:1;order:1}
.order-2{-ms-flex-order:2;order:2}
.order-3{-ms-flex-order:3;order:3}
.order-4{-ms-flex-order:4;order:4}
.order-5{-ms-flex-order:5;order:5}
.order-6{-ms-flex-order:6;order:6}
.order-7{-ms-flex-order:7;order:7}
.order-8{-ms-flex-order:8;order:8}
.order-9{-ms-flex-order:9;order:9}
.order-10{-ms-flex-order:10;order:10}
.order-11{-ms-flex-order:11;order:11}
.order-12{-ms-flex-order:12;order:12}
.offset-1{margin-left:8.333333%}
.offset-2{margin-left:16.666667%}
.offset-3{margin-left:25%}
.offset-4{margin-left:33.333333%}
.offset-5{margin-left:41.666667%}
.offset-6{margin-left:50%}
.offset-7{margin-left:58.333333%}
.offset-8{margin-left:66.666667%}
.offset-9{margin-left:75%}
.offset-10{margin-left:83.333333%}
.offset-11{margin-left:91.666667%}
@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}
.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}
.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}
.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}
.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}
.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}
.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}
.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}
.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}
.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}
.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}
.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}
.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}
.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}
.order-sm-first{-ms-flex-order:-1;order:-1}
.order-sm-1{-ms-flex-order:1;order:1}
.order-sm-2{-ms-flex-order:2;order:2}
.order-sm-3{-ms-flex-order:3;order:3}
.order-sm-4{-ms-flex-order:4;order:4}
.order-sm-5{-ms-flex-order:5;order:5}
.order-sm-6{-ms-flex-order:6;order:6}
.order-sm-7{-ms-flex-order:7;order:7}
.order-sm-8{-ms-flex-order:8;order:8}
.order-sm-9{-ms-flex-order:9;order:9}
.order-sm-10{-ms-flex-order:10;order:10}
.order-sm-11{-ms-flex-order:11;order:11}
.order-sm-12{-ms-flex-order:12;order:12}
.offset-sm-0{margin-left:0}
.offset-sm-1{margin-left:8.333333%}
.offset-sm-2{margin-left:16.666667%}
.offset-sm-3{margin-left:25%}
.offset-sm-4{margin-left:33.333333%}
.offset-sm-5{margin-left:41.666667%}
.offset-sm-6{margin-left:50%}
.offset-sm-7{margin-left:58.333333%}
.offset-sm-8{margin-left:66.666667%}
.offset-sm-9{margin-left:75%}
.offset-sm-10{margin-left:83.333333%}
.offset-sm-11{margin-left:91.666667%}}
@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}
.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}
.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}
.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}
.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}
.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}
.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}
.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}
.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}
.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}
.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}
.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}
.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}
.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}
.order-md-first{-ms-flex-order:-1;order:-1}
.order-md-1{-ms-flex-order:1;order:1}
.order-md-2{-ms-flex-order:2;order:2}
.order-md-3{-ms-flex-order:3;order:3}
.order-md-4{-ms-flex-order:4;order:4}
.order-md-5{-ms-flex-order:5;order:5}
.order-md-6{-ms-flex-order:6;order:6}
.order-md-7{-ms-flex-order:7;order:7}
.order-md-8{-ms-flex-order:8;order:8}
.order-md-9{-ms-flex-order:9;order:9}
.order-md-10{-ms-flex-order:10;order:10}
.order-md-11{-ms-flex-order:11;order:11}
.order-md-12{-ms-flex-order:12;order:12}
.offset-md-0{margin-left:0}
.offset-md-1{margin-left:8.333333%}
.offset-md-2{margin-left:16.666667%}
.offset-md-3{margin-left:25%}
.offset-md-4{margin-left:33.333333%}
.offset-md-5{margin-left:41.666667%}
.offset-md-6{margin-left:50%}
.offset-md-7{margin-left:58.333333%}
.offset-md-8{margin-left:66.666667%}
.offset-md-9{margin-left:75%}
.offset-md-10{margin-left:83.333333%}
.offset-md-11{margin-left:91.666667%}}
@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}
.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}
.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}
.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}
.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}
.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}
.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}
.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}
.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}
.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}
.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}
.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}
.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}
.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}
.order-lg-first{-ms-flex-order:-1;order:-1}
.order-lg-1{-ms-flex-order:1;order:1}
.order-lg-2{-ms-flex-order:2;order:2}
.order-lg-3{-ms-flex-order:3;order:3}
.order-lg-4{-ms-flex-order:4;order:4}
.order-lg-5{-ms-flex-order:5;order:5}
.order-lg-6{-ms-flex-order:6;order:6}
.order-lg-7{-ms-flex-order:7;order:7}
.order-lg-8{-ms-flex-order:8;order:8}
.order-lg-9{-ms-flex-order:9;order:9}
.order-lg-10{-ms-flex-order:10;order:10}
.order-lg-11{-ms-flex-order:11;order:11}
.order-lg-12{-ms-flex-order:12;order:12}
.offset-lg-0{margin-left:0}
.offset-lg-1{margin-left:8.333333%}
.offset-lg-2{margin-left:16.666667%}
.offset-lg-3{margin-left:25%}
.offset-lg-4{margin-left:33.333333%}
.offset-lg-5{margin-left:41.666667%}
.offset-lg-6{margin-left:50%}
.offset-lg-7{margin-left:58.333333%}
.offset-lg-8{margin-left:66.666667%}
.offset-lg-9{margin-left:75%}
.offset-lg-10{margin-left:83.333333%}
.offset-lg-11{margin-left:91.666667%}}
@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}
.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}
.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}
.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}
.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}
.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}
.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}
.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}
.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}
.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}
.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}
.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}
.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}
.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}
.order-xl-first{-ms-flex-order:-1;order:-1}
.order-xl-1{-ms-flex-order:1;order:1}
.order-xl-2{-ms-flex-order:2;order:2}
.order-xl-3{-ms-flex-order:3;order:3}
.order-xl-4{-ms-flex-order:4;order:4}
.order-xl-5{-ms-flex-order:5;order:5}
.order-xl-6{-ms-flex-order:6;order:6}
.order-xl-7{-ms-flex-order:7;order:7}
.order-xl-8{-ms-flex-order:8;order:8}
.order-xl-9{-ms-flex-order:9;order:9}
.order-xl-10{-ms-flex-order:10;order:10}
.order-xl-11{-ms-flex-order:11;order:11}
.order-xl-12{-ms-flex-order:12;order:12}
.offset-xl-0{margin-left:0}
.offset-xl-1{margin-left:8.333333%}
.offset-xl-2{margin-left:16.666667%}
.offset-xl-3{margin-left:25%}
.offset-xl-4{margin-left:33.333333%}
.offset-xl-5{margin-left:41.666667%}
.offset-xl-6{margin-left:50%}
.offset-xl-7{margin-left:58.333333%}
.offset-xl-8{margin-left:66.666667%}
.offset-xl-9{margin-left:75%}
.offset-xl-10{margin-left:83.333333%}
.offset-xl-11{margin-left:91.666667%}}
.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}
.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #e9ecef}
.table thead th{vertical-align:bottom;border-bottom:2px solid #e9ecef}
.table tbody+tbody{border-top:2px solid #e9ecef}
.table .table{background-color:#fff}
.table-sm td,.table-sm th{padding:.3rem}
.table-bordered{border:1px solid #e9ecef}
.table-bordered td,.table-bordered th{border:1px solid #e9ecef}
.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}
.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}
.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}
.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}
.table-hover .table-primary:hover{background-color:#9fcdff}
.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}
.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#dddfe2}
.table-hover .table-secondary:hover{background-color:#cfd2d6}
.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#cfd2d6}
.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}
.table-hover .table-success:hover{background-color:#b1dfbb}
.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}
.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}
.table-hover .table-info:hover{background-color:#abdde5}
.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}
.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}
.table-hover .table-warning:hover{background-color:#ffe8a1}
.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}
.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}
.table-hover .table-danger:hover{background-color:#f1b0b7}
.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}
.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}
.table-hover .table-light:hover{background-color:#ececf6}
.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}
.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}
.table-hover .table-dark:hover{background-color:#b9bbbe}
.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}
.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}
.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}
.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}
.table-dark{color:#fff;background-color:#212529}
.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}
.table-dark.table-bordered{border:0}
.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}
.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}
@media (max-width:575px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}
.table-responsive-sm.table-bordered{border:0}}
@media (max-width:767px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}
.table-responsive-md.table-bordered{border:0}}
@media (max-width:991px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}
.table-responsive-lg.table-bordered{border:0}}
@media (max-width:1199px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}
.table-responsive-xl.table-bordered{border:0}}
.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}
.table-responsive.table-bordered{border:0}
.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-image:none;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}
.form-control::-ms-expand{background-color:transparent;border:0}
.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}
.form-control::-webkit-input-placeholder{color:#868e96;opacity:1}
.form-control:-ms-input-placeholder{color:#868e96;opacity:1}
.form-control::-ms-input-placeholder{color:#868e96;opacity:1}
.form-control::placeholder{color:#868e96;opacity:1}
.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}
select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}
select.form-control:focus::-ms-value{color:#495057;background-color:#fff}
.form-control-file,.form-control-range{display:block}
.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;line-height:1.5}
.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}
.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}
.col-form-legend{padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;font-size:1rem}
.form-control-plaintext{padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;background-color:transparent;border:solid transparent;border-width:1px 0}
.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}
.form-control-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}
select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}
.form-control-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}
select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}
.valid-feedback{display:none;margin-top:.25rem;font-size:.875rem;color:#28a745}
.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;width:250px;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}
.was-validated .form-control:valid{border-color:#28a745}
.was-validated .form-control:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}
.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}
.invalid-feedback{display:none;margin-top:.25rem;font-size:.875rem;color:#dc3545}
.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;width:250px;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}
.was-validated .form-control:invalid{border-color:#dc3545}
.was-validated .form-control:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}
.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}
.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.btn:focus,.btn:hover{text-decoration:none}
.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}
.btn.disabled,.btn:disabled{opacity:.65}
.btn:not([disabled]):not(.disabled).active,.btn:not([disabled]):not(.disabled):active{background-image:none}
a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}
.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}
.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}
.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}
.btn-primary.disabled,.btn-primary:disabled{background-color:#007bff;border-color:#007bff}
.btn-primary:not([disabled]):not(.disabled).active,.btn-primary:not([disabled]):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}
.btn-secondary{color:#fff;background-color:#868e96;border-color:#868e96}
.btn-secondary:hover{color:#fff;background-color:#727b84;border-color:#6c757d}
.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}
.btn-secondary.disabled,.btn-secondary:disabled{background-color:#868e96;border-color:#868e96}
.btn-secondary:not([disabled]):not(.disabled).active,.btn-secondary:not([disabled]):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#666e76;box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}
.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}
.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}
.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}
.btn-success.disabled,.btn-success:disabled{background-color:#28a745;border-color:#28a745}
.btn-success:not([disabled]):not(.disabled).active,.btn-success:not([disabled]):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}
.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}
.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}
.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}
.btn-info.disabled,.btn-info:disabled{background-color:#17a2b8;border-color:#17a2b8}
.btn-info:not([disabled]):not(.disabled).active,.btn-info:not([disabled]):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}
.btn-warning{color:#111;background-color:#ffc107;border-color:#ffc107}
.btn-warning:hover{color:#111;background-color:#e0a800;border-color:#d39e00}
.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}
.btn-warning.disabled,.btn-warning:disabled{background-color:#ffc107;border-color:#ffc107}
.btn-warning:not([disabled]):not(.disabled).active,.btn-warning:not([disabled]):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#111;background-color:#d39e00;border-color:#c69500;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}
.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}
.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}
.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}
.btn-danger.disabled,.btn-danger:disabled{background-color:#dc3545;border-color:#dc3545}
.btn-danger:not([disabled]):not(.disabled).active,.btn-danger:not([disabled]):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}
.btn-light{color:#111;background-color:#f8f9fa;border-color:#f8f9fa}
.btn-light:hover{color:#111;background-color:#e2e6ea;border-color:#dae0e5}
.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}
.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa}
.btn-light:not([disabled]):not(.disabled).active,.btn-light:not([disabled]):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#111;background-color:#dae0e5;border-color:#d3d9df;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}
.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}
.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}
.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}
.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40}
.btn-dark:not([disabled]):not(.disabled).active,.btn-dark:not([disabled]):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}
.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}
.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}
.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}
.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}
.btn-outline-primary:not([disabled]):not(.disabled).active,.btn-outline-primary:not([disabled]):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}
.btn-outline-secondary{color:#868e96;background-color:transparent;background-image:none;border-color:#868e96}
.btn-outline-secondary:hover{color:#fff;background-color:#868e96;border-color:#868e96}
.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}
.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#868e96;background-color:transparent}
.btn-outline-secondary:not([disabled]):not(.disabled).active,.btn-outline-secondary:not([disabled]):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#868e96;border-color:#868e96;box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}
.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}
.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}
.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}
.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}
.btn-outline-success:not([disabled]):not(.disabled).active,.btn-outline-success:not([disabled]):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}
.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}
.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}
.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}
.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}
.btn-outline-info:not([disabled]):not(.disabled).active,.btn-outline-info:not([disabled]):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}
.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}
.btn-outline-warning:hover{color:#fff;background-color:#ffc107;border-color:#ffc107}
.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}
.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}
.btn-outline-warning:not([disabled]):not(.disabled).active,.btn-outline-warning:not([disabled]):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#ffc107;border-color:#ffc107;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}
.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}
.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}
.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}
.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}
.btn-outline-danger:not([disabled]):not(.disabled).active,.btn-outline-danger:not([disabled]):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}
.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}
.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}
.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}
.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}
.btn-outline-light:not([disabled]):not(.disabled).active,.btn-outline-light:not([disabled]):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}
.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}
.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}
.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}
.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}
.btn-outline-dark:not([disabled]):not(.disabled).active,.btn-outline-dark:not([disabled]):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}
.btn-link{font-weight:400;color:#007bff;background-color:transparent}
.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}
.btn-link.focus,.btn-link:focus{border-color:transparent;box-shadow:none}
.btn-link.disabled,.btn-link:disabled{color:#868e96}
.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}
.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}
.btn-block{display:block;width:100%}
.btn-block+.btn-block{margin-top:.5rem}
input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}
.fade{opacity:0;transition:opacity .15s linear}
.fade.show{opacity:1}
.collapse{display:none}
.collapse.show{display:block}
tr.collapse.show{display:table-row}
tbody.collapse.show{display:table-row-group}
.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}
.dropdown,.dropup{position:relative}
.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}
.dropdown-toggle:empty::after{margin-left:0}
.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}
.dropup .dropdown-menu{margin-top:0;margin-bottom:.125rem}
.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}
.dropup .dropdown-toggle:empty::after{margin-left:0}
.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}
.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background:0 0;border:0}
.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}
.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}
.dropdown-item.disabled,.dropdown-item:disabled{color:#868e96;background-color:transparent}
.dropdown-menu.show{display:block}
.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#868e96;white-space:nowrap}
.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}
.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}
.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}
.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}
.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}
.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}
.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}
.btn-group>.btn:first-child{margin-left:0}
.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}
.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}
.btn-group>.btn-group{float:left}
.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}
.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}
.btn+.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}
.btn+.dropdown-toggle-split::after{margin-left:0}
.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}
.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}
.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}
.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}
.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}
.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}
.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}
.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}
.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}
.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}
[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}
.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}
.nav-link{display:block;padding:.5rem 1rem}
.nav-link:focus,.nav-link:hover{text-decoration:none}
.nav-link.disabled{color:#868e96}
.tab-content>.tab-pane{display:none}
.tab-content>.active{display:block}
.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}
.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}
.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}
.navbar-nav .nav-link{padding-right:0;padding-left:0}
.navbar-nav .dropdown-menu{position:static;float:none}
.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}
.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}
.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}
.card>hr{margin-right:0;margin-left:0}
.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}
.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}
.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}
.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}
.badge:empty{display:none}
.btn .badge{position:relative;top:-1px}
.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}
@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}
@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}
.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}
.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}
.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}
.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}
.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}
.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}
.list-group-item:focus,.list-group-item:hover{text-decoration:none}
.list-group-item.disabled,.list-group-item:disabled{color:#868e96;background-color:#fff}
.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}
.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}
.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}
button.close{padding:0;background:0 0;border:0;-webkit-appearance:none}
.modal-open{overflow:hidden}
.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}
.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}
.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}
.modal-open .modal{overflow-x:hidden;overflow-y:auto}
.modal-dialog{position:relative;width:auto;margin:10px;pointer-events:none}
.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}
.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}
.modal-backdrop.fade{opacity:0}
.modal-backdrop.show{opacity:.5}
.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}
.modal-header .close{padding:15px;margin:-15px -15px -15px auto}
.modal-title{margin-bottom:0;line-height:1.5}
.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}
.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #e9ecef}
.modal-footer>:not(:first-child){margin-left:.25rem}
.modal-footer>:not(:last-child){margin-right:.25rem}
.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}
@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}
.modal-sm{max-width:300px}}
@media (min-width:992px){.modal-lg{max-width:800px}}
.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}
.tooltip.show{opacity:.9}
.tooltip .arrow{position:absolute;display:block;width:5px;height:5px}
.tooltip .arrow::before{position:absolute;border-color:transparent;border-style:solid}
.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}
.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}
.popover .arrow{position:absolute;display:block;width:.8rem;height:.4rem}
.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;border-color:transparent;border-style:solid}
.popover .arrow::before{content:"";border-width:.8rem}
.popover .arrow::after{content:"";border-width:.8rem}
.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}
.popover-header:empty{display:none}
.popover-body{padding:.5rem .75rem;color:#212529}
.carousel{position:relative}
.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}
.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}
.carousel-item-next,.carousel-item-prev{position:absolute;top:0}
.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}
@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}
@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}
.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}
@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}
.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}
.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}
.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}
.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}
.carousel-indicators .active{background-color:#fff}
.align-baseline{vertical-align:baseline!important}
.align-top{vertical-align:top!important}
.align-middle{vertical-align:middle!important}
.align-bottom{vertical-align:bottom!important}
.align-text-bottom{vertical-align:text-bottom!important}
.align-text-top{vertical-align:text-top!important}
.border{border:1px solid #e9ecef!important}
.rounded{border-radius:.25rem!important}
.d-none{display:none!important}
.d-inline{display:inline!important}
.d-inline-block{display:inline-block!important}
.d-block{display:block!important}
.d-table{display:table!important}
.d-table-row{display:table-row!important}
.d-table-cell{display:table-cell!important}
.d-flex{display:-ms-flexbox!important;display:flex!important}
.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}
@media (min-width:576px){.d-sm-none{display:none!important}
.d-sm-inline{display:inline!important}
.d-sm-inline-block{display:inline-block!important}
.d-sm-block{display:block!important}
.d-sm-table{display:table!important}
.d-sm-table-row{display:table-row!important}
.d-sm-table-cell{display:table-cell!important}
.d-sm-flex{display:-ms-flexbox!important;display:flex!important}
.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}
@media (min-width:768px){.d-md-none{display:none!important}
.d-md-inline{display:inline!important}
.d-md-inline-block{display:inline-block!important}
.d-md-block{display:block!important}
.d-md-table{display:table!important}
.d-md-table-row{display:table-row!important}
.d-md-table-cell{display:table-cell!important}
.d-md-flex{display:-ms-flexbox!important;display:flex!important}
.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}
@media (min-width:992px){.d-lg-none{display:none!important}
.d-lg-inline{display:inline!important}
.d-lg-inline-block{display:inline-block!important}
.d-lg-block{display:block!important}
.d-lg-table{display:table!important}
.d-lg-table-row{display:table-row!important}
.d-lg-table-cell{display:table-cell!important}
.d-lg-flex{display:-ms-flexbox!important;display:flex!important}
.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}
@media (min-width:1200px){.d-xl-none{display:none!important}
.d-xl-inline{display:inline!important}
.d-xl-inline-block{display:inline-block!important}
.d-xl-block{display:block!important}
.d-xl-table{display:table!important}
.d-xl-table-row{display:table-row!important}
.d-xl-table-cell{display:table-cell!important}
.d-xl-flex{display:-ms-flexbox!important;display:flex!important}
.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}
.d-print-block{display:none!important}
@media print{.d-print-block{display:block!important}}
.d-print-inline{display:none!important}
@media print{.d-print-inline{display:inline!important}}
.d-print-inline-block{display:none!important}
@media print{.d-print-inline-block{display:inline-block!important}}
@media print{.d-print-none{display:none!important}}
.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}
.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}
.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}
.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}
.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}
.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}
.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}
.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}
.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}
.align-items-center{-ms-flex-align:center!important;align-items:center!important}
.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}
.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}
.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}
.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}
.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}
.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}
.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}
@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}
.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}
.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}
.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}
.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}
.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}
.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}
.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}
.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}
.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}
.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}
.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}
.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}
.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}
.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}
.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}
.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}
@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}
.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}
.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}
.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}
.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}
.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}
.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}
.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}
.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}
.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}
.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}
.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}
.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}
.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}
.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}
.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}
.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}
@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}
.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}
.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}
.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}
.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}
.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}
.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}
.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}
.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}
.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}
.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}
.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}
.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}
.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}
.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}
.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}
.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}
@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}
.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}
.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}
.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}
.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}
.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}
.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}
.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}
.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}
.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}
.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}
.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}
.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}
.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}
.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}
.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}
.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}
.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}
.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}
.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}
.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}
.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}
.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}
.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}
.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}
.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}
.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}
.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}
.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}
.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}
.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}
@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}
.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}
.w-25{width:25%!important}
.w-50{width:50%!important}
.w-75{width:75%!important}
.w-100{width:100%!important}
.h-25{height:25%!important}
.h-50{height:50%!important}
.h-75{height:75%!important}
.h-100{height:100%!important}
.m-0{margin:0!important}
.mt-0,.my-0{margin-top:0!important}
.mr-0,.mx-0{margin-right:0!important}
.mb-0,.my-0{margin-bottom:0!important}
.ml-0,.mx-0{margin-left:0!important}
.m-1{margin:.25rem!important}
.mt-1,.my-1{margin-top:.25rem!important}
.mr-1,.mx-1{margin-right:.25rem!important}
.mb-1,.my-1{margin-bottom:.25rem!important}
.ml-1,.mx-1{margin-left:.25rem!important}
.m-2{margin:.5rem!important}
.mt-2,.my-2{margin-top:.5rem!important}
.mr-2,.mx-2{margin-right:.5rem!important}
.mb-2,.my-2{margin-bottom:.5rem!important}
.ml-2,.mx-2{margin-left:.5rem!important}
.m-3{margin:1rem!important}
.mt-3,.my-3{margin-top:1rem!important}
.mr-3,.mx-3{margin-right:1rem!important}
.mb-3,.my-3{margin-bottom:1rem!important}
.ml-3,.mx-3{margin-left:1rem!important}
.m-4{margin:1.5rem!important}
.mt-4,.my-4{margin-top:1.5rem!important}
.mr-4,.mx-4{margin-right:1.5rem!important}
.mb-4,.my-4{margin-bottom:1.5rem!important}
.ml-4,.mx-4{margin-left:1.5rem!important}
.m-5{margin:3rem!important}
.mt-5,.my-5{margin-top:3rem!important}
.mr-5,.mx-5{margin-right:3rem!important}
.mb-5,.my-5{margin-bottom:3rem!important}
.ml-5,.mx-5{margin-left:3rem!important}
.p-0{padding:0!important}
.pt-0,.py-0{padding-top:0!important}
.pr-0,.px-0{padding-right:0!important}
.pb-0,.py-0{padding-bottom:0!important}
.pl-0,.px-0{padding-left:0!important}
.p-1{padding:.25rem!important}
.pt-1,.py-1{padding-top:.25rem!important}
.pr-1,.px-1{padding-right:.25rem!important}
.pb-1,.py-1{padding-bottom:.25rem!important}
.pl-1,.px-1{padding-left:.25rem!important}
.p-2{padding:.5rem!important}
.pt-2,.py-2{padding-top:.5rem!important}
.pr-2,.px-2{padding-right:.5rem!important}
.pb-2,.py-2{padding-bottom:.5rem!important}
.pl-2,.px-2{padding-left:.5rem!important}
.p-3{padding:1rem!important}
.pt-3,.py-3{padding-top:1rem!important}
.pr-3,.px-3{padding-right:1rem!important}
.pb-3,.py-3{padding-bottom:1rem!important}
.pl-3,.px-3{padding-left:1rem!important}
.p-4{padding:1.5rem!important}
.pt-4,.py-4{padding-top:1.5rem!important}
.pr-4,.px-4{padding-right:1.5rem!important}
.pb-4,.py-4{padding-bottom:1.5rem!important}
.pl-4,.px-4{padding-left:1.5rem!important}
.p-5{padding:3rem!important}
.pt-5,.py-5{padding-top:3rem!important}
.pr-5,.px-5{padding-right:3rem!important}
.pb-5,.py-5{padding-bottom:3rem!important}
.pl-5,.px-5{padding-left:3rem!important}
.m-auto{margin:auto!important}
.mt-auto,.my-auto{margin-top:auto!important}
.mr-auto,.mx-auto{margin-right:auto!important}
.mb-auto,.my-auto{margin-bottom:auto!important}
.ml-auto,.mx-auto{margin-left:auto!important}
@media (min-width:576px){.m-sm-0{margin:0!important}
.mt-sm-0,.my-sm-0{margin-top:0!important}
.mr-sm-0,.mx-sm-0{margin-right:0!important}
.mb-sm-0,.my-sm-0{margin-bottom:0!important}
.ml-sm-0,.mx-sm-0{margin-left:0!important}
.m-sm-1{margin:.25rem!important}
.mt-sm-1,.my-sm-1{margin-top:.25rem!important}
.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}
.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}
.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}
.m-sm-2{margin:.5rem!important}
.mt-sm-2,.my-sm-2{margin-top:.5rem!important}
.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}
.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}
.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}
.m-sm-3{margin:1rem!important}
.mt-sm-3,.my-sm-3{margin-top:1rem!important}
.mr-sm-3,.mx-sm-3{margin-right:1rem!important}
.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}
.ml-sm-3,.mx-sm-3{margin-left:1rem!important}
.m-sm-4{margin:1.5rem!important}
.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}
.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}
.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}
.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}
.m-sm-5{margin:3rem!important}
.mt-sm-5,.my-sm-5{margin-top:3rem!important}
.mr-sm-5,.mx-sm-5{margin-right:3rem!important}
.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}
.ml-sm-5,.mx-sm-5{margin-left:3rem!important}
.p-sm-0{padding:0!important}
.pt-sm-0,.py-sm-0{padding-top:0!important}
.pr-sm-0,.px-sm-0{padding-right:0!important}
.pb-sm-0,.py-sm-0{padding-bottom:0!important}
.pl-sm-0,.px-sm-0{padding-left:0!important}
.p-sm-1{padding:.25rem!important}
.pt-sm-1,.py-sm-1{padding-top:.25rem!important}
.pr-sm-1,.px-sm-1{padding-right:.25rem!important}
.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}
.pl-sm-1,.px-sm-1{padding-left:.25rem!important}
.p-sm-2{padding:.5rem!important}
.pt-sm-2,.py-sm-2{padding-top:.5rem!important}
.pr-sm-2,.px-sm-2{padding-right:.5rem!important}
.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}
.pl-sm-2,.px-sm-2{padding-left:.5rem!important}
.p-sm-3{padding:1rem!important}
.pt-sm-3,.py-sm-3{padding-top:1rem!important}
.pr-sm-3,.px-sm-3{padding-right:1rem!important}
.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}
.pl-sm-3,.px-sm-3{padding-left:1rem!important}
.p-sm-4{padding:1.5rem!important}
.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}
.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}
.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}
.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}
.p-sm-5{padding:3rem!important}
.pt-sm-5,.py-sm-5{padding-top:3rem!important}
.pr-sm-5,.px-sm-5{padding-right:3rem!important}
.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}
.pl-sm-5,.px-sm-5{padding-left:3rem!important}
.m-sm-auto{margin:auto!important}
.mt-sm-auto,.my-sm-auto{margin-top:auto!important}
.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}
.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}
.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}
@media (min-width:768px){.m-md-0{margin:0!important}
.mt-md-0,.my-md-0{margin-top:0!important}
.mr-md-0,.mx-md-0{margin-right:0!important}
.mb-md-0,.my-md-0{margin-bottom:0!important}
.ml-md-0,.mx-md-0{margin-left:0!important}
.m-md-1{margin:.25rem!important}
.mt-md-1,.my-md-1{margin-top:.25rem!important}
.mr-md-1,.mx-md-1{margin-right:.25rem!important}
.mb-md-1,.my-md-1{margin-bottom:.25rem!important}
.ml-md-1,.mx-md-1{margin-left:.25rem!important}
.m-md-2{margin:.5rem!important}
.mt-md-2,.my-md-2{margin-top:.5rem!important}
.mr-md-2,.mx-md-2{margin-right:.5rem!important}
.mb-md-2,.my-md-2{margin-bottom:.5rem!important}
.ml-md-2,.mx-md-2{margin-left:.5rem!important}
.m-md-3{margin:1rem!important}
.mt-md-3,.my-md-3{margin-top:1rem!important}
.mr-md-3,.mx-md-3{margin-right:1rem!important}
.mb-md-3,.my-md-3{margin-bottom:1rem!important}
.ml-md-3,.mx-md-3{margin-left:1rem!important}
.m-md-4{margin:1.5rem!important}
.mt-md-4,.my-md-4{margin-top:1.5rem!important}
.mr-md-4,.mx-md-4{margin-right:1.5rem!important}
.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}
.ml-md-4,.mx-md-4{margin-left:1.5rem!important}
.m-md-5{margin:3rem!important}
.mt-md-5,.my-md-5{margin-top:3rem!important}
.mr-md-5,.mx-md-5{margin-right:3rem!important}
.mb-md-5,.my-md-5{margin-bottom:3rem!important}
.ml-md-5,.mx-md-5{margin-left:3rem!important}
.p-md-0{padding:0!important}
.pt-md-0,.py-md-0{padding-top:0!important}
.pr-md-0,.px-md-0{padding-right:0!important}
.pb-md-0,.py-md-0{padding-bottom:0!important}
.pl-md-0,.px-md-0{padding-left:0!important}
.p-md-1{padding:.25rem!important}
.pt-md-1,.py-md-1{padding-top:.25rem!important}
.pr-md-1,.px-md-1{padding-right:.25rem!important}
.pb-md-1,.py-md-1{padding-bottom:.25rem!important}
.pl-md-1,.px-md-1{padding-left:.25rem!important}
.p-md-2{padding:.5rem!important}
.pt-md-2,.py-md-2{padding-top:.5rem!important}
.pr-md-2,.px-md-2{padding-right:.5rem!important}
.pb-md-2,.py-md-2{padding-bottom:.5rem!important}
.pl-md-2,.px-md-2{padding-left:.5rem!important}
.p-md-3{padding:1rem!important}
.pt-md-3,.py-md-3{padding-top:1rem!important}
.pr-md-3,.px-md-3{padding-right:1rem!important}
.pb-md-3,.py-md-3{padding-bottom:1rem!important}
.pl-md-3,.px-md-3{padding-left:1rem!important}
.p-md-4{padding:1.5rem!important}
.pt-md-4,.py-md-4{padding-top:1.5rem!important}
.pr-md-4,.px-md-4{padding-right:1.5rem!important}
.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}
.pl-md-4,.px-md-4{padding-left:1.5rem!important}
.p-md-5{padding:3rem!important}
.pt-md-5,.py-md-5{padding-top:3rem!important}
.pr-md-5,.px-md-5{padding-right:3rem!important}
.pb-md-5,.py-md-5{padding-bottom:3rem!important}
.pl-md-5,.px-md-5{padding-left:3rem!important}
.m-md-auto{margin:auto!important}
.mt-md-auto,.my-md-auto{margin-top:auto!important}
.mr-md-auto,.mx-md-auto{margin-right:auto!important}
.mb-md-auto,.my-md-auto{margin-bottom:auto!important}
.ml-md-auto,.mx-md-auto{margin-left:auto!important}}
@media (min-width:992px){.m-lg-0{margin:0!important}
.mt-lg-0,.my-lg-0{margin-top:0!important}
.mr-lg-0,.mx-lg-0{margin-right:0!important}
.mb-lg-0,.my-lg-0{margin-bottom:0!important}
.ml-lg-0,.mx-lg-0{margin-left:0!important}
.m-lg-1{margin:.25rem!important}
.mt-lg-1,.my-lg-1{margin-top:.25rem!important}
.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}
.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}
.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}
.m-lg-2{margin:.5rem!important}
.mt-lg-2,.my-lg-2{margin-top:.5rem!important}
.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}
.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}
.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}
.m-lg-3{margin:1rem!important}
.mt-lg-3,.my-lg-3{margin-top:1rem!important}
.mr-lg-3,.mx-lg-3{margin-right:1rem!important}
.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}
.ml-lg-3,.mx-lg-3{margin-left:1rem!important}
.m-lg-4{margin:1.5rem!important}
.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}
.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}
.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}
.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}
.m-lg-5{margin:3rem!important}
.mt-lg-5,.my-lg-5{margin-top:3rem!important}
.mr-lg-5,.mx-lg-5{margin-right:3rem!important}
.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}
.ml-lg-5,.mx-lg-5{margin-left:3rem!important}
.p-lg-0{padding:0!important}
.pt-lg-0,.py-lg-0{padding-top:0!important}
.pr-lg-0,.px-lg-0{padding-right:0!important}
.pb-lg-0,.py-lg-0{padding-bottom:0!important}
.pl-lg-0,.px-lg-0{padding-left:0!important}
.p-lg-1{padding:.25rem!important}
.pt-lg-1,.py-lg-1{padding-top:.25rem!important}
.pr-lg-1,.px-lg-1{padding-right:.25rem!important}
.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}
.pl-lg-1,.px-lg-1{padding-left:.25rem!important}
.p-lg-2{padding:.5rem!important}
.pt-lg-2,.py-lg-2{padding-top:.5rem!important}
.pr-lg-2,.px-lg-2{padding-right:.5rem!important}
.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}
.pl-lg-2,.px-lg-2{padding-left:.5rem!important}
.p-lg-3{padding:1rem!important}
.pt-lg-3,.py-lg-3{padding-top:1rem!important}
.pr-lg-3,.px-lg-3{padding-right:1rem!important}
.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}
.pl-lg-3,.px-lg-3{padding-left:1rem!important}
.p-lg-4{padding:1.5rem!important}
.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}
.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}
.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}
.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}
.p-lg-5{padding:3rem!important}
.pt-lg-5,.py-lg-5{padding-top:3rem!important}
.pr-lg-5,.px-lg-5{padding-right:3rem!important}
.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}
.pl-lg-5,.px-lg-5{padding-left:3rem!important}
.m-lg-auto{margin:auto!important}
.mt-lg-auto,.my-lg-auto{margin-top:auto!important}
.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}
.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}
.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}
@media (min-width:1200px){.m-xl-0{margin:0!important}
.mt-xl-0,.my-xl-0{margin-top:0!important}
.mr-xl-0,.mx-xl-0{margin-right:0!important}
.mb-xl-0,.my-xl-0{margin-bottom:0!important}
.ml-xl-0,.mx-xl-0{margin-left:0!important}
.m-xl-1{margin:.25rem!important}
.mt-xl-1,.my-xl-1{margin-top:.25rem!important}
.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}
.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}
.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}
.m-xl-2{margin:.5rem!important}
.mt-xl-2,.my-xl-2{margin-top:.5rem!important}
.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}
.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}
.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}
.m-xl-3{margin:1rem!important}
.mt-xl-3,.my-xl-3{margin-top:1rem!important}
.mr-xl-3,.mx-xl-3{margin-right:1rem!important}
.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}
.ml-xl-3,.mx-xl-3{margin-left:1rem!important}
.m-xl-4{margin:1.5rem!important}
.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}
.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}
.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}
.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}
.m-xl-5{margin:3rem!important}
.mt-xl-5,.my-xl-5{margin-top:3rem!important}
.mr-xl-5,.mx-xl-5{margin-right:3rem!important}
.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}
.ml-xl-5,.mx-xl-5{margin-left:3rem!important}
.p-xl-0{padding:0!important}
.pt-xl-0,.py-xl-0{padding-top:0!important}
.pr-xl-0,.px-xl-0{padding-right:0!important}
.pb-xl-0,.py-xl-0{padding-bottom:0!important}
.pl-xl-0,.px-xl-0{padding-left:0!important}
.p-xl-1{padding:.25rem!important}
.pt-xl-1,.py-xl-1{padding-top:.25rem!important}
.pr-xl-1,.px-xl-1{padding-right:.25rem!important}
.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}
.pl-xl-1,.px-xl-1{padding-left:.25rem!important}
.p-xl-2{padding:.5rem!important}
.pt-xl-2,.py-xl-2{padding-top:.5rem!important}
.pr-xl-2,.px-xl-2{padding-right:.5rem!important}
.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}
.pl-xl-2,.px-xl-2{padding-left:.5rem!important}
.p-xl-3{padding:1rem!important}
.pt-xl-3,.py-xl-3{padding-top:1rem!important}
.pr-xl-3,.px-xl-3{padding-right:1rem!important}
.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}
.pl-xl-3,.px-xl-3{padding-left:1rem!important}
.p-xl-4{padding:1.5rem!important}
.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}
.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}
.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}
.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}
.p-xl-5{padding:3rem!important}
.pt-xl-5,.py-xl-5{padding-top:3rem!important}
.pr-xl-5,.px-xl-5{padding-right:3rem!important}
.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}
.pl-xl-5,.px-xl-5{padding-left:3rem!important}
.m-xl-auto{margin:auto!important}
.mt-xl-auto,.my-xl-auto{margin-top:auto!important}
.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}
.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}
.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}
.text-justify{text-align:justify!important}
.text-nowrap{white-space:nowrap!important}
.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-left{text-align:left!important}
.text-right{text-align:right!important}
.text-center{text-align:center!important}
@media (min-width:576px){.text-sm-left{text-align:left!important}
.text-sm-right{text-align:right!important}
.text-sm-center{text-align:center!important}}
@media (min-width:768px){.text-md-left{text-align:left!important}
.text-md-right{text-align:right!important}
.text-md-center{text-align:center!important}}
@media (min-width:992px){.text-lg-left{text-align:left!important}
.text-lg-right{text-align:right!important}
.text-lg-center{text-align:center!important}}
@media (min-width:1200px){.text-xl-left{text-align:left!important}
.text-xl-right{text-align:right!important}
.text-xl-center{text-align:center!important}}
.text-lowercase{text-transform:lowercase!important}
.text-uppercase{text-transform:uppercase!important}
.text-capitalize{text-transform:capitalize!important}
.text-white{color:#fff!important}
.text-primary{color:#007bff!important}
a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}
.text-secondary{color:#868e96!important}
a.text-secondary:focus,a.text-secondary:hover{color:#6c757d!important}
.text-success{color:#28a745!important}
a.text-success:focus,a.text-success:hover{color:#1e7e34!important}
.text-info{color:#17a2b8!important}
a.text-info:focus,a.text-info:hover{color:#117a8b!important}
.text-warning{color:#ffc107!important}
a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}
.text-danger{color:#dc3545!important}
a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}
.text-light{color:#f8f9fa!important}
a.text-light:focus,a.text-light:hover{color:#dae0e5!important}
.text-dark{color:#343a40!important}
a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}
.text-muted{color:#868e96!important}
.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}
.visible{visibility:visible!important}
.invisible{visibility:hidden!important}
/* /static/css/icons.css */
/* Icons.
   Line icons drawn on one 24px grid and painted through a CSS mask, so each
   takes the colour and font-size of the text around it. This replaces two
   icon fonts that weighed 382 KB between them for the handful of glyphs this
   shop actually uses. */
[class^="ti-"], [class*=" ti-"], [class^="ion-"], [class*=" ion-"] {
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    vertical-align: -0.135em;
    flex: none;
    -webkit-mask: var(--icon) center / contain no-repeat;
    mask: var(--icon) center / contain no-repeat;
}

.ion-arrow-up-c { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2019V5M5.6%2011.4%2012%205l6.4%206.4%22%2F%3E%3C%2Fsvg%3E"); }
.ion-chevron-left { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m14.6%205-7%207%207%207%22%2F%3E%3C%2Fsvg%3E"); }
.ion-chevron-right { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9.4%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E"); }
.ion-ios-arrow-down { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%209%207%207%207-7%22%2F%3E%3C%2Fsvg%3E"); }
.ion-ios-arrow-right { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9.4%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E"); }
.ion-ios-email-outline { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225.2%22%20width%3D%2218%22%20height%3D%2213.6%22%20rx%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M3.6%206.4%2012%2013.2l8.4-6.8%22%2F%3E%3C%2Fsvg%3E"); }
.ion-ios-home-outline { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.6%2011%208.4-7.4%208.4%207.4%22%2F%3E%3Cpath%20d%3D%22M6%209.8V20h12V9.8%22%2F%3E%3Cpath%20d%3D%22M10.2%2020v-5.2h3.6V20%22%2F%3E%3C%2Fsvg%3E"); }
.ion-ios-telephone-outline { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%203.4h2.9l2%204.8-2.4%201.5a12.3%2012.3%200%200%200%205.8%205.8l1.5-2.4%204.8%202v2.9a2%202%200%200%201-2%202A16.4%2016.4%200%200%201%204%205.4a2%202%200%200%201%202-2z%22%2F%3E%3C%2Fsvg%3E"); }
.ti-angle-down { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%209%207%207%207-7%22%2F%3E%3C%2Fsvg%3E"); }
.ti-angle-left { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m14.6%205-7%207%207%207%22%2F%3E%3C%2Fsvg%3E"); }
.ti-angle-right { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9.4%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E"); }
.ti-arrow-left { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2012H5.4M11.2%206.2%205.4%2012l5.8%205.8%22%2F%3E%3C%2Fsvg%3E"); }
.ti-arrow-right { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h14.6M12.8%206.2%2018.6%2012l-5.8%205.8%22%2F%3E%3C%2Fsvg%3E"); }
.ti-check { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.4%209.6%2017%2019%207.4%22%2F%3E%3C%2Fsvg%3E"); }
.ti-close { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6.2%206.2%2017.8%2017.8M17.8%206.2%206.2%2017.8%22%2F%3E%3C%2Fsvg%3E"); }
.ti-comment-alt { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205h16v10.4H9.6L5.4%2019.4v-4H4z%22%2F%3E%3C%2Fsvg%3E"); }
.ti-email { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225.2%22%20width%3D%2218%22%20height%3D%2213.6%22%20rx%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M3.6%206.4%2012%2013.2l8.4-6.8%22%2F%3E%3C%2Fsvg%3E"); }
.ti-facebook { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20fill%3D%22black%22%20stroke%3D%22none%22%20d%3D%22M14.6%2021v-8h2.7l.4-3.2h-3.1V7.7c0-.9.3-1.5%201.6-1.5h1.6V3.3A21%2021%200%200%200%2015.4%203c-2.4%200-4%201.4-4%204.1v2.7H8.7V13h2.7v8z%22%2F%3E%3C%2Fsvg%3E"); }
.ti-heart { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020.3C9.5%2018.4%204.6%2014.9%204.6%2011a4%204%200%200%201%207.4-2.2A4%204%200%200%201%2019.4%2011c0%203.9-4.9%207.4-7.4%209.3z%22%2F%3E%3C%2Fsvg%3E"); }
.ti-instagram { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.2%22%20y%3D%223.2%22%20width%3D%2217.6%22%20height%3D%2217.6%22%20rx%3D%225%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224.1%22%2F%3E%3Ccircle%20cx%3D%2217.1%22%20cy%3D%226.9%22%20r%3D%221.05%22%2F%3E%3C%2Fsvg%3E"); }
.ti-location-pin { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021.2s7-6.3%207-11a7%207%200%201%200-14%200c0%204.7%207%2011%207%2011z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E"); }
.ti-lock { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224.8%22%20y%3D%2210.6%22%20width%3D%2214.4%22%20height%3D%229.4%22%20rx%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M8.4%2010.6V8.2a3.6%203.6%200%200%201%207.2%200v2.4%22%2F%3E%3C%2Fsvg%3E"); }
.ti-minus { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3C%2Fsvg%3E"); }
.ti-mobile { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%227.6%22%20y%3D%222.8%22%20width%3D%228.8%22%20height%3D%2218.4%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M11%2018.6h2%22%2F%3E%3C%2Fsvg%3E"); }
.ti-plus { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22%2F%3E%3C%2Fsvg%3E"); }
.ti-search { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%227%22%2F%3E%3Cpath%20d%3D%22M16.4%2016.4%2021%2021%22%2F%3E%3C%2Fsvg%3E"); }
.ti-shopping-cart { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.5%204h2.2l2.5%2010.2a1.8%201.8%200%200%200%201.8%201.4h7.6a1.8%201.8%200%200%200%201.8-1.4L20%207.6H5.6%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2219.6%22%20r%3D%221.3%22%2F%3E%3Ccircle%20cx%3D%2217.4%22%20cy%3D%2219.6%22%20r%3D%221.3%22%2F%3E%3C%2Fsvg%3E"); }
.ti-star { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20fill%3D%22black%22%20stroke%3D%22none%22%20d%3D%22m12%203.1%202.75%205.72%206.25.85-4.55%204.35%201.1%206.23L12%2017.3%206.45%2020.25l1.1-6.23L3%209.67l6.25-.85z%22%2F%3E%3C%2Fsvg%3E"); }
.ti-trash { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%206.6h16M9.4%206.6V4.4h5.2v2.2M6.4%206.6%207.4%2020h9.2l1-13.4M10.4%2010v6M13.6%2010v6%22%2F%3E%3C%2Fsvg%3E"); }
.ti-truck { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.8%206h10.6v9.6H2.8z%22%2F%3E%3Cpath%20d%3D%22M13.4%209.2h3.8l3%203.1v3.3h-6.8%22%2F%3E%3Ccircle%20cx%3D%227.2%22%20cy%3D%2218%22%20r%3D%221.7%22%2F%3E%3Ccircle%20cx%3D%2217.4%22%20cy%3D%2218%22%20r%3D%221.7%22%2F%3E%3C%2Fsvg%3E"); }
.ti-user { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%223.8%22%2F%3E%3Cpath%20d%3D%22M4.5%2020.5c0-4%203.4-6.6%207.5-6.6s7.5%202.6%207.5%206.6%22%2F%3E%3C%2Fsvg%3E"); }
.ti-wallet { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207.4h13.2a2%202%200%200%201%202%202v6.8a2%202%200%200%201-2%202H4z%22%2F%3E%3Cpath%20d%3D%22M4%207.4V6.2a2%202%200%200%201%202-2h9.4%22%2F%3E%3Ccircle%20cx%3D%2216.4%22%20cy%3D%2212.8%22%20r%3D%221.05%22%2F%3E%3C%2Fsvg%3E"); }

/* icons: 1788458367 */
.ti-image { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Ccircle%20cx%3D%228.6%22%20cy%3D%2210%22%20r%3D%221.6%22%2F%3E%3Cpath%20d%3D%22m3.6%2017.4%204.9-4.6%203.6%203.2%203.3-2.9%205%204.3%22%2F%3E%3C%2Fsvg%3E"); }
.ti-control-play { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20fill%3D%22black%22%20stroke%3D%22none%22%20d%3D%22M7%204.6v14.8c0%20.8.9%201.3%201.6.9l11.6-7.4c.6-.4.6-1.4%200-1.8L8.6%203.7C7.9%203.3%207%203.8%207%204.6z%22%2F%3E%3C%2Fsvg%3E"); }
.ti-volume { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20fill%3D%22black%22%20stroke%3D%22none%22%20d%3D%22M4%209.5h3.4L12%205.6v12.8l-4.6-3.9H4z%22%2F%3E%3Cpath%20d%3D%22M15.2%209.2a3.6%203.6%200%200%201%200%205.6M17.8%206.8a7%207%200%200%201%200%2010.4%22%2F%3E%3C%2Fsvg%3E"); }
.ti-volume-mute { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20fill%3D%22black%22%20stroke%3D%22none%22%20d%3D%22M4%209.5h3.4L12%205.6v12.8l-4.6-3.9H4z%22%2F%3E%3Cpath%20d%3D%22m15.5%209.5%205%205M20.5%209.5l-5%205%22%2F%3E%3C%2Fsvg%3E"); }
.ti-pencil-alt { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020h4.2L19.3%208.9a2%202%200%200%200%200-2.8l-1.4-1.4a2%202%200%200%200-2.8%200L4%2015.8z%22%2F%3E%3Cpath%20d%3D%22m13.6%206.2%204.2%204.2%22%2F%3E%3C%2Fsvg%3E"); }
.ti-layers { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204%203.5%208.6%2012%2013.2l8.5-4.6z%22%2F%3E%3Cpath%20d%3D%22m3.5%2012.4%208.5%204.6%208.5-4.6%22%2F%3E%3Cpath%20d%3D%22m3.5%2016%208.5%204.6%208.5-4.6%22%2F%3E%3C%2Fsvg%3E"); }
.ti-reload { --icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19.6%2012a7.6%207.6%200%201%201-2.2-5.4%22%2F%3E%3Cpath%20d%3D%22M19.6%204.4v3.8h-3.8%22%2F%3E%3C%2Fsvg%3E"); }

/* /static/css/lean/meanmenu.min.css */
a.meanmenu-reveal{display:none}
.mean-container .mean-bar{
  background: inherit;
  float: left;
  min-height: 0;
  position: relative;
  width: 100%;
  z-index: 1;
}
.mean-container a.meanmenu-reveal{
  color: #333;
  cursor: pointer;
  display: block;
  float: right;
  font-family: Arial,Helvetica,sans-serif;
  font-size: 1px;
  font-weight: 700;
  height: 22px;
  line-height: 22px;
  padding: 4px 5px;
  position: absolute;
  right: 0;
  text-decoration: none;
  top: -65px;
  width: 18px;
}
.mean-container a.meanmenu-reveal span{display:block;background:#333;height:2px;margin-top:3px}
.mean-container .mean-nav{float:left;width:100%;background:transparent}
.mean-container .mean-nav ul{padding:0;margin:0;width:100%;list-style-type:none}
.mean-container .mean-nav ul li{
  background: #f8f8f8 none repeat scroll 0 0;
  float: left;
  position: relative;
  width: 100%;
  border-top: 1px solid#ddd;
}
.mean-container .mean-nav ul li a{
  background: #f8f8f8 none repeat scroll 0 0;
  color: #666666;
  display: block;
  float: left;
  font-size: 12px;
  margin: 0;
  padding: 1em 5%;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  width: 90%;
  font-weight: bold;
}
.mobile-menu-area{
}
.mean-container .mean-nav ul li li a{
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  opacity: 0.75;
  padding: 1em 10%;
  text-shadow: none !important;
  visibility: visible;
  width: 80%;
  font-weight: normal;
  text-transform: capitalize;
  color: #444;
}
.mean-container .mean-nav ul li.mean-last a{border-bottom:0;margin-bottom:0}
.mean-container .mean-nav ul li li li a{width:70%;padding:1em 15%}
.mean-container .mean-nav ul li li li li a{width:60%;padding:1em 20%}
.mean-container .mean-nav ul li li li li li a{width:50%;padding:1em 25%}
.mean-container .mean-nav ul li a:hover{
  background: #f8f8f8 none repeat scroll 0 0;
  color: #f3a395;
}
.mean-container .mean-nav ul li a.mean-expand{
	width:26px;
	height: 15px;
    margin-top: 1px;
    padding: 6px 12px !important;
	text-align:center;
	position:absolute;
	right:0;top:0;
	z-index:2;
	font-weight:700;
	background:rgba(255,255,255,.1);
	border:0!important;
	background: #F8F8F8;
	}
.mean-container .mean-nav ul li a.mean-expand:hover{
  background: #f8f8f8;
}
.mean-container .mean-push{float:left;width:100%;padding:0;margin:0;clear:both}
.mean-nav .wrapper{width:100%;padding:0;margin:0}
.mean-container .mean-bar,.mean-container .mean-bar *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}
.mean-remove{display:none!important}
.mean-container .mean-bar::after{
  color: #333;
  content: inherit;
  font-size: 21px;
  font-weight: 700;
  left: 5%;
  position: absolute;
  top: 13px;
}
/* /static/css/lean/bundle.css */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/fonts/google/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtY.woff2) format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/fonts/google/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKeiunDXbtY.woff2) format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/static/fonts/google/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDXbtY.woff2) format('woff2');
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/static/fonts/google/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-WYiFV0Uw.woff2) format('woff2');
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/fonts/google/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-B4iFV0Uw.woff2) format('woff2');
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/fonts/google/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-NYiFV0Uw.woff2) format('woff2');
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/fonts/google/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-4I-FV0Uw.woff2) format('woff2');
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/static/fonts/google/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-ro-FV0Uw.woff2) format('woff2');
}

body{
    font-family: 'Rubik', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
	color:#303030;
}
.img{
    max-width: 100%;
    transition: all 0.3s ease-out 0s;
}
a,.btn{
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}
.btn{
    border-radius: 0px;
    font-size: 14px;
    padding: 0px 15px;
    height: 30px;
    line-height: 30px;
}
a:focus,.btn:focus{
    text-decoration: none;
    outline: none;
}
a:hover{
  color: #333;
  text-decoration: none;
}
a:focus{
  color: #333;
  text-decoration: none;
}
a,button,input{
    outline: medium none;
    color: #686868;
}
.uppercase{ 
    text-transform: uppercase
}
h1,h2,h3,h4,h5,h6{
    font-family: 'Rubik', sans-serif;
    font-weight: normal;
    color: #303030;
    margin-top: 0px;
    font-style: normal;
    font-weight: 400;
}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{ 
    color: inherit 
}
h1{
    font-size: 46px;
    font-weight: 500;
}
h2{
    font-size: 37px;
}
h3{
    font-size: 28px;
}
h4{
    font-size: 22px;
}
h5{
    font-size: 18px;
}
h6{
    font-size: 16px;
}
ul{
    margin: 0px;
    padding: 0px;
}
li{ list-style: none }
p{
    font-size: 14px;
    font-weight: normal;
    line-height: 26px;
    color: #807f7f;
    margin-bottom: 15px;
    font-family: 'Rubik', sans-serif;
}
hr{
    margin: 60px 0;
    padding: 0px;
    border-bottom: 1px solid #eceff8;
    border-top: 0px;
}
label{
    font-size: 15px;
    font-weight: 400;
    color: #626262;
}
*::-moz-selection{
    background: #4fc1f0;
    color: #fff;
    text-shadow: none;
}
::-moz-selection{
    background: #4fc1f0;
    color: #fff;
    text-shadow: none;
}
::selection{
    background: #4fc1f0;
    color: #fff;
    text-shadow: none;
}
.mark,mark{
    background: #4fc1f0 none repeat scroll 0 0;
    color: #ffffff;
}
span.tooltip-content{
  color: #00a9da;
  cursor: help;
  font-weight: 600;
}
.fix{
    overflow: hidden
}
a.button::after{
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}
.share ul,.share:hover ul{
    transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}
input,select,textarea{
    -webkit-transition: all 0.5s ease-out 0s;
    -moz-transition: all 0.5s ease-out 0s;
    -ms-transition: all 0.5s ease-out 0s;
    -o-transition: all 0.5s ease-out 0s;
    transition: all 0.5s ease-out 0s;
}
.button{
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid #9c9c9c;
  border-radius: 0px;
  box-shadow: none;
  color: #9c9c9c;
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.4px;
  overflow: hidden;
  padding: 12px 30px;
  position: relative;
  text-transform: uppercase;
}
.button:hover{border:1px solid #fff;color:#fff}
.button.border-white{border-color:#fff;}
.button.large{margin-right: 0px; }
.button.large span{ padding: 16px 80px; font-size: 18px;  }
.button.large i{ padding: 20px; width: 60px; font-size: 18px; }
.button.medium span{ padding: 14px 60px; font-size: 16px; }
.button.medium i{ padding: 17px; width: 50px; font-size: 16px; }
.button.small span{ padding: 12px 40px; }
.button.small i{ padding: 14px; width: 45px; }
.button.small span{ padding: 12px 40px; }
.button.small i{ padding: 15px; width: 45px; }
.text-blue{ color: #4FC1F0; }
.text-white{ color: #fff ;}
.text-black{ color: #363636; }
.text-theme{ color: #f10; }
.text-theme{
  color: #4a90e2;
}
.text-white h1,.text-white p,.text-white h2{ color: #fff; }
input{
    background: #eceff8;
    border: 2px solid #eceff8;
    height: 45px;
    box-shadow: none;
    padding-left: 10px;
    font-size: 14px;
    color: #626262;
    width: 100%;
}
select{
    width: 100%;
    background: #eceff8;
    border: 2px solid #eceff8;
    height: 45px;
    padding-left: 10px;
    box-shadow: none;
    font-size: 14px;
    color: #626262;
}
option{
    background: #fff;
    border: 0px solid #626262;
    padding-left: 10px;
    font-size: 14px;
}
input:focus{
    background: transparent;
    border: 2px solid #4FC1F0;
}
textarea{
    resize: vertical;
    background: #eceff8;
    border: 2px solid #eceff8;
    padding: 10px;
    width: 100%;
    font-size: 14px;
}
textarea:focus{
    background: transparent;
    border: 2px solid #4FC1F0;
    outline: none;
}
::-moz-placeholder{
    color: #444;
}
.m-0{
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
}
.p-0{
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
}
.mt-0{ margin-top: 0 }
.mt-10{ margin-top: 10px }
.mt-12{ margin-top: 12px }
.mt-15{ margin-top: 15px }
.mt-20{ margin-top: 20px }
.mt-30{ margin-top: 30px }
.mt-35{ margin-top: 35px }
.mt-37{ margin-top: 37px }
.mt-40{ margin-top: 40px }
.mt-50{ margin-top: 50px }
.mt-55{ margin-top: 55px }
.mt-60{ margin-top: 60px }
.mt-70{ margin-top: 70px }
.mt-80{ margin-top: 80px }
.mt-90{ margin-top: 90px }
.mt-100{ margin-top: 100px }
.mt-110{ margin-top: 110px }
.mt-120{ margin-top: 120px }
.mt-130{ margin-top: 130px }
.mt-140{ margin-top: 140px }
.mt-160{ margin-top: 160px }
.mt-179{ margin-top: 179px }
.mt-150{ margin-top: 150px }
.mr-0{ margin-right: 0px }
.mr-10{ margin-right: 10px }
.mr-12{ margin-right: 12px }
.mr-15{ margin-right: 15px }
.mr-20{ margin-right: 20px }
.mr-30{ margin-right: 30px }
.mr-35{ margin-right: 35px }
.mr-40{ margin-right: 40px }
.mr-50{ margin-right: 50px }
.mr-60{ margin-right: 60px }
.mr-70{ margin-right: 70px }
.mr-80{ margin-right: 80px }
.mr-90{ margin-right: 90px }
.mr-100{ margin-right: 100px }
.mr-110{ margin-right: 110px }
.mr-120{ margin-right: 120px }
.mr-130{ margin-right: 130px }
.mr-140{ margin-right: 140px }
.mr-150{ margin-right: 150px }
.mb-0{ margin-bottom: 0 }
.mb-10{ margin-bottom: 10px }
.mb-12{ margin-bottom: 12px }
.mb-15{ margin-bottom: 15px }
.mb-20{ margin-bottom: 20px }
.mb-25{ margin-bottom: 25px }
.mb-30{ margin-bottom: 30px }
.mb-35{ margin-bottom: 35px }
.mb-40{ margin-bottom: 40px }
.mb-45{ margin-bottom: 45px }
.mb-50{ margin-bottom: 50px }
.mb-55{ margin-bottom: 55px }
.mb-60{ margin-bottom: 60px }
.mb-65{ margin-bottom: 65px }
.mb-70{ margin-bottom: 70px }
.mb-80{ margin-bottom: 80px }
.mb-90{ margin-bottom: 90px }
.mb-100{ margin-bottom: 100px }
.mb-110{ margin-bottom: 110px }
.mb-120{ margin-bottom: 120px }
.mb-130{ margin-bottom: 130px }
.mb-140{ margin-bottom: 140px }
.mb-150{ margin-bottom: 150px }
.ml-0{ margin-left: 0 }
.ml-10{ margin-left: 10px }
.ml-12{ margin-left: 12px }
.ml-15{ margin-left: 15px }
.ml-20{ margin-left: 20px }
.ml-30{ margin-left: 30px }
.ml-40{ margin-left: 40px }
.ml-50{ margin-left: 50px }
.ml-60{ margin-left: 60px }
.ml-70{ margin-left: 70px }
.ml-80{ margin-left: 80px }
.ml-90{ margin-left: 90px }
.ml-100{ margin-left: 100px }
.ml-110{ margin-left: 110px }
.ml-120{ margin-left: 120px }
.ml-125{ margin-left: 125px }
.ml-130{ margin-left: 130px }
.ml-140{ margin-left: 140px }
.ml-150{ margin-left: 150px }
.pt-0{ padding-top: 0 }
.pt-10{ padding-top: 10px }
.pt-15{ padding-top: 15px }
.pt-20{ padding-top: 20px }
.pt-30{ padding-top: 30px }
.pt-37{ padding-top: 37px }
.pt-40{ padding-top: 40px }
.pt-50{ padding-top: 50px }
.pt-55{ padding-top: 55px }
.pt-60{ padding-top: 60px }
.pt-65{ padding-top: 65px }
.pt-70{ padding-top: 70px }
.pt-75{ padding-top: 75px }
.pt-80{ padding-top: 80px }
.pt-85{ padding-top: 85px }
.pt-95{ padding-top: 95px }
.pt-90{ padding-top: 90px }
.pt-97{ padding-top: 97px }
.pt-100{ padding-top: 100px }
.pt-95{ padding-top: 95px }
.pt-105{ padding-top: 105px }
.pt-110{ padding-top: 110px }
.pt-115{ padding-top: 115px }
.pt-120{ padding-top: 120px }
.pt-125{ padding-top: 125px }
.pt-130{ padding-top: 130px }
.pt-135{ padding-top: 135px }
.pt-140{ padding-top: 140px }
.pt-150{ padding-top: 150px }
.pt-155{ padding-top: 155px }
.pt-180{ padding-top: 180px }
.pt-205{ padding-top: 205px }
.pt-365{ padding-top: 365px }
.pt-370{ padding-top: 370px }
.pt-380{ padding-top: 380px }
.pr-0{ padding-right: 0 }
.pr-10{ padding-right: 10px }
.pr-15{ padding-right: 15px }
.pr-20{ padding-right: 20px }
.pr-30{ padding-right: 30px }
.pr-40{ padding-right: 40px }
.pr-50{ padding-right: 50px }
.pr-60{ padding-right: 60px }
.pr-70{ padding-right: 70px }
.pr-80{ padding-right: 80px }
.pr-90{ padding-right: 90px }
.pr-100{ padding-right: 100px }
.pr-110{ padding-right: 110px }
.pr-120{ padding-right: 120px }
.pr-130{ padding-right: 130px }
.pr-140{ padding-right: 140px }
.pr-155{ padding-right: 155px }
.pr-155{ padding-right: 155px }
.pr-180{ padding-right: 180px }
.pr-195{ padding-right: 195px }
.pb-0{ padding-bottom: 0 }
.pb-10{ padding-bottom: 10px }
.pb-15{ padding-bottom: 15px }
.pb-20{ padding-bottom: 20px }
.pb-25{ padding-bottom: 25px }
.pb-30{ padding-bottom: 30px }
.pb-35{ padding-bottom: 35px }
.pb-40{ padding-bottom: 40px }
.pb-45{ padding-bottom: 45px }
.pb-50{ padding-bottom: 50px }
.pb-55{ padding-bottom: 55px }
.pb-60{ padding-bottom: 60px }
.pb-65{ padding-bottom: 65px }
.pb-70{ padding-bottom: 70px }
.pb-75{ padding-bottom: 75px }
.pb-80{ padding-bottom: 80px }
.pb-85{ padding-bottom: 85px }
.pb-90{ padding-bottom: 90px }
.pb-95{ padding-bottom: 95px }
.pb-97{ padding-bottom: 97px }
.pb-100{ padding-bottom: 100px }
.pb-105{ padding-bottom: 105px }
.pb-107{ padding-bottom: 107px }
.pb-110{ padding-bottom: 110px }
.pb-115{ padding-bottom: 115px }
.pb-120{ padding-bottom: 120px }
.pb-125{ padding-bottom: 125px }
.pb-130{ padding-bottom: 130px }
.pb-140{ padding-bottom: 140px }
.pb-145{ padding-bottom: 145px }
.pb-150{ padding-bottom: 150px }
.pb-178{ padding-bottom: 178px }
.pb-180{ padding-bottom: 180px }
.pb-280{ padding-bottom: 280px }
.pb-210{ padding-bottom: 210px }
.pb-285{ padding-bottom: 285px }
.pb-290{ padding-bottom: 290px }
.pl-0{ padding-left: 0 }
.pl-10{ padding-left: 10px }
.pl-15{ padding-left: 15px }
.pl-20{ padding-left: 20px }
.pl-30{ padding-left: 30px }
.pl-40{ padding-left: 40px }
.pl-50{ padding-left: 50px }
.pl-60{ padding-left: 60px }
.pl-70{ padding-left: 70px }
.pl-80{ padding-left: 80px }
.pl-90{ padding-left: 90px }
.pl-100{ padding-left: 100px }
.pl-110{ padding-left: 110px }
.pl-120{ padding-left: 120px }
.pl-125{ padding-left: 125px }
.pl-130{ padding-left: 130px }
.pl-140{ padding-left: 140px }
.pl-150{ padding-left: 150px }
.pl-155{ padding-left: 155px }
.pl-190{ padding-left: 190px }
.pl-195{ padding-left: 195px }
.pricing .container .row [class*="col-"]{ }
.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10{
    float: left;
}
.col-1{
    width: 10%;
}
.col-2{
    width: 20%;
}
.col-3{
    width: 30%;
}
.col-4{
    width: 40%;
}
.col-5{
    width: 50%;
}
.col-6{
    width: 60%;
}
.col-7{
    width: 70%;
}
.col-8{
    width: 80%;
}
.col-9{
    width: 90%;
}
.col-10{
    width: 100%;
}
.gray-bg{ background: #f0f1f5; }
[data-overlay]{
  position: relative;
}
[data-overlay]::before{
  background: #252525 none repeat scroll 0 0;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
[data-overlay="3"]::before{
  opacity: 0.3;
}
[data-overlay="4"]::before{
  opacity: 0.4;
}
[data-overlay="5"]::before{
  opacity: 0.5;
}
[data-overlay="56"]::before{
  opacity: 0.56;
}
[data-overlay="6"]::before{
  opacity: 0.6;
}
[data-overlay="7"]::before{
  opacity: 0.7;
}
[data-overlay="8"]::before{
  opacity: 0.8;
}
[white-overlay]{
  position: relative;
}
[white-overlay]::before{
  background: #fff none repeat scroll 0 0;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
[white-overlay="3"]::before{
  opacity: 0.3;
}
[white-overlay="4"]::before{
  opacity: 0.4;
}
[white-overlay="5"]::before{
  opacity: 0.3;
}
[white-overlay="6"]::before{
  opacity: 0.6;
}
[white-overlay="7"]::before{
  opacity: 0.8;
}
[white-overlay="9"]::before{
  opacity: 0.9;
}
.bg-1,.bg-2,.bg-3,.bg-4,.bg-5,.bg-6,.bg-7,.bg-8,.bg-9,.bg-10{
    background-attachment: fixed; background-clip: initial; background-color: rgba(0, 0, 0, 0); background-origin: initial; background-position: center center; background-repeat: no-repeat; background-size: cover; position: relative; z-index: 0;
 }
.bg-1{
  background: url(/images/bg/1.jpg);}
.bg-2{ background: url(/images/bg/2.jpg);}
.bg-3{ background: url(/images/bg/3.jpg);}
.bg-4{ background: url(/images/bg/4.jpg);}
.bg-5{ background: url(/images/bg/5.jpg);}
.bg-6{ background: url(/images/bg/6.jpg);}
.bg-7{ background: url(/images/bg/7.jpg);}
.bg-8{ background: url(/images/bg/8.jpg);}
.bg-9{ background: url(/images/bg/9.jpg);}
.bg-10{ background: url(/images/bg/10.jpg);}
.bg-img{
  background-position: center center;
  background-size: cover;
}
:focus{
    outline: -webkit-focus-ring-color auto 0px;
}
:focus{
    outline: -mos-focus-ring-color auto 0px;
}
.btn-style{
  background-color: #f3a395;
  border-radius: 0;
  color: #ffffff;
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 18px;
  padding: 13px 33px;
  position: relative;
  text-transform: uppercase;
  transition: all 0.6s ease-in-out 0s;
    overflow: hidden;
    z-index: 99;
}
.cr-btn span{
  position: relative;
    z-index: 9;
}
button:focus{
  outline: none;
}
.relative{
    position: relative;
}
.border-bottom-1{
    border-bottom: 1px solid #d5d5d5;
}
.border-top-1{
  border-top: 1px solid #d7d7d7;
}
.border-top-2{
  border-top: 1px solid #ebebeb;
}
.btn-style-2{
  border: 1px solid #000000;
  border-radius: 50px;
  color: #3e3e3e;
  display: inline-block;
  font-size: 16px;
  letter-spacing: 0.5px;
  line-height: 1;
  overflow: hidden;
  padding: 16px 40px 17px;
    position: relative;
}
.btn-style-2:hover{
  color: #fff;
}
/* /static/css/lean/style.css */
﻿
.header-area{
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99;
    transition: all 0.7s ease 0s;
}
.transparent-bar.stick{
    background-color: #fff;
    border-bottom: 0 solid #4a90e2;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.04);
    position: fixed;
    top: 0;
    width: 100%;
    padding: 15px 0;
    animation: 700ms ease-in-out 0s normal none 1 running fadeInDown;
    z-index: 9999;
}
.logo,.logo-menu-wrapper,.header-site-icon,.sticky-logo{
    transition: all 0.7s ease 0s;
}
.stick .logo{
    display: none;
    transition: all 0.7s ease 0s;
}
.sticky-logo{
    display: none;
    transition: all 0.7s ease 0s;
}
.stick .sticky-logo{
    display: block;
    padding-top: 4px;
}
.stick .logo-menu-wrapper{
    padding-top: 0px;
}
.stick .header-site-icon{
    padding-top: 17px;
}
.stick .main-menu ul li a{
    line-height: 60px;
}
.language{
    margin-right: 27px;
}
.mobile-menu-area{
    display: none;
}
.logo-menu-wrapper{
    padding-top: 37px;
}
.logo-small-device{
    padding-top: 30px;
    display: none;
}
.main-menu ul li{
    display: inline-block;
    padding: 0 18px;
    position: relative;
}
.main-menu ul li a{
    color: #797979;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.5px;
    line-height: 82px;
    text-transform: uppercase;
}
.main-menu ul li:hover > a{
    color: #f3a395;
}
.main-menu nav > ul > li > ul{
    background: #fff none repeat scroll 0 0;
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.1);
    display: block;
    left: -23px;
    opacity: 0;
    padding: 25px 0px 27px;
    position: absolute;
    text-align: left;
    top: 120%;
    transition: all 0.3s ease 0s;
    visibility: hidden;
    width: 200px;
    z-index: 999;
}
.main-menu nav ul li:hover > ul{
    opacity: 1;
    top: 100%;
    visibility: visible;
}
.main-menu nav ul li ul > li{
    display: block;
    position: relative;
}
.main-menu nav ul li ul > li > a::before{
    background: #f3a395 none repeat scroll 0 0;
    content: "";
    height: 7px;
    left: 15px;
    opacity: 0;
    position: absolute;
    top: 14px;
    transition: all 0.3s ease-in-out 0s;
    width: 7px;
    border-radius: 50%;
    z-index: 999;
}
.main-menu nav ul li ul > li:hover > a::before{
    opacity: 1;
}
.main-menu nav ul li ul li > a,.stick .main-menu nav ul li ul li > a{
    color: #666;
    font-weight: 400;
    letter-spacing: 0.8px;
    line-height: 32px;
    text-transform: capitalize;
    display: block;
}
.main-menu nav ul li ul li.active > a,.stick .main-menu nav ul li ul li.active > a{
    color: #f3a395;
}
.main-menu nav ul li ul li:hover > a{
    padding-left: 15px;
}
.main-menu nav > ul > li > ul.lavel-menu li ul{
    background: #fff none repeat scroll 0 0;
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.1);
    display: block;
    left: 100%;
    opacity: 0;
    padding: 25px 0px 27px;
    position: absolute;
    text-align: left;
    top: 10px;
    transition: all 0.3s ease 0s;
    visibility: hidden;
    width: 200px;
    z-index: 999;
}
.main-menu nav > ul > li > ul.lavel-menu li:hover > ul{
    opacity: 1;
    top: 0px;
    visibility: visible;
}
.main-menu ul li a span{
    float: right;
}
.header-site-icon{
    display: flex;
    justify-content: flex-end;
    padding-top: 56px;
}
.same-style{
    margin-left: 16px;
}
.same-style:first-child{
    margin-left: 0px;
}
.same-style button,.same-style a{
    background-color: transparent;
    border: medium none;
    color: #666666;
    font-size: 20px;
    cursor: pointer;
    position: relative;
}
.same-style button:hover,.same-style a:hover{
    color: #f3a395;
}
.header-cart button span{
    font-size: 12px;
    position: absolute;
    right: -1px;
    top: -6px;
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: #f3a395;
    color: #fff;
    text-align: center;
    line-height: 20px;
    border-radius: 50px;
}
.sidebar-cart{
    background: #ffffff none repeat scroll 0 0;
    color: #353535;
    min-height: 100vh;
    position: fixed;
    right: -480px;
    top: 0;
    -webkit-transition: all 0.5s ease-in-out 0s;
    -ms-transition: all 0.5s ease-in-out 0s;
    transition: all 0.5s ease-in-out 0s;
    width: 480px;
    z-index: 9999;
}
.wrap-sidebar{
    height: 100vh;
    margin: 0;
    overflow-y: auto;
    padding: 45px 46px 0;
    width: 100%;
}
.sidebar-cart-all{
    padding-bottom: 39px;
}
.sidebar-cart.inside{
    right: 0px;
}
.sidebar-cart-icon,.sidebar-nav-icon{
    display: block;
    margin-bottom: 14px;
    overflow: hidden;
}
.sidebar-cart-icon button,.sidebar-nav-icon button{
    background: transparent none repeat scroll 0 0;
    border: medium none;
    color: #303030;
    cursor: pointer;
    float: right;
    font-size: 27px;
    padding: 0;
    transition: all 0.3s ease 0s;
}
.sidebar-cart-icon button:hover,.sidebar-search-icon button:hover,.sidebar-search-input form .form-search button:hover,.sidebar-nav-icon button:hover{
    color: #f3a395;
}
.cart-content > h3{
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}
.cart-content ul li.single-product-cart{
    display: flex;
    margin-bottom: 27px;
}
.cart-img img{
    flex: 0 0 80px;
}
.cart-content ul li.single-product-cart:last-child{
    margin-bottom: 0px;
}
.cart-title > h3{
    color: #646464;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 12px;
}
.cart-title > span{
    color: #f3a395;
    font-weight: 600;
}
.cart-title{
    margin: 0px 0 18px 30px;
}
.cart-delete{
    display: flex;
    flex-grow: 100;
    justify-content: flex-end;
}
.cart-delete a i{
    color: #4b4b4b;
    display: inline-block;
    font-size: 17px;
    line-height: 1;
    margin-top: 4px;
}
.cart-delete a i:hover{
    color: #f3a395;
}
.cart-content ul{
    margin-top: 47px;
}
.cart-total{
    border-top: 1px solid #e3e3e3;
    margin-top: 29px;
    padding-top: 17px;
    text-align: right;
    width: 100%;
}
.cart-total h4{
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.5px;
}
.cart-total h4 span{
    color: #f3a395;
    font-size: 18px;
    font-weight: 600;
}
.cart-checkout-btn > a.no-mrg{
    margin-right: 0px;
}
.cart-checkout-btn{
    margin-top: 13px;
}
.wrapper .body-overlay{
    background: rgba(0, 0, 0, 0.7) none repeat scroll 0 0;
    cursor: crosshair;
    height: 100%;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: all 0.5s ease-in-out 0s;
    visibility: hidden;
    width: 100%;
    z-index: 999;
}
.wrapper.overlay-active .body-overlay{
    opacity: 1;
    visibility: visible;
}
.btn-style.cart-btn-style{
    letter-spacing: 1px;
    margin-right: 30px;
    padding: 16px 48px 15px;
}
.btn-hover:hover{
    color: white;
}
.btn-hover{
    position: relative;
}
.main-search-active{
    background: rgba(0, 0, 0, 0.92) none repeat scroll 0 0;
    color: #353535;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 32px 46px 39px;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(110%);
    transition: transform 0.5s ease-in-out 0s;
    width: 100%;
    z-index: 9999;
}
.main-search-active.inside{
    transform: translateX(0px);
    z-index: 9999;
}
.sidebar-search-input{
    padding: 300px 0 0;
}
.sidebar-search-input form .form-search{
    position: relative;
}
.sidebar-search-input form .form-search input{
    background-color: transparent;
    border-color: #dadada;
    border-style: solid;
    border-width: 0 0 1px;
    color: #fff;
    display: block;
    font-size: 17px;
    height: 62px;
    line-height: 62px;
    padding: 0 40px 0 0;
    width: 800px;
}
.sidebar-search-input form .form-search button{
    background-color: transparent;
    border: medium none;
    color: #dadada;
    cursor: pointer;
    font-size: 25px;
    padding: 0;
    position: absolute;
    right: 0;
    top: 18px;
    transition: all 0.3s ease 0s;
}
.sidebar-search-icon{
    display: block;
    float: right;
    overflow: hidden;
    position: absolute;
    right: 375px;
}
.sidebar-search-icon button{
    background: transparent none repeat scroll 0 0;
    border: medium none;
    color: #fff;
    cursor: pointer;
    font-size: 35px;
    line-height: 1;
    padding: 0;
    transition: all 0.3s ease 0s;
}
.sidebar-search-input form .form-search input::-moz-placeholder{
    color: #fff;
    opacity: 1;
}
.sidebar-search-input form .form-search input::-webkit-placeholder{
    color: #fff;
    opacity: 1;
}
.product-wrapper,.product-img{
    overflow: hidden;
    position: relative;
}
.product-img img{
    width: 100%;
}
.product-content{
    padding-top: 26px;
}
.product-content > h4{
    color: #646464;
    font-size: 16px;
    margin: 0;
}
.product-content > h4 a{
    color: #646464;
}
.product-content > h4 a:hover{
    color: #f3a395;
}
.product-price > span.old{
    font-size: 14px;
    font-weight: 400;
    text-decoration: line-through;
}
.product-price > span{
    color: #646464;
    display: inline-block;
    font-size: 20px;
    font-weight: 500;
    margin: 0 2px;
}
.product-img > span{
    background-color: #fff;
    box-shadow: 0 0 8px 1.7px rgba(0, 0, 0, 0.06);
    color: #333;
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    left: 20px;
    letter-spacing: 1px;
    padding: 3px 12px;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    top: 20px;
}
.product-img img{
    transition: all 1.5s ease 0s;
    width: 100%;
}
.product-wrapper:hover .product-img img{
    transform: scale(1.2);
}
.overflow{
    overflow: hidden;
}
.owl-dots{
    bottom: 0;
    left: 0;
    padding: 15px;
    position: absolute;
    right: 0;
    text-align: center;
}
.timer span{
    color: #646464;
    display: inline-block;
    font-size: 48px;
    line-height: 1;
    margin: 0 15px;
    position: relative;
}
.timer span p{
    display: none;
}
.timer{
    margin: 24px 0 33px;
}
.modal-body{
    display: flex;
    justify-content: space-between;
    padding: 50px;
}
.modal-dialog{
    margin: 150px auto;
    min-width: 878px;
}
.modal-content{
    border-radius: 0rem;
}
.price span{
    color: #707070;
    font-size: 18px;
    font-weight: 400;
}
.price span.new{
    color: #f3a395;
    margin-right: 12px;
}
.price span.old{
    color: #707070;
    text-decoration: line-through;
}
.select-option-part label{
    color: #646464;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 14px;
}
.select-option-part{
    margin-bottom: 35px;
}
.select-option-part select{
    -moz-appearance: none;
    -webkit-appearance: none;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    color: #828282;
    font-size: 14px;
    height: 43px;
    padding-left: 20px;
    position: relative;
    width: 100%;
    background: rgba(0, 0, 0, 0) url("/static/img/icon-img/1.png") no-repeat scroll right 20px center;
}
.qtybutton{
    color: #727272;
    cursor: pointer;
    float: left;
    font-size: 16px;
    font-weight: 600;
    height: 20px;
    line-height: 20px;
    position: relative;
    text-align: center;
    width: 20px;
}
input.cart-plus-minus-box{
    background: transparent none repeat scroll 0 0;
    border: medium none;
    float: left;
    font-size: 16px;
    height: 25px;
    margin: 0;
    padding: 0;
    text-align: center;
    width: 25px;
}
.cart-plus-minus *::-moz-selection{
    background: transparent none repeat scroll 0 0;
    color: #333;
    text-shadow: none;
}
.cart-plus-minus{
    border: 1px solid #dcdcdc;
    overflow: hidden;
    padding: 12px 0 7px 5px;
    width: 80px;
    height: 46px;
}
.quickview-plus-minus{
    display: flex;
    justify-content: flex-start;
    padding-top: 5px;
}
.qtybutton.inc{
    margin-top: 2px;
}
.price{
    margin: 9px 0 8px;
}
.modal-backdrop.show{
    opacity: 0.8;
}
.modal-content .close:hover{
    color: #f3a395;
}
.modal-open .modal{
    z-index: 99999;
}
.modal-backdrop.show{
    z-index: 9999;
}
.sidebarmenu-wrapper{
    background: #fff none repeat scroll 0 0;
    box-shadow: 0 0 25px rgba(0, 0, 0, 0.05);
    height: 100%;
    left: -500px;
    overflow-y: auto;
    padding: 155px 50px 15px 50px;
    position: fixed;
    top: 0;
    transition: all 0.4s ease 0s;
    width: 350px;
    z-index: 9999;
}
.sidebarmenu-style nav.menu ul li{
    display: block;
}
.sidebarmenu-style nav.menu ul li a{
    color: #797979;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
    padding: 18px 0;
    text-transform: uppercase;
    display: block;
}
.sidebarmenu-style nav.menu ul li:hover > a{
    color: #f3a395;
}
.sidebarmenu-style nav.menu ul li ul{
    padding-left: 16px;
}
.sidebarmenu-style nav.menu ul li ul li a{
    font-size: 14px;
    font-weight: 400;
    padding: 8px 0;
    text-transform: capitalize;
    color: #797979;
}
.sidebarmenu-style nav.menu ul li ul li.active a{
    color: #f3a395;
}
.header-2.stick .sticky-logo{
    padding-top: 0;
}
.header-2.stick .header-site-icon{
    padding-top: 12px;
}
a.cr-btn b,button.cr-btn b{
    background: rgba(25, 25, 25, 1) none repeat scroll 0 0;
    border-radius: 50%;
    bottom: 0;
    display: block;
    height: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(-50%, -50%);
    transition: width 0.6s ease-in-out 0s, height 0.6s ease-in-out 0s;
    width: 0;
    z-index: 1;
}
a.cr-btn:hover b,button.cr-btn:hover b{
    height: 500px;
    width: 500px;
}
.btn-style:hover{
    border: 0px solid #f3a395;
    color: #ffffff;
}
.modal-compare-width{
    max-width: 900px;
}
.modal .close{
    color: #fff;
    float: right;
    font-size: 50px;
    font-weight: bold;
    line-height: 1;
    margin-right: 50px;
    opacity: 1;
    text-shadow: 0 1px 0 #fff;
}
.header-height{
    min-height: 116px;
}
.sky{
    background-color: #dbfafe;
}
.align-item{
    align-items: center;
}
.hidden{
    display: none;
}
.breadcrumb-content > h2{
    color: #353535;
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: capitalize;
}
.breadcrumb-content li{
    color: #353535;
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.1px;
    text-transform: uppercase;
}
.breadcrumb-content li a{
    color: #353535;
    padding-right: 10px;
    position: relative;
}
.breadcrumb-content li a:hover{
    color: #f3a395;
}
.breadcrumb-content li a::after{
    background-color: #4b4b4b;
    content: "";
    height: 1px;
    position: absolute;
    right: -3px;
    top: 7px;
    transform: rotate(-71deg);
    width: 12px;
}
.breadcrumb-content{
    padding: 32px 0 35px;
}
#map{
    height: 500px;
    width: 100%;
}
button.product-filter-toggle{
    background-color: transparent;
    border: medium none;
    cursor: pointer;
    font-weight: 500;
    letter-spacing: 0.5px;
    margin-top: 11px;
    padding: 0;
    text-transform: uppercase;
}
.product-filter-wrapper{
    background-color: #fff;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
    display: none;
    margin-bottom: 40px;
    padding: 45px 45px 12px;
    width: 100%;
}
button.product-filter-toggle:hover{
    color: #f3a395;
}
.pagination-style li{
    display: inline-block;
    margin: 0 11px;
}
.pagination-style li a{
    color: #333;
    font-size: 16px;
    font-weight: bold;
}
.pagination-style li a:hover,.pagination-style li a.active{
    color: #f3a395;
}
.product-details-large .easyzoom > a img{
    width: 100%;
}
.table-content table{
    width: 100%;
}
.wishlist .table-content table{
    margin: 0 0 0px;
}
.table-content.wish table{
    margin: 0 0 0px;
}
.table-content table thead tr{
    border-bottom: 3px solid #e1e1e1;
}
.table-content table th{
    border-top: medium none;
    color: #444;
    font-size: 18px;
    font-weight: 400;
    padding: 0px 10px 12px;
    text-transform: capitalize;
}
.table-content table td{
    padding: 30px 10px 0;
}
.table-content table td input{
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background: #f7f7f7 none repeat scroll 0 0;
    border-color: currentcolor #ebebeb currentcolor currentcolor;
    border-image: none;
    border-radius: 0;
    border-style: none solid none none;
    border-width: medium 1px medium medium;
    color: #3f3f3f;
    font-size: 14px;
    font-weight: normal;
    height: 45px;
    padding: 0;
    text-align: center;
    width: 75px;
}
.table-content table .product-price .amount{
    color: #444;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 1px;
}
.table-content table td.product-price{
    width: 130px;
}
.coupon input{
    background: #fff none repeat scroll 0 0;
    border: medium none;
    height: 56px;
    padding-left: 10px;
    padding-right: 50px;
}
.coupon{
    position: relative;
}
.form-row > label{
    margin-top: 7px;
}
.order-notes textarea{
    background-color: transparent;
    border: 1px solid #ddd;
    height: 90px;
    padding: 15px;
    width: 100%;
}
#ship-box-info{
    display: none
}
.order-button-payment input{
    background: #464646 none repeat scroll 0 0;
    border: 1px solid transparent;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    height: inherit;
    letter-spacing: 1px;
    margin: 20px 0 0;
    padding: 13px 20px 11px;
    text-transform: uppercase;
    transition: all 0.3s ease 0s;
    width: 100%;
}
.order-button-payment input:hover{
    background: #f3a395;
    border: 1px solid #f3a395;
    color: #fff;
}
blockquote{
    margin: 0;
}
.link-content{
    z-index: 9;
    position: relative;
}
.link-post{
    background-color: #000000;
    padding: 74px 48px 77px;
    position: relative;
}
.link-content > span{
    color: #ececec;
}
.link-content > h3{
    color: #f3f2f2;
    font-size: 18px;
    font-weight: 500;
    margin: 20px 0 0;
    text-transform: uppercase;
}
.link-content > h3 a{
    color: #f3f2f2;
}
.link-content > h3 a:hover{
    color: #f3a395;
}
#scrollUp{
    background: #f3a395 none repeat scroll 0 0;
    bottom: 85px;
    color: #ffffff;
    cursor: pointer;
    display: none;
    font-size: 20px;
    height: 40px;
    line-height: 40px;
    position: fixed;
    right: 12px;
    text-align: center;
    width: 38px;
    z-index: 9999;
}
#scrollUp:hover{
    background: #333 none repeat scroll 0 0;
}
.header-area.header-static:not(.stick){
    position: relative;
}
.link-btn{
    background: none;
    border: 0;
    padding: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
}
.cart-delete .link-btn{
    color: #646464;
    font-size: 16px;
}
.cart-delete .link-btn:hover{
    color: #f3a395;
}
.text-danger{
    color: #e74c3c;
}
/* /static/css/lean/responsive.css */
@media (min-width: 1200px) and (max-width: 1600px){.pl-195{
        padding-left: 90px;
    }
.pr-195{
        padding-right: 90px;
    }
.pr-155{
        padding-right: 95px;
    }
.mt-150{
        margin-top: 130px;
    }}
@media (min-width: 992px) and (max-width: 1200px){.mt-150{
        margin-top: 110px;
    }
.mt-179{
        margin-top: 80px;
    }
.pl-195{
        padding-left: 50px;
    }
.pr-195{
        padding-right: 50px;
    }
.pt-180{
        padding-top: 142px;
    }
.pb-178{
        padding-bottom: 140px;
    }
.pr-155{
        padding-right: 76px;
    }
.product-details-tab.mr-40{
        margin-right: 20px;
    }
.sidebar-search-input{
        padding: 250px 0 0;
    }
.sidebarmenu-wrapper{
        width: 320px;
    }}
@media (min-width: 768px) and (max-width: 991px){.main-menu nav > ul > li{
        padding: 0 5px;
    }
.main-menu nav > ul > li > ul.lavel-menu{
        left: -95px;
    }
.main-menu ul li a{
        font-size: 12px;
    }
.main-menu nav ul li ul li > a,.stick .main-menu nav ul li ul li > a{
        font-size: 13px;
    }
.mt-150{
        margin-top: 110px;
    }
.mt-179{
        margin-top: 57px;
    }
.pr-100{
        padding-right: 58px;
    }
.pl-195{
        padding-left: 20px;
    }
.pr-195{
        padding-right: 20px;
    }
.pr-155{
        padding-right: 57px;
    }
.sidebarmenu-wrapper{
        width: 300px;
        padding: 130px 35px 15px;
    }
.table-content table th{
        font-size: 15px;
    }
.product-details-tab.mr-40{
        margin-right: 0px;
    }
.product-details-img-content .easyzoom{
        display: block;
    }
.product-filter-wrapper{
        padding: 45px 25px 12px;
    }
.sidebar-search-input form .form-search input{
        width: 500px;
    }
.sidebar-search-input{
        padding: 200px 0 0;
    }
.modal-dialog{
        min-width: 100%;
    }}
@media (max-width: 767px){.sidebar-search-icon{
        right: 75px;
    }
.sidebar-search-input form .form-search input{
        width: 240px;
    }
.logo-small-device{
        display: block;
    }
.stick .logo-small-device{
        display: none;
    }
.timer span{
        margin: 0 15px 20px;
    }
.pb-107{
        padding-bottom: 57px;
    }
.pt-130{
        padding-top: 80px;
    }
.pb-80{
        padding-bottom: 30px;
    }
.pb-95{
        padding-bottom: 45px;
    }
.pb-90{
        padding-bottom: 40px;
    }
.pb-85{
        padding-bottom: 35px;
    }
.pt-125{
        padding-top: 75px;
    }
.sidebar-cart{
        width: 100%;
    }
.wrap-sidebar{
        padding: 45px 22px 0;
    }
.btn-style.cart-btn-style{
        margin-right: 10px;
        padding: 16px 22px 15px;
    }
.logo-small-device img{
        max-width: 100%;
    }
.mb-55{
        margin-bottom: 35px;
    }
.pb-100{
        padding-bottom: 50px;
    }
.pb-125{
        padding-bottom: 75px;
    }
.pt-105{
        padding-top: 55px;
    }
.mb-90{
        margin-bottom: 65px;
    }
.pb-115{
        padding-bottom: 65px;
    }
.pt-120{
        padding-top: 70px;
    }
.pl-195{
        padding-left: 15px;
    }
.pr-195{
        padding-right: 15px;
    }
.pt-180{
        padding-top: 87px;
    }
.pb-178{
        padding-bottom: 85px;
    }
.pt-85{
        padding-top: 50px;
    }
.mobile-menu-area{
        display: block;
    }
.mean-container a.meanmenu-reveal{
        border: 1px solid #666;
        height: 18px;
        line-height: 1;
        top: -47px;
        transition: all 0.7s ease 0s;
    }
.same-style{
        margin-left: 10px;
    }
.header-site-icon{
        margin-right: 40px;
    }
.mobile-menu .mean-nav ul.menu-overflow{
        height: 220px;
        margin-top: 10px;
        overflow-y: auto;
    }
.stick .mean-container a.meanmenu-reveal{
        top: -40px;
    }
.header-2 .logo-menu-wrapper{
        padding-top: 30px;
    }
.stick.header-2 .logo-menu-wrapper{
        padding-top: 0px;
    }
.meanmenu2-style .mean-container a.meanmenu-reveal{
        top: -54px;
    }
.stick .meanmenu2-style .mean-container a.meanmenu-reveal{
        top: -40px;
    }
.sidebar-mrg{
        margin-top: 50px;
        padding-left: 0;
    }
.link-post{
        padding: 64px 25px 66px;
    }
.mb-70{
        margin-bottom: 40px;
    }
.mb-60{
        margin-bottom: 50px;
    }
.mb-65{
        margin-bottom: 45px;
    }
.pb-75{
        padding-bottom: 30px;
    }
.mb-80{
        margin-bottom: 50px;
    }
.table-content table td{
        padding: 30px 6px 0;
    }
.btn-style{
        padding: 13px 25px;
    }
.pb-130{
        padding-bottom: 80px;
    }
.product-details-tab.mr-40{
        margin-right: 0px;
    }
.product-details-img-content .easyzoom{
        display: block;
    }
.breadcrumb-content > h2{
        font-size: 25px;
        letter-spacing: 0;
    }
.product-filter-wrapper{
        padding: 45px 25px 12px;
    }
.pagination-style.mt-30{
        margin-top: 10px;
    }
.sidebar-search-input{
        padding: 150px 0 0;
    }
.modal-dialog{
        min-width: 100%;
    }
.modal-body{
        display: block;
        justify-content: inherit;
        padding: 15px;
    }
.pr-155{
        padding-right: 0;
    }}
@media only screen and (min-width: 480px) and (max-width: 767px){.sidebar-cart{
        right: -800px;
    }
.mean-container a.meanmenu-reveal{
        top: -53px;
    }}
/* /static/css/design.css */
/* hover styles extracted from the design canvas */
.h1:hover { border-color: #303030; }
.h2:hover { transform: translateY(-4px); }
.h3:hover { background: #fff; color: #303030; }
.h4:hover { border-color: #fff; }
.h5:hover { color: #f3a395; }
.h6:hover { background: #f4ecea; }
.h7:hover { color: #d9534f; }
.h8:hover { color: #f3a395; border-color: #f3a395; }
.h9:hover { background: #f3a395; color: #fff; }
.h10:hover { border-color: #f3a395; color: #f3a395; }
.h11:hover { background: #f3a395; }
.h12:hover { transform: scale(1.04); }
.h13:hover { background: #303030; color: #fff; }
.h14:hover { border-color: #303030; color: #303030; }

/* design v2 tweaks */
.header-area.header-static:not(.stick) { position: relative; }
.product-wrapper .product-img img { width: 100%; }
.link-btn { background: none; border: 0; padding: 0; color: inherit; cursor: pointer; font: inherit; }
.cart-delete .link-btn { color: #646464; font-size: 16px; }
.cart-delete .link-btn:hover, .product-cart-icon .link-btn:hover { color: #f3a395; }
.text-danger { color: #d9534f; }
.form-messege.success { color: #2e6b45; background: #eef7f0; padding: 10px 14px; }
input:focus, textarea:focus, select:focus { border-color: #303030 !important; outline: none; }

/* uniform product card images */
.product-wrapper .product-img > a { display: block; aspect-ratio: 1 / 1; overflow: hidden; }
.product-wrapper .product-img > a > img { width: 100%; height: 100%; object-fit: cover; }

/* responsive: design grids stack on small screens */
@media (max-width: 991px) {
    .cat-grid { grid-template-columns: repeat(2, 1fr) !important; grid-auto-rows: 180px !important; }
    .cat-grid > a { grid-column: span 1 !important; grid-row: span 1 !important; }
}
@media (max-width: 767px) {
    .cat-grid { grid-template-columns: 1fr !important; }
    .form-grid { grid-template-columns: 1fr !important; }
    .form-grid > * { grid-column: span 1 !important; }
    .cart-row { grid-template-columns: 80px 1fr !important; }
    .cart-row > div:last-child { grid-column: span 2; text-align: left !important; }
    .cart-row > a > img { width: 80px !important; height: 80px !important; }
    .steps-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 18px 6px !important; }
    .order-row { grid-template-columns: 1fr !important; }
    .order-row > div:last-child { text-align: left !important; }
}
.pay-option:has(input:checked) { border-color: #303030 !important; }

/* sidebar cart: keep the thumbnails small whatever the photo size */
.sidebar-cart .cart-img { flex: 0 0 80px; width: 80px; }
.sidebar-cart .cart-img a { display: block; width: 80px; height: 80px; overflow: hidden; background: #f0f1f5; }
.sidebar-cart .cart-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sidebar-cart .cart-title { min-width: 0; }
.sidebar-cart .cart-title h3 { overflow-wrap: anywhere; }

/* product gallery: square frames so photos of any size line up */
.product-details-large .easyzoom > a { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #f4ecea; }
.product-details-large .easyzoom > a > img { width: 100%; height: 100%; object-fit: cover; }
.product-details-small a { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #f0f1f5; }
.product-details-small a img { width: 100%; height: 100%; object-fit: cover; }

/* ============================================================
   Premium polish: typography, surfaces, buttons and motion.
   Kept as one layer so the theme underneath stays untouched.
   ============================================================ */
:root {
    --ink: #221f1d;
    --ink-soft: #6a625c;
    --line: #ebe5e1;
    --paper: #ffffff;
    --paper-warm: #faf6f4;
    --accent: #f3a395;
    --accent-deep: #d98878;
}

body {
    color: var(--ink-soft);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: .01em;
}
::selection { background: #f7d9d1; color: var(--ink); }

h1, h2, h3, h4, h5, .product-content h4 a {
    color: var(--ink);
}
h1, h2 { letter-spacing: -.01em; }

/* warm the flat greys the theme uses */
.gray-bg { background-color: var(--paper-warm) !important; }

/* ---- buttons ---- */
.btn-style.cr-btn,
a.btn-style,
button.btn-style {
    background: var(--ink);
    border: 1px solid var(--ink);
    color: #fff;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 500;
    border-radius: 0;
    overflow: hidden;
    transition: background .35s ease, color .35s ease, border-color .35s ease, transform .2s ease;
}
.btn-style.cr-btn:hover,
a.btn-style:hover,
button.btn-style:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}
.btn-style.cr-btn > span { position: relative; z-index: 1; }
.cr-btn > b { display: none !important; }   /* theme's hover blob */
.cart-btn-style { font-size: 11px; }

/* ---- links ---- */
a { transition: color .25s ease, border-color .25s ease, opacity .25s ease; }

/* ---- product cards ---- */
.product-wrapper {
    background: var(--paper);
    transition: transform .35s ease, box-shadow .35s ease;
}
.product-wrapper:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -24px rgba(34, 31, 29, .35);
}
.product-wrapper .product-img { background: var(--paper-warm); }
.product-wrapper .product-img > a > img { transition: transform .8s cubic-bezier(.2, .6, .2, 1); }
.product-wrapper:hover .product-img > a > img { transform: scale(1.05); }
.product-wrapper .product-img > span {
    background: var(--ink);
    color: #fff;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: 10px;
    padding: 5px 10px;
}
.product-content { padding-top: 18px; }
.product-content > h4 {
    font-size: 15px;
    letter-spacing: .01em;
    margin-bottom: 6px;
}
.product-content > h4 a:hover { color: var(--accent-deep); }
.product-price > span { font-size: 17px; color: var(--ink); }
.product-price > span.old { color: #a9a29d; font-size: 13px; }

/* ---- section headings ---- */
.section-title h2 { letter-spacing: -.01em; }

/* ---- forms ---- */
input[type=text], input[type=email], input[type=tel], input[type=password],
input[type=search], input[type=number], select, textarea {
    border-radius: 0;
    transition: border-color .25s ease, box-shadow .25s ease;
}
/* every dropdown, closed: one look, with our own arrow (open, it shows the
   shop's own list: select.css and actions.js) */
select:not([multiple]):not([size]) {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 36px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23221f1d' stroke-width='1.4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 10px 6px;
    cursor: pointer;
    text-overflow: ellipsis;
}
select.cs-open { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 5l4-4 4 4' fill='none' stroke='%23221f1d' stroke-width='1.4'/%3E%3C/svg%3E"); }
input:focus, textarea:focus, select:focus {
    border-color: var(--ink) !important;
    box-shadow: 0 0 0 3px rgba(243, 163, 149, .18);
    outline: none;
}

/* ---- header ---- */
.header-area.stick { box-shadow: 0 10px 30px -22px rgba(34, 31, 29, .45); }
.main-menu nav > ul > li > a {
    letter-spacing: .14em;
    font-size: 12px;
}
.main-menu nav > ul > li > a:hover,
.main-menu nav > ul > li.active > a { color: var(--accent-deep); }
.header-site-icon .same-style button,
.header-site-icon .same-style a { transition: color .25s ease; }
/* the small header icons get a thumb-sized place to tap, without moving */
.header-site-icon .same-style > a { position: relative; }
.header-site-icon .same-style > a::after { content: ""; position: absolute; inset: -9px -7px; }
.count-style {
    background: var(--ink);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
}

/* ---- footer ---- */
footer .footer-widget-title h3 {
    font-size: 13px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ink);
}
footer .quick-link li a { color: var(--ink-soft); }
footer .quick-link li a:hover { color: var(--accent-deep); padding-left: 3px; }
.footer-bottom { border-top: 1px solid var(--line) !important; }

/* ---- tables and panels used on cart, order and account ---- */
.your-order, .shop-total { border-radius: 0; }
.pagination-style ul li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    border-radius: 0;
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.pagination-style ul li a:hover,
.pagination-style ul li a.active { background: var(--ink); border-color: var(--ink); color: #fff; }

/* ---- images never overflow their frame ---- */
img { max-width: 100%; height: auto; }

/* placeholder when a product has no photo yet */
.no-photo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--paper-warm);
    color: #c4b8b1;
    font-family: 'Playfair Display', serif;
    font-size: 15px;
    letter-spacing: .04em;
    text-align: center;
    padding: 12px;
}

/* header: the compact bar is the ONLY state. It is rendered with .stick from
   the server, sits in normal flow and sticks with position: sticky, so there is
   no scroll handler, no class flip and no layout animation while scrolling. */
.wrapper > header {
    position: sticky;
    top: 0;
    z-index: 9999;
}
.header-area.transparent-bar.stick {
    position: static;
    animation: none;
    padding: 8px 0;
    background: #fff;
    box-shadow: 0 1px 0 rgba(34, 31, 29, .07);
    transition: box-shadow .25s ease;
}
.header-area,
.header-area .logo,
.header-area .sticky-logo,
.header-area .logo-menu-wrapper,
.header-area .header-site-icon {
    transition: none !important;
}
.transparent-bar.stick .logo-menu-wrapper { display: flex; align-items: center; justify-content: center; gap: 26px; }
.transparent-bar.stick .sticky-logo { padding-top: 0; }
.transparent-bar.stick .sticky-logo img { height: 40px; width: auto; }
/* the Brisav logos are drawn at three times their size, for sharp phones */
.logo img { height: 80px; width: auto; }
.sticky-logo img { height: 38px; width: auto; max-width: none; }
.logo-small-device img { height: 50px; width: auto; max-width: none; }
.transparent-bar.stick .header-site-icon { padding-top: 8px; }
.transparent-bar.stick .main-menu nav > ul > li > a { line-height: 54px; }
/* six items (with the journal) must fit the centre column on one line */
.transparent-bar.stick .main-menu nav > ul > li { padding: 0 8px; }
.transparent-bar.stick .main-menu nav > ul > li > a { padding: 0 10px; }

/* ---- the shop menu ----
   Two quiet white panels: the categories under "shop", and their
   sub-categories flying out to the right with the top edges aligned. The
   theme's dot marker, hover shift and inherited line-height are all off. */
.main-menu nav > ul > li > ul.lavel-menu,
.main-menu nav > ul > li > ul.lavel-menu li ul {
    width: 236px;
    padding: 10px 0;
    background: var(--paper);
    border: 1px solid var(--line);
    box-shadow: 0 30px 50px -28px rgba(34, 31, 29, .4), 0 2px 8px rgba(34, 31, 29, .06);
    transform: translateY(8px);
    transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}
.main-menu nav > ul > li > ul.lavel-menu { left: -5px; top: 100%; }
.main-menu nav > ul > li:hover > ul.lavel-menu,
.main-menu nav > ul > li:focus-within > ul.lavel-menu {
    top: 100%;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
}
/* the flyout sits flush against the first panel, borders overlapping */
.main-menu nav > ul > li > ul.lavel-menu li ul {
    left: 100%;
    top: -11px;
    transform: translateX(8px);
}
.main-menu nav > ul > li > ul.lavel-menu li:hover > ul,
.main-menu nav > ul > li > ul.lavel-menu li:focus-within > ul {
    top: -11px;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
}
.main-menu nav > ul > li > ul.lavel-menu li { padding: 0; }
.main-menu nav > ul > li > ul.lavel-menu li > a,
.stick .main-menu nav > ul > li > ul.lavel-menu li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 18px 9px 22px;
    line-height: 1.45;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .03em;
    text-transform: none;
    color: var(--ink);
    transition: color .2s ease, background .2s ease;
}
.main-menu nav > ul > li > ul.lavel-menu li > a::before { display: none; }
.main-menu nav > ul > li > ul.lavel-menu li:hover > a,
.main-menu nav > ul > li > ul.lavel-menu li:focus-within > a,
.main-menu nav > ul > li > ul.lavel-menu li.active > a {
    padding-left: 22px;
    background: var(--paper-warm);
    color: var(--accent-deep);
}
.main-menu nav > ul > li > ul.lavel-menu li > a span {
    float: none;
    display: inline-flex;
    font-size: 11px;
    line-height: 1;
    color: #b7aca6;
    transition: color .2s ease, transform .2s ease;
}
.main-menu nav > ul > li > ul.lavel-menu li:hover > a span { color: var(--accent-deep); transform: translateX(2px); }
/* the little arrow after "shop" turns while the menu is open */
.main-menu nav > ul > li > a i { display: inline-block; transition: transform .22s ease; }
.main-menu nav > ul > li:hover > a i,
.main-menu nav > ul > li:focus-within > a i { transform: rotate(180deg); }

@media (min-width: 768px) and (max-width: 991px) {
    /* keep all five menu items on one line so the bar stays one row tall */
    .transparent-bar.stick .logo-menu-wrapper { gap: 10px; }
    .transparent-bar.stick .main-menu nav > ul > li > a { padding: 0 6px; letter-spacing: .05em; }
    .main-menu nav > ul > li > ul.lavel-menu { left: -12px; }
}
@media only screen and (max-width: 767px) {
    .header-area.transparent-bar.stick { padding: 10px 0; }
    .transparent-bar.stick .header-site-icon { padding-top: 4px; }
}

/* ---- product card: one clean hover (lift + slow zoom), no floating icon ---- */
.product-wrapper { padding-bottom: 22px; }
.product-wrapper .product-img { position: relative; overflow: hidden; }
.product-wrapper .product-img > a::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(34, 31, 29, .06);
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
}
.product-wrapper:hover .product-img > a::after { opacity: 1; }
.card-buy { margin-top: 14px; }
.card-btn {
    display: inline-block;
    min-width: 158px;
    padding: 11px 24px;
    border: 1px solid var(--ink);
    background: none;
    color: var(--ink);
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.card-btn:hover, .card-btn:focus-visible { background: var(--ink); color: #fff; }
.card-btn-muted {
    margin-top: 14px;
    border-color: var(--line);
    color: #a9a29d;
    cursor: pointer;
}
.card-btn-muted:hover { background: none; border-color: var(--ink-soft); color: var(--ink); }

/* ---- in-page updates: toast, suggestions, busy states ---- */
.toast {
    position: fixed;
    left: 50%;
    bottom: 30px;
    transform: translate(-50%, 20px);
    z-index: 10000;
    background: var(--ink);
    color: #fff;
    font-size: 13px;
    letter-spacing: .02em;
    padding: 12px 20px;
    box-shadow: 0 20px 44px -24px rgba(0, 0, 0, .6);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
}
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.toast-warn { background: #8a3d33; }

button.is-busy { opacity: .55; pointer-events: none; }
/* while the next page of the shop is on its way: the cards dim and a
   light passes over them; a thin line runs along the top of the page for
   any in-page fetch (cart changes too) */
#shop-body.is-loading .product-wrapper { position: relative; }
#shop-body.is-loading .product-wrapper > * { opacity: .45; transition: opacity .2s ease; }
#shop-body.is-loading .product-wrapper::after {
    content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none;
    background: linear-gradient(100deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .75) 50%, rgba(255, 255, 255, 0) 70%);
    background-size: 220% 100%;
    animation: shimmer 1.1s linear infinite;
}
@keyframes shimmer { from { background-position: 120% 0; } to { background-position: -120% 0; } }
body.is-fetching::after {
    content: ""; position: fixed; left: 0; top: 0; height: 2px; width: 0; z-index: 99999;
    background: var(--accent-deep);
    animation: fetchLine 1.4s cubic-bezier(.2, .7, .3, 1) forwards;
}
@keyframes fetchLine { 0% { width: 0; } 60% { width: 70%; } 100% { width: 92%; } }
@media (prefers-reduced-motion: reduce) {
    #shop-body.is-loading .product-wrapper::after { animation: none; }
    body.is-fetching::after { animation: none; width: 100%; }
}

.suggest {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    z-index: 60;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 24px 50px -28px rgba(34, 31, 29, .55);
    max-height: 340px;
    overflow-y: auto;
}
.suggest-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    text-decoration: none;
    border-bottom: 1px solid #f4f0ee;
}
.suggest-item:last-child { border-bottom: 0; }
.suggest-item:hover, .suggest-item.is-on { background: var(--paper-warm); }
.suggest-item img, .suggest-nophoto {
    width: 44px;
    height: 44px;
    object-fit: cover;
    flex: 0 0 44px;
    background: var(--paper-warm);
    display: block;
}
.suggest-text { min-width: 0; }
.suggest-text strong {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.suggest-text em { display: block; font-style: normal; font-size: 12px; color: var(--accent-deep); }

/* ---- the search sheet: a calm panel over a blurred page, so nothing of
   the page shows through the box; it fades in, the box takes the cursor,
   and a few searches people make are one tap away ---- */
.main-search-active {
    display: block;
    min-height: 0;
    height: 100vh;
    height: 100dvh;
    padding: 0 20px;
    overflow-y: auto;
    background: rgba(28, 23, 21, .94);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    transform: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}
.main-search-active.inside { opacity: 1; visibility: visible; }
.main-search-active .sidebar-search-icon {
    position: fixed;
    top: 22px;
    right: 26px;
    float: none;
    overflow: visible;
    z-index: 2;
}
.main-search-active .sidebar-search-icon button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
    font-size: 16px;
}
.main-search-active .sidebar-search-icon button:hover { background: #fff; color: var(--ink); }
.main-search-active .sidebar-search-input {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    padding: 18vh 0 40px;
}
.search-eyebrow {
    display: block;
    margin: 0 0 16px;
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #f0b6a8;
    text-align: center;
}
.sidebar-search-input .form-search { position: relative; }
.sidebar-search-input form .form-search input {
    width: 100%;
    height: 64px;
    line-height: normal;
    padding: 0 64px 0 24px;
    border: 1px solid transparent;
    border-radius: 2px;
    background: #fff;
    color: var(--ink);
    font-size: 18px;
    box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6);
}
.sidebar-search-input form .form-search input:focus { outline: none; border-color: var(--accent); }
.sidebar-search-input form .form-search input::placeholder { color: #9b8f88; opacity: 1; }
.sidebar-search-input form .form-search input::-webkit-search-cancel-button { display: none; }
.sidebar-search-input form .form-search button {
    top: 0;
    right: 0;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent-deep);
    font-size: 20px;
}
.sidebar-search-input form .form-search button:hover { color: var(--ink); }
.search-tries {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 18px 0 0;
    font-size: 13px;
    color: rgba(255, 255, 255, .6);
}
.search-tries a {
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}
.search-tries a:hover { background: #fff; color: var(--ink); }
@media (max-width: 767px) {
    .main-search-active { padding: 0 16px; }
    .main-search-active .sidebar-search-icon { top: 14px; right: 14px; }
    .main-search-active .sidebar-search-input { padding-top: 84px; }
    .sidebar-search-input form .form-search input { height: 56px; font-size: 16px; padding: 0 56px 0 18px; }
    .sidebar-search-input form .form-search button { width: 56px; height: 56px; }
}

/* ---- product gallery thumbnails (was an owl carousel: 43 KB for a row of
   four images that scrolls) ---- */
.thumb-strip {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    padding-bottom: 4px;
}
.thumb-strip > a {
    flex: 0 0 calc(25% - 9px);
    scroll-snap-align: start;
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid transparent;
    background: var(--paper-warm);
    transition: border-color .25s ease, opacity .25s ease;
    opacity: .82;
}
.thumb-strip > a img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thumb-strip > a:hover { opacity: 1; }
.thumb-strip > a.active { border-color: var(--ink); opacity: 1; }
/* a photo coming forward fades in */
.product-details-large .tab-pane.active { animation: paneIn .45s ease; }
@keyframes paneIn { from { opacity: .35; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .product-details-large .tab-pane.active { animation: none; } }
/* on a phone: one big photo that turns by itself and follows a swipe; the
   thumbnails become a row of dots under it (still the same links, so a
   colour picked still brings its photo forward) */
@media (max-width: 767px) {
    .thumb-strip {
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 2px;
        overflow: visible;
        margin-top: 10px !important;
        padding: 0;
    }
    .thumb-strip > a {
        flex: 0 0 auto;
        width: 22px;
        height: 22px;
        aspect-ratio: auto;
        border: 0;
        background: none;
        opacity: 1;
        position: relative;
    }
    .thumb-strip > a::before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 7px;
        height: 7px;
        border-radius: 4px;
        background: #d8cdc8;
        transform: translate(-50%, -50%);
        transition: width .3s ease, background-color .3s ease;
    }
    .thumb-strip > a.active { width: 30px; }
    .thumb-strip > a.active::before { width: 20px; background: var(--ink); }
    .thumb-strip > a img, .thumb-strip > a .reel-play { display: none; }
    .product-details-large { touch-action: pan-y; }
}

/* ---- keyboard access ----
   The theme removed focus outlines everywhere, which leaves anyone using a
   keyboard with no idea where they are on the page. */
:focus-visible {
    outline: 2px solid var(--accent-deep);
    outline-offset: 3px;
    border-radius: 1px;
}
a:focus-visible, button:focus-visible { outline-offset: 4px; }
/* a fold (size guide, care, questions) opened with the mouse shows no box
   around its heading; from the keyboard its words are underlined instead,
   which reads as "you are here" without a frame cutting into the row */
summary:focus { outline: none; }
summary:focus-visible { outline: none; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; color: var(--accent-deep); }
.skip-link {
    position: absolute;
    left: 16px;
    top: -60px;
    z-index: 10001;
    background: var(--ink);
    color: #fff;
    padding: 12px 18px;
    font-size: 13px;
    letter-spacing: .08em;
    text-decoration: none;
    transition: top .2s ease;
}
.skip-link:focus { top: 12px; color: #fff; }

/* ---- reviews ---- */
.reviews-block { background: var(--paper-warm); padding: 70px 0; margin-bottom: 60px; }
.reviews-head { margin-bottom: 34px; }
.reviews-head h2 {
    font-family: "Playfair Display", serif;
    font-size: 30px;
    font-weight: 400;
    color: var(--ink);
    margin: 0 0 10px;
}
.reviews-head h2 em { font-style: normal; font-size: 18px; color: var(--ink-soft); }
.muted-line { font-size: 13px; color: #9c918b; margin: 0; }

.stars { display: inline-flex; align-items: center; gap: 3px; color: var(--accent-deep); font-size: 14px; }
.stars.big { font-size: 17px; }
.stars i.off { color: #d9cfc9; }
.stars span { margin-left: 10px; font-size: 13px; color: var(--ink-soft); }

.reviews-grid { display: grid; grid-template-columns: 1fr 380px; gap: 44px; align-items: start; }
.review-list { display: flex; flex-direction: column; gap: 22px; }
.review {
    background: #fff;
    padding: 20px 22px;
    box-shadow: 0 14px 34px -30px rgba(34, 31, 29, .6);
}
.review h3 { font-size: 15px; font-weight: 500; color: var(--ink); margin: 8px 0 6px; }
.review p { font-size: 14px; line-height: 24px; color: var(--ink-soft); margin: 0 0 10px; }
.review time { font-size: 12px; color: #a9a29d; }
.verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: 8px;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #2e6b45;
}
.verified i { font-size: 11px; }

.review-form { background: #fff; padding: 26px 24px; box-shadow: 0 14px 34px -30px rgba(34, 31, 29, .6); }
.review-form h3 { font-family: "Playfair Display", serif; font-size: 21px; font-weight: 400; margin: 0 0 16px; }
.review-form label { display: block; font-size: 12px; letter-spacing: .06em; color: var(--ink-soft); margin: 14px 0 6px; font-weight: 400; }
.review-form input[type=text], .review-form input[type=email], .review-form textarea {
    width: 100%;
    border: 1px solid var(--line);
    padding: 10px 12px;
    font-size: 14px;
    color: var(--ink);
    background: #fff;
}
.review-form .card-btn { margin: 18px 0 10px; width: 100%; }

/* the star picker is radio buttons, laid out right to left so hovering one
   fills every star before it */
.rating-field { border: 0; padding: 0; margin: 14px 0 0; }
.rating-field legend {
    font-size: 12px;
    letter-spacing: .06em;
    color: var(--ink-soft);
    padding: 0;
    margin-bottom: 6px;
}
/* laid out right to left, so hovering the third star fills the first three */
.rating-picker { display: flex; flex-direction: row-reverse; justify-content: flex-end; }
.rating-picker input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rating-picker label { margin: 0 3px 0 0; cursor: pointer; color: #d9cfc9; font-size: 22px; transition: color .15s ease; }
.rating-picker label:hover, .rating-picker label:hover ~ label,
.rating-picker input:checked ~ label { color: var(--accent-deep); }
.rating-picker input:focus-visible + label { outline: 2px solid var(--accent-deep); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.review-note { padding: 12px 16px; font-size: 14px; margin-bottom: 24px; }
.review-note.good { background: #eef7f0; color: #2e6b45; }
.review-note.bad { background: #fbeeec; color: #8a3d33; }

/* the rating under a product name in listings */
/* the rating sits on the photo as a small pill, only where a buyer has
   reviewed the piece; the text under every card stays the same shape */
.product-wrapper .product-img .card-rating {
    position: absolute; left: 10px; bottom: 10px; z-index: 2;
    display: inline-flex; align-items: center; gap: 5px;
    padding: 5px 9px 5px 8px; border-radius: 999px;
    background: rgba(255, 255, 255, .94); color: var(--ink);
    font-family: "Playfair Display", serif; font-size: 13px; font-weight: 400; line-height: 1;
    box-shadow: 0 8px 18px -10px rgba(34, 31, 29, .55);
}
.product-wrapper .product-img .card-rating i { width: 12px; height: 12px; color: #c98a3a; }
.product-wrapper .product-img .card-rating em { font-style: normal; font-family: system-ui, sans-serif; font-size: 11px; color: #9c918b; }
.product-wrapper .product-img .card-rating em::before { content: "("; }
.product-wrapper .product-img .card-rating em::after { content: ")"; }

/* with no form to show, the reviews get the room instead of sitting in a
   narrow strip beside empty space */
.reviews-grid.single { grid-template-columns: minmax(0, 820px); justify-content: start; }
.reviews-grid.single .review-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; align-content: start; }
.reviews-grid.single .review-form { max-width: 460px; }

@media (max-width: 991px) {
    .reviews-grid, .reviews-grid.single { grid-template-columns: 1fr; gap: 30px; }
    .reviews-block { padding: 50px 0; }
}

/* ---- pincode check, specs and the sold-out sign-up ---- */
.pincode-box { margin: 0 0 22px; max-width: 420px; }
.pincode-box label, .notify-form label {
    display: block;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin-bottom: 8px;
}
.pincode-row, .notify-row { display: flex; gap: 8px; }
.pincode-row input, .notify-row input {
    flex: 1;
    min-width: 0;
    border: 1px solid var(--line);
    padding: 0 14px;
    height: 44px;
    font-size: 14px;
    color: var(--ink);
    background: #fff;
}
.pincode-row .card-btn, .notify-row .card-btn { flex: 0 0 auto; width: auto; min-width: 104px; padding: 0 18px; height: 44px; }
.pincode-answer { font-size: 13px; line-height: 21px; margin: 10px 0 0; color: #2e6b45; min-height: 0; }
.pincode-answer.bad { color: #8a3d33; }

.spec-list { display: grid; grid-template-columns: 92px 1fr; gap: 6px 14px; margin: 0; font-size: 14px; line-height: 22px; }
.spec-list dt { color: #9c918b; font-weight: 400; }
.spec-list dd { margin: 0; color: var(--ink-soft); }

.soldout-box { background: var(--paper-warm); padding: 20px 22px; margin-bottom: 22px; }
.soldout-box p { font-size: 14px; line-height: 23px; color: var(--ink-soft); margin: 0 0 14px; }
.notify-form { max-width: 420px; }

/* ---- breadcrumbs ----
   The old theme put a rule above these to separate them from a header that
   floated over the page. The header sits in the flow now and draws its own
   line, so this only needs breathing room. */
.crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 20px 0 0;
    font-size: 13px;
    color: #9c918b;
}
.crumbs a { color: #9c918b; text-decoration: none; }
/* the links carry the theme's .h5 for its hover colour; Bootstrap also makes
   .h5 a 20px heading, which is not what a breadcrumb is */
.crumbs a.h5 { font-size: inherit; font-weight: 400; line-height: inherit; margin: 0; }
.crumbs > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 767px) {
    .crumbs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; white-space: nowrap; gap: 6px; font-size: 12px; padding-top: 14px; }
    .crumbs::-webkit-scrollbar { display: none; }
    .crumbs > span:last-child { max-width: 52vw; flex: 0 1 auto; }
}
.crumbs a:hover { color: var(--ink); }
.crumbs > span:last-child { color: var(--ink); }

/* ---- product gallery ----
   The theme let the main photo sit at whatever size the file happened to be,
   so a small photo left a wide empty strip beside it and every product page
   had a different shape. One square frame instead, filled the way the cards
   are filled, capped so it does not swallow a large screen. */
.product-details-tab {
    max-width: 560px;
    /* the details column is taller than the photo, so let the photo stay in
       view while the price, delivery and description are read */
    position: sticky;
    top: 90px;
}
.product-details-large .tab-pane { width: 100%; }
.product-details-large .easyzoom {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--paper-warm);
}
.product-details-large .easyzoom > a { display: block; width: 100%; height: 100%; }
.product-details-large .easyzoom img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.product-details-large .no-photo { height: 100%; }
.thumb-strip { max-width: 560px; }

@media (max-width: 991px) {
    .product-details-tab, .thumb-strip { max-width: none; margin-right: 0 !important; }
    .product-details-tab { position: static; }
}

/* ---- shared page furniture ----
   Section headings, eyebrows, underlined links and the "recently viewed"
   strip are used by the product page as much as the home page, so they live
   here, in the stylesheet every page loads. */
.section { padding: 100px 0 80px; }
.section.pt-0 { padding-top: 0; }
.section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 44px;
}
.section-head h2 {
    font-family: "Playfair Display", serif;
    font-size: 36px;
    line-height: 1.15;
    font-weight: 400;
    margin: 0;
    color: var(--ink);
}
.section-head p { margin: 12px 0 0; max-width: 460px; font-size: 15px; line-height: 26px; }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--accent-deep);
    margin-bottom: 12px;
}
.eyebrow .rule { display: inline-block; width: 26px; height: 1px; background: currentColor; }
.eyebrow.light { color: #f0b6a8; }
.link-underline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid var(--ink);
    padding-bottom: 4px;
}
.link-underline:hover { color: var(--accent-deep); border-color: var(--accent-deep); }
.link-underline i { font-size: 11px; }


/* ---- what the visitor came for ---- */
.intent-bar { background: var(--paper-warm); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 14px 0; }
.intent-bar .container { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.intent-bar span { font-size: 14px; color: var(--ink-soft); }
.intent-bar strong { color: var(--ink); font-weight: 500; }

/* every card the same width, whatever its name: six to a row, then the strip
   scrolls; a long name takes two lines and the prices stay on one line */
.recent-strip {
    display: grid; grid-auto-flow: column; gap: 18px;
    grid-auto-columns: calc((100% - 5 * 18px) / 6);
    overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin;
}
.recent-item { min-width: 0; text-decoration: none; }
.recent-item img { display: block; }
.recent-item img, .recent-item .no-photo {
    width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover;
    background: var(--paper-warm); margin-bottom: 10px;
}
.recent-item strong {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    min-height: 2.9em; font-size: 13px; line-height: 1.45; font-weight: 500; color: var(--ink);
}
@media (max-width: 991px) { .recent-strip { grid-auto-columns: calc((100% - 3 * 18px) / 4); } }
@media (max-width: 767px) { .recent-strip { grid-auto-columns: 40%; gap: 14px; } }
.recent-item em { display: block; font-style: normal; font-size: 13px; color: var(--accent-deep); margin-top: 2px; }
.recent-item:hover strong { color: var(--accent-deep); }

/* photos the buyer took themselves — the most persuasive thing on the page */
.review-photos { display: flex; gap: 8px; flex-wrap: wrap; margin: 4px 0 12px; }
.review-photos a { display: block; width: 84px; height: 84px; overflow: hidden; background: var(--paper-warm); }
.review-photos img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.review-photos a:hover img { transform: scale(1.06); }
.review-form input[type=file] { width: 100%; font-size: 13px; color: var(--ink-soft); padding: 8px 0; }
.review-form a.card-btn { display: block; }

/* ---- photo picker ----
   The browser's own "Choose Files" button is the one control on the page
   nobody styled. This is a drop area that also takes a tap on a phone. */
.photo-drop { margin: 16px 0 4px; }
.photo-drop input[type=file] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}
.photo-drop > label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 22px 16px;
    border: 1px dashed #d8ccc6;
    background: var(--paper-warm);
    color: var(--ink-soft);
    cursor: pointer;
    text-align: center;
    text-transform: none;
    letter-spacing: 0;
    margin: 0;
    transition: border-color .25s ease, background .25s ease;
}
.photo-drop > label i { font-size: 22px; color: var(--accent-deep); }
.photo-drop > label strong { font-size: 14px; font-weight: 500; color: var(--ink); }
.photo-drop > label span { font-size: 12px; color: #9c918b; }
.photo-drop > label:hover, .photo-drop.is-over > label { border-color: var(--accent-deep); background: #fbf2ef; }
.photo-drop input[type=file]:focus-visible + label { outline: 2px solid var(--accent-deep); outline-offset: 3px; }

.photo-picks { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.photo-pick { position: relative; width: 72px; height: 72px; background: var(--paper-warm); }
.photo-pick img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-pick button {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 50%;
    background: var(--ink);
    color: #fff;
    font-size: 9px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.photo-pick button:hover { background: var(--accent-deep); }

.your-review .stars { font-size: 16px; }

/* ---- viewers ----
   The theme's stylesheets give every element display: block, which overrides
   the browser's own rule that keeps a closed <dialog> hidden. Say it again. */
dialog:not([open]) { display: none !important; }

/* ---- photo viewer ---- */
.lightbox {
    border: 0;
    padding: 0;
    background: transparent;
    max-width: min(92vw, 1000px);
    max-height: 92vh;
    overflow: visible;
}
.lightbox::backdrop { background: rgba(16, 13, 12, .92); }
.lightbox[open] { animation: lightboxIn .18s ease-out; }
@keyframes lightboxIn { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lightbox[open] { animation: none; } }
.lightbox figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.lightbox img {
    max-width: min(92vw, 1000px);
    max-height: 78vh;
    width: auto;
    height: auto;
    display: block;
    background: #fff;
}
.lightbox figcaption { color: #f0e9e6; font-size: 13px; letter-spacing: .04em; }
.lightbox-close {
    position: absolute;
    top: -42px;
    right: 0;
    width: 34px;
    height: 34px;
    border: 0;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    line-height: 1;
}
.lightbox-close:hover { background: rgba(255, 255, 255, .24); }
.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border: 0;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 17px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lightbox-nav:hover { background: rgba(255, 255, 255, .26); }
.lightbox-nav.prev { left: -56px; }
.lightbox-nav.next { right: -56px; }

@media (max-width: 767px) {
    .lightbox-nav.prev { left: 4px; }
    .lightbox-nav.next { right: 4px; }
    .lightbox-close { top: -38px; right: 4px; }
}

/* review photos read as tappable, not as links to somewhere else */
.review-photos a { cursor: zoom-in; }

/* ---- reels ----
   A dark, full-width band. The cards sit on ink like a phone screen in a dim
   room: rounded, glassy, with a thin progress line, and the strip fades at
   its edges so it reads as something you can slide. */
.reels-section {
    background: radial-gradient(1200px 520px at 18% 0%, #2f2a27 0%, var(--ink) 58%);
    color: #fff;
    padding: 96px 0 92px;
    margin: 0 0 100px;
    overflow: hidden;
}
.reels-section .section-head { margin-bottom: 40px; align-items: flex-end; }
.reels-section .section-head h2 { color: #fff; }
.reels-section .section-head p { color: #b3a8a2; }
.reel-arrows { display: flex; gap: 8px; }
.reel-arrow {
    width: 44px; height: 44px; border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .06);
    color: #fff; font-size: 15px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.reel-arrow:hover { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .4); transform: translateY(-1px); }
.reel-arrow:disabled { opacity: .28; cursor: default; transform: none; background: transparent; }
.reel-arrows.is-idle { visibility: hidden; }   /* nothing to slide: no arrows */

.reel-strip {
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 12px 0 18px;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}
.reel-strip::-webkit-scrollbar { display: none; }
.reel-track {
    display: flex;
    gap: 22px;
    padding: 0 max(15px, calc((100vw - 1170px) / 2));
    width: max-content;
}
.reel-card {
    position: relative;
    flex: 0 0 250px;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    border-radius: 18px;
    background: #15120f;
    color: #fff;
    scroll-snap-align: start;
    box-shadow: 0 30px 60px -28px rgba(0, 0, 0, .9), 0 0 0 1px rgba(255, 255, 255, .07) inset;
    transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s ease;
    animation: reelIn .7s cubic-bezier(.2, .7, .2, 1) both;
    animation-delay: calc(var(--i, 0) * 90ms);
}
@keyframes reelIn { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.reel-card:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -28px rgba(0, 0, 0, .95), 0 0 0 1px rgba(255, 255, 255, .16) inset; }
.reel-card video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.reel-card:hover video { transform: scale(1.03); }
.reel-card::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .3) 0%, rgba(0, 0, 0, 0) 28%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .82) 100%);
    pointer-events: none;
}
.reel-progress {
    position: absolute; left: 12px; right: 12px; top: 10px; height: 3px; z-index: 3;
    background: rgba(255, 255, 255, .22); border-radius: 3px; overflow: hidden;
}
.reel-progress i { display: block; height: 100%; width: 0; background: #fff; border-radius: 3px; }
.reel-open { position: absolute; inset: 0; z-index: 1; }
.reel-copy, .reel-play { pointer-events: none; }
.reel-play {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: 58px; height: 58px; border-radius: 50%; z-index: 2;
    background: rgba(255, 255, 255, .16); color: #fff;
    border: 1px solid rgba(255, 255, 255, .45);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    display: flex; align-items: center; justify-content: center; font-size: 18px;
    transition: opacity .3s ease, transform .3s ease;
}
.reel-play i { margin-left: 3px; }
.reel-play.small { width: 30px; height: 30px; font-size: 11px; background: rgba(255,255,255,.92); color: var(--ink); border: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
.reel-card.is-playing .reel-play { opacity: 0; transform: translate(-50%, -50%) scale(.8); }
.reel-copy { position: absolute; left: 16px; right: 16px; bottom: 16px; z-index: 2; }
.reel-copy em { display: block; font-style: normal; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #e8b9ad; margin-bottom: 8px; }
.reel-copy strong { display: block; font-family: "Playfair Display", serif; font-size: 20px; font-weight: 400; line-height: 1.15; }
.reel-copy > span { display: block; font-size: 13px; color: #d9cfc9; margin-top: 6px; }

/* the sound switch: glass, with a hint that goes once it has been seen */
.reel-sound {
    position: absolute; top: 22px; right: 12px; z-index: 3;
    height: 34px; padding: 0 11px 0 9px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px;
    background: rgba(0, 0, 0, .35); color: #fff; font-size: 13px;
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    display: flex; align-items: center; gap: 7px; cursor: pointer;
    transition: background .25s ease, border-color .25s ease;
}
.reel-sound:hover { background: rgba(0, 0, 0, .6); border-color: #fff; }
.reel-sound.is-on { background: var(--accent-deep); border-color: var(--accent-deep); }
.reel-hint { font-size: 11px; letter-spacing: .06em; white-space: nowrap; }
.reel-sound.is-on .reel-hint, .reel-card.seen .reel-hint { display: none; }

/* the reel viewer: full height, silent until asked, and a way to buy the thing */
.reel-viewer { border: 0; padding: 0; background: transparent; max-width: none; max-height: none; overflow: visible; }
.reel-viewer::backdrop { background: rgba(12, 10, 9, .94); }
.reel-viewer .reel-stage { display: flex; gap: 32px; align-items: center; position: relative; }
.reel-viewer .reel-frame { position: relative; border-radius: 20px; overflow: hidden; box-shadow: 0 40px 90px -30px rgba(0, 0, 0, 1); }
.reel-viewer .reel-sound { top: 14px; right: 14px; }
.reel-viewer video { height: min(84vh, 760px); aspect-ratio: 9 / 16; object-fit: cover; background: #000; display: block; }
.reel-viewer aside { color: #fff; max-width: 300px; }
.reel-viewer aside em { display: block; font-style: normal; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #e8b9ad; margin-bottom: 12px; }
.reel-viewer aside strong { display: block; font-family: "Playfair Display", serif; font-size: 30px; font-weight: 400; line-height: 1.12; }
.reel-viewer aside span { display: block; color: var(--accent); font-size: 16px; margin: 10px 0 24px; }
.reel-viewer aside .card-btn { background: #fff; color: var(--ink); border-color: #fff; }
.reel-viewer aside .card-btn:hover { background: var(--accent); border-color: var(--accent); }
.reel-viewer .lightbox-close { top: -44px; right: 0; }
@media (max-width: 767px) {
    .reels-section { padding: 64px 0 60px; margin-bottom: 64px; }
    .reel-arrows { display: none; }
    .reel-viewer .reel-stage { flex-direction: column; gap: 16px; }
    .reel-viewer video { height: min(68vh, 600px); }
    .reel-viewer aside { text-align: center; }
    .reel-card { flex-basis: 196px; border-radius: 14px; }
    .reel-copy strong { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { .reel-card { animation: none; } }

/* a reel inside the product gallery */
.reel-pane { position: relative; aspect-ratio: 1 / 1; background: #111; overflow: hidden; }
.reel-pane video { width: 100%; height: 100%; object-fit: contain; display: block; background: #111; }
.reel-caption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 12px 16px; font-size: 13px; color: #fff; background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.65)); pointer-events: none; }
.thumb-strip > a.thumb-reel { position: relative; }
.thumb-strip > a.thumb-reel .reel-play { z-index: 1; }

/* ---- customer wall on the home page ---- */
.wall { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.wall-card { background: #fff; box-shadow: 0 18px 44px -32px rgba(34, 31, 29, .6); overflow: hidden; }
.wall-photos { margin: 0; gap: 0; }
.wall-photos a { width: 100%; height: auto; aspect-ratio: 4 / 3; flex: 1 1 100%; }
.wall-photos a + a { display: none; }   /* the first photo carries the card; the rest open in the viewer */
.wall-body { padding: 18px 20px 20px; }
.wall-body p { font-size: 14px; line-height: 23px; color: var(--ink-soft); margin: 10px 0 12px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.wall-body h3 { font-size: 14px; font-weight: 500; color: var(--ink); margin: 0 0 8px; }
.wall-product { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--accent-deep); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.wall-product:hover { color: var(--ink); }
@media (max-width: 991px) { .wall { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .wall { grid-template-columns: 1fr; } }


/* every card keeps its rating row, so prices and buttons sit on one line
   across a shelf whether a piece has reviews yet or not */


/* ---- the notice strip above the header ----
   Three promises on a wide screen. On a phone they would stack into three
   lines and push the shop below the fold, so there they take turns. */
.notice-bar { background: #303030; color: #d6d6d6; font-size: 12px; letter-spacing: .5px; padding: 9px 16px; }
.notice-track { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; }
.notice-track span { display: inline-flex; align-items: center; gap: 7px; }
.notice-track i { color: var(--accent); font-size: 13px; }
@media (max-width: 767px) {
    .notice-bar { padding: 0 16px; }
    .notice-track { display: block; position: relative; height: 34px; }
    .notice-track span {
        position: absolute; left: 0; right: 0; top: 0; height: 34px;
        justify-content: center; opacity: 0;
        animation: noticeTurn 12s infinite;
    }
    .notice-track span:nth-child(2) { animation-delay: 4s; }
    .notice-track span:nth-child(3) { animation-delay: 8s; }
    @keyframes noticeTurn {
        0% { opacity: 0; transform: translateY(6px); }
        6%, 28% { opacity: 1; transform: none; }
        34%, 100% { opacity: 0; transform: translateY(-6px); }
    }
    @media (prefers-reduced-motion: reduce) {
        .notice-track span { animation: none; }
        .notice-track span:first-child { opacity: 1; }
    }
}

/* ---- shop page on a phone ----
   The category chips scroll sideways instead of wrapping, and the sidebar
   (categories, price, gift note) becomes a sheet that slides up from the
   bottom when "Filters" is tapped, so the products come first. */
.shop-tools { display: flex; align-items: center; gap: 10px; }
.shop-tools label { white-space: nowrap; }
.filter-btn, .sheet-head, .sheet-backdrop { display: none; }
@media (max-width: 991px) {
    .cat-chips { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin: 0 -15px; padding: 2px 15px 6px; }
    .cat-chips::-webkit-scrollbar { display: none; }
    .cat-chips a { flex: 0 0 auto; white-space: nowrap; }
    .filter-btn {
        display: inline-flex; align-items: center; gap: 8px;
        height: 38px; padding: 0 14px;
        border: 1px solid #ddd; background: #fff; color: var(--ink);
        font-size: 13px; letter-spacing: .04em; cursor: pointer;
    }
    .filter-btn b {
        display: inline-flex; align-items: center; justify-content: center;
        min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
        background: var(--ink); color: #fff; font-size: 11px; font-weight: 500;
    }
    .shop-side {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 10001;
        width: auto; max-width: none; flex: none; padding: 0;
        max-height: 84vh; overflow: auto; overscroll-behavior: contain;
        background: #fff; border-radius: 18px 18px 0 0;
        box-shadow: 0 -24px 60px rgba(34, 31, 29, .28);
        transform: translateY(102%); visibility: hidden;
        transition: transform .32s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .32s;
    }
    .shop-side.open { transform: none; visibility: visible; transition-delay: 0s; }
    .shop-side-inner { position: static !important; padding: 0 22px 30px !important; }
    .sheet-head {
        display: flex; align-items: center; justify-content: space-between;
        position: sticky; top: 0; z-index: 1; background: #fff;
        padding: 16px 0 12px; margin-bottom: 20px; border-bottom: 1px solid var(--line);
    }
    .sheet-head strong { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 22px; color: var(--ink); }
    .sheet-close {
        width: 36px; height: 36px; border-radius: 50%;
        border: 1px solid var(--line); background: #fff; color: var(--ink);
        display: flex; align-items: center; justify-content: center; cursor: pointer;
    }
    .sheet-backdrop {
        display: block; position: fixed; inset: 0; z-index: 10000;
        background: rgba(20, 16, 14, .45);
        opacity: 0; visibility: hidden;
        transition: opacity .3s ease, visibility 0s linear .3s;
    }
    body.sheet-open .sheet-backdrop { opacity: 1; visibility: visible; transition-delay: 0s; }
    body.sheet-open { overflow: hidden; }
}

/* ---- the buy bar on a product page: Add to cart stays at hand whenever
   the real button is out of sight, with the price and what was chosen ---- */
.buy-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000;
    display: flex; align-items: center; gap: 16px;
    padding: 12px max(20px, calc(50% - 570px)) calc(12px + env(safe-area-inset-bottom));
    background: #fff; border-top: 1px solid var(--line);
    box-shadow: 0 -16px 36px -20px rgba(34, 31, 29, .28);
    transform: translateY(105%); visibility: hidden;
    transition: transform .3s ease, visibility 0s linear .3s;
}
.buy-bar.show { transform: none; visibility: visible; transition-delay: 0s; }
.buy-bar img { width: 48px; height: 48px; flex: 0 0 48px; object-fit: cover; background: var(--paper-warm); }
.buy-bar-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.buy-bar-text strong { font-family: "Playfair Display", serif; font-size: 17px; font-weight: 400; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.buy-bar-line { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.buy-bar-line em { font-style: normal; font-size: 14px; color: var(--ink); flex: 0 0 auto; }
.buy-bar-pick { min-width: 0; font-size: 12px; color: #8a807a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.buy-bar .card-btn { flex: 0 0 auto; min-width: 0; padding: 15px 40px; background: var(--ink); color: #fff; font-size: 12px; letter-spacing: .16em; }
.buy-bar .card-btn:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
body.buy-bar-shown #scrollUp { bottom: 96px !important; }
body.buy-bar-shown .toast { bottom: 100px; }
body:has(.buy-bar) .site-footer { padding-bottom: 74px; }   /* the footer's last line is never under the bar */
@media (max-width: 767px) {
    .buy-bar { gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); }
    .buy-bar img { width: 46px; height: 46px; flex-basis: 46px; border-radius: 6px; }
    .buy-bar-text strong { font-family: inherit; font-size: 13px; font-weight: 500; }
    .buy-bar .card-btn { padding: 13px 18px; letter-spacing: .12em; }
    body.buy-bar-shown #scrollUp { bottom: 86px !important; }
    body.buy-bar-shown .toast { bottom: 90px; }
}

/* ---- a choice and a note on a piece ---- */
.opt-field { flex: 1 1 100%; display: flex; flex-direction: column; gap: 6px; margin: 0 0 4px; font-weight: 400; max-width: 380px; }
.opt-field > span { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
.opt-field > span em { font-style: normal; text-transform: none; letter-spacing: 0; color: var(--accent-deep); margin-left: 6px; }
.opt-field select, .opt-field input {
    height: 46px; border: 1px solid #ddd; padding: 0 14px;
    font-size: 14px; color: var(--ink); background: #fff; font-family: inherit;
}
.cart-meta { display: block; font-size: 13px; color: #7a716b; margin-top: 3px; }
.cart-meta span { color: var(--accent-deep); }

/* ---- gift wrap at checkout ---- */
.gift-box { border: 1px solid var(--line); background: var(--paper-warm); padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; }
.gift-toggle { display: flex; gap: 12px; align-items: flex-start; margin: 0; font-weight: 400; cursor: pointer; }
.gift-toggle input { width: 18px; height: 18px; flex: 0 0 18px; margin: 2px 0 0; accent-color: var(--accent); }
.gift-toggle strong { font-weight: 500; color: var(--ink); font-size: 14px; }
.gift-toggle em { font-style: normal; color: var(--accent-deep); font-size: 13px; margin-left: 8px; }
.gift-toggle small { display: block; font-size: 12px; line-height: 18px; color: #7a716b; margin-top: 2px; }
.gift-note { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #555; font-weight: 400; margin: 0; }
.gift-note textarea { border: 1px solid #ddd; padding: 10px 12px; font-size: 14px; color: var(--ink); font-family: inherit; resize: vertical; background: #fff; }

/* ---- a coupon in the cart ---- */
.coupon-form { display: flex; gap: 8px; margin: 14px 0 0; }
.coupon-form input {
    flex: 1; min-width: 0; height: 42px; border: 1px solid #ddd; padding: 0 12px;
    font-size: 14px; color: var(--ink); background: #fff; font-family: inherit; text-transform: uppercase;
}
.coupon-form input::placeholder { text-transform: none; }
.coupon-form .card-btn { padding: 0 16px; height: 42px; }
/* a button beside a field takes the room its word needs; the field the rest */
.coupon-form .card-btn, .share-link .card-btn, .points-form .card-btn { flex: 0 0 auto; width: auto; min-width: 96px; }
.coupon-on { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 14px 0 0; font-size: 13px; color: #2e6b45; }
.coupon-on > span { display: inline-flex; align-items: center; gap: 6px; }
.coupon-on form { margin: 0; }
.coupon-on button { border: 0; background: none; padding: 0; font: inherit; font-size: 13px; color: #999; cursor: pointer; text-decoration: underline; }
.coupon-on button:hover { color: var(--ink); }
.coupon-bad { margin: 8px 0 0; font-size: 13px; color: #8a3d33; }

/* ---- the heart ----
   On a card it sits in the corner and shows itself on hover (always, on a
   touch screen). On the product page it is a plain button beside Add to
   cart. In the header it is a link to the saved pieces with a count. */
.product-wrapper .product-img { position: relative; }
.wish-btn {
    position: absolute; top: 10px; right: 10px; z-index: 2;
    width: 36px; height: 36px; border-radius: 50%; border: 0;
    background: rgba(255, 255, 255, .94); color: var(--ink);
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    box-shadow: 0 8px 18px -10px rgba(34, 31, 29, .6);
    opacity: 0; transform: translateY(4px);
    transition: opacity .25s ease, transform .25s ease, background .2s ease, color .2s ease;
}
.wish-btn i { font-size: 15px; }
.product-wrapper:hover .wish-btn, .wish-btn.is-on, .wish-btn:focus-visible { opacity: 1; transform: none; }
.wish-btn:hover { color: var(--accent-deep); }
.wish-btn.is-on { background: var(--accent-deep); color: #fff; }
@media (hover: none) { .wish-btn { opacity: 1; transform: none; } }
.wish-text {
    position: static; width: auto; height: 54px; border-radius: 0; padding: 0 20px;
    border: 1px solid #ddd; background: #fff; box-shadow: none; opacity: 1; transform: none;
    gap: 8px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink);
}
.wish-text.is-on { background: #fff; border-color: var(--accent-deep); color: var(--accent-deep); }
.wish-text.is-on span::after { content: "d"; }
/* on a phone the buy row is two neat rows: how many and Save side by side,
   then Add to cart across the whole width */
@media (max-width: 575px) {
    #buy-form .cart-plus-minus { flex: 0 0 auto; }
    #buy-form .wish-text { flex: 1 1 auto; justify-content: center; align-self: stretch; height: auto; }
    #buy-form > .btn-style { order: 3; flex: 1 0 100%; padding: 18px 16px !important; text-align: center; }
}
.header-wish a { position: relative; }
.wish-empty { text-align: center; padding: 40px 0 60px; color: #777; }
.wish-empty p { font-size: 15px; margin-bottom: 24px; }

/* ---- complete the look ---- */
.pairs-block { padding-bottom: 40px; }
.pairs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.pair-card {
    display: grid; grid-template-columns: 110px 1fr; gap: 16px; align-items: center;
    border: 1px solid var(--line); background: var(--paper); padding: 14px;
    transition: transform .3s ease, box-shadow .3s ease;
}
.pair-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -24px rgba(34, 31, 29, .35); }
.pair-photo { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--paper-warm); }
.pair-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pair-body { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.pair-name { font-size: 15px; font-weight: 500; color: var(--ink); text-decoration: none; }
.pair-name:hover { color: var(--accent-deep); }
.pair-price { font-size: 14px; color: var(--ink-soft); }
.pair-buy { margin: 6px 0 0; }
.pair-buy .card-btn, .pair-body > .card-btn { padding: 10px 16px; font-size: 11px; }
.pair-picks { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px 16px; margin-bottom: 14px; }

/* the saved-pieces count in the header, drawn like the cart's */
.header-wish a .count-style {
    position: absolute; top: -7px; right: -11px;
    min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
    background: var(--accent); color: #fff;
    font-size: 10px; font-weight: 600; line-height: 1;
    display: flex; align-items: center; justify-content: center;
}

/* ---- the cart as a WhatsApp message ---- */
.wa-cart {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 13px; color: var(--ink); text-decoration: none;
    border: 1px solid var(--line); padding: 9px 14px; background: #fff;
    transition: border-color .2s ease, color .2s ease;
}
.wa-cart:hover { border-color: var(--ink); color: var(--ink); }
.wa-cart i { color: #25d366; font-size: 15px; }

/* ---- delivery choice at checkout ---- */
.ship-options { display: grid; gap: 10px; }
.ship-option {
    display: flex; gap: 14px; align-items: flex-start; margin: 0; font-weight: 400; cursor: pointer;
    border: 1px solid var(--line); background: #fff; padding: 16px 18px;
    transition: border-color .2s ease, background .2s ease;
}
.ship-option:has(input:checked) { border-color: var(--ink); background: var(--paper-warm); }
.ship-option input { width: 18px; height: 18px; flex: 0 0 18px; margin: 2px 0 0; accent-color: var(--ink); }
.ship-option strong { font-weight: 500; color: var(--ink); font-size: 14px; }
.ship-option em { font-style: normal; color: var(--accent-deep); font-size: 13px; margin-left: 8px; }
.ship-option small { display: block; font-size: 12px; line-height: 18px; color: #7a716b; margin-top: 2px; }

/* ---- what a collection is about, at the top of its page ---- */
.cat-desc { max-width: 620px; font-size: 15px; line-height: 26px; color: #555; margin: 2px 0 10px; text-wrap: pretty; }

/* ---- the journal ---- */
.journal-page { padding-bottom: 90px; }
.journal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 26px; }
.post-card { display: block; color: inherit; text-decoration: none; background: var(--paper); transition: transform .35s ease, box-shadow .35s ease; }
.post-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(34, 31, 29, .35); color: inherit; text-decoration: none; }
.post-card-photo { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--paper-warm); }
.post-card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2, .6, .2, 1); }
.post-card:hover .post-card-photo img { transform: scale(1.04); }
.post-card-photo .no-photo { height: 100%; }
.post-card-body { display: block; padding: 18px 4px 6px; }
.post-card-body em { display: block; font-style: normal; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #9c918b; margin-bottom: 8px; }
.post-card-body strong { display: block; font-family: "Playfair Display", serif; font-weight: 400; font-size: 21px; line-height: 1.25; color: var(--ink); }
.post-card-body > span { display: block; font-size: 14px; line-height: 23px; color: var(--ink-soft); margin-top: 8px; }
.journal-band .section-head { align-items: flex-end; }

.post .post-head { max-width: 760px; margin: 34px auto 26px; text-align: center; }
.post .post-head .eyebrow { justify-content: center; }
.post .post-head h1 { font-family: "Playfair Display", serif; font-size: 42px; line-height: 1.15; font-weight: 400; color: var(--ink); margin: 14px 0 16px; text-wrap: balance; }
.post-lede { font-size: 18px; line-height: 30px; color: var(--ink-soft); margin: 0; }
.post-cover { max-width: 960px; margin: 0 auto 40px; }
.post-cover img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.post-body { max-width: 680px; margin: 0 auto; font-size: 17px; line-height: 30px; color: #3a3532; }
.post-body p { margin: 0 0 22px; }
.post-body h2 { font-family: "Playfair Display", serif; font-size: 28px; font-weight: 400; color: var(--ink); margin: 38px 0 14px; }
.post-body h3 { font-size: 18px; font-weight: 500; color: var(--ink); margin: 30px 0 10px; }
.post-body ul { margin: 0 0 22px 22px; padding: 0; }
.post-body li { margin-bottom: 8px; }
.post-body blockquote { margin: 26px 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--accent); font-family: "Playfair Display", serif; font-size: 22px; line-height: 1.4; color: var(--ink); }
.post-body figure { margin: 30px -40px; }
.post-body figure img { width: 100%; display: block; }
.post-body figcaption { font-size: 13px; color: #9c918b; text-align: center; margin-top: 10px; }
.post-body a { color: var(--accent-deep); text-decoration: underline; text-underline-offset: 3px; }
.post-share { max-width: 680px; margin: 40px auto 0; padding-top: 22px; border-top: 1px solid var(--line); display: flex; gap: 18px; align-items: center; font-size: 13px; color: #9c918b; }
.post-share a { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--ink); padding-bottom: 2px; }
@media (max-width: 767px) {
    .post .post-head h1 { font-size: 30px; }
    .post-body { font-size: 16px; line-height: 28px; }
    .post-body figure { margin: 24px 0; }
}

/* ---- the customise panel on a product ---- */
.customise { flex: 1 1 100%; max-width: 420px; border: 1px solid var(--line); background: var(--paper-warm); padding: 16px 18px 8px; margin: 0 0 8px; }
.customise-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.customise-head strong { font-family: "Playfair Display", serif; font-weight: 400; font-size: 19px; color: var(--ink); }
.customise-head span { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--accent-deep); }
.customise .opt-field { max-width: none; margin-bottom: 12px; }
.customise .opt-field select, .customise .opt-field input { background: #fff; }
.customise .opt-field input[type=file] { height: auto; padding: 10px 12px; font-size: 13px; }
.customise .opt-field small { font-size: 12px; color: #9c918b; }
.req { color: var(--accent-deep); font-style: normal; }

/* ---- the shop sidebar ----
   A quiet list: parents in the ink, children a step in with a hairline
   guide, counts small and to the right, the current one marked with the
   accent and a short rule instead of coloured text. */
.side-title { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.side-cats { list-style: none; margin: 0 0 30px; padding: 0; }
.side-cat a {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 8px 8px 8px 10px; margin: 0 -8px 0 -10px; border-radius: 6px;
    color: var(--ink); font-size: 14px; font-weight: 500; line-height: 1.3; text-decoration: none;
    position: relative; transition: background .2s ease, color .2s ease;
}
.side-cat a::before { content: ""; position: absolute; left: 0; top: 9px; bottom: 9px; width: 2px; border-radius: 2px; background: var(--accent-deep); opacity: 0; transition: opacity .2s ease; }
.side-cat a:hover { background: var(--paper-warm); color: var(--ink); }
.side-cat.on > a { color: var(--accent-deep); background: var(--paper-warm); }
.side-cat.on > a::before { opacity: 1; }
.side-cat em { font-style: normal; font-size: 11px; color: #a9a29d; min-width: 20px; text-align: right; font-variant-numeric: tabular-nums; }
.side-cat.on > a em { color: var(--accent-deep); }
.side-cat.sub a { margin-left: 8px; padding-left: 20px; font-size: 13.5px; font-weight: 400; color: #5f5751; }
.side-cat.sub a::after { content: ""; position: absolute; left: 6px; top: 0; bottom: 0; width: 1px; background: var(--line); }
.side-cat.sub.on > a::after { background: var(--accent); }
.side-cat.parent { margin-top: 2px; }
.side-cat.parent.open > a { color: var(--ink); }

.side-price { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.side-check { display: flex; align-items: center; gap: 10px; margin: 0; padding: 6px 8px 6px 10px; margin-left: -10px; margin-right: -8px; border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 400; color: #5f5751; transition: background .2s ease; }
.side-check:hover { background: var(--paper-warm); }
.side-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.side-check i { width: 16px; height: 16px; flex: 0 0 16px; border: 1.5px solid #c9c0ba; border-radius: 4px; background: #fff; position: relative; transition: border-color .2s ease, background .2s ease; }
.side-check i::after { content: ""; position: absolute; left: 4px; top: 1px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) scale(0); transition: transform .15s ease; }
.side-check.on { color: var(--ink); }
.side-check input:checked + i { background: var(--accent-deep); border-color: var(--accent-deep); }
.side-check input:checked + i::after { transform: rotate(45deg) scale(1); }
.side-check input:focus-visible + i { box-shadow: 0 0 0 3px rgba(243, 163, 149, .35); }
.side-clear { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-size: 12.5px; color: #9c918b; text-decoration: none; }
.side-clear:hover { color: var(--ink); }
.side-clear i { font-size: 10px; }

/* ---- custom pieces: the request page, the private quote page ----
   The request page is a form with the process beside it; the quote page is
   the customer's own record of one piece: what they asked, what we said,
   what they paid, the proof photo. Both borrow the product page's voice. */
.custom-hero { max-width: 620px; margin-bottom: 40px; }
.custom-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 50px; }
.custom-step { padding: 22px 22px 20px; border: 1px solid var(--line); }
.custom-step b { font-family: "Playfair Display", serif; font-weight: 400; font-size: 30px; color: var(--accent); line-height: 1; display: block; margin-bottom: 12px; }
.custom-step strong { display: block; font-size: 15px; color: var(--ink); font-weight: 500; margin-bottom: 6px; }
.custom-step span { font-size: 13px; line-height: 21px; color: var(--ink-soft); }
.custom-form { padding: 34px 36px; border: 1px solid var(--line); }
.custom-form h2 { font-family: "Playfair Display", serif; font-weight: 400; font-size: 24px; color: var(--ink); margin: 0 0 6px; }
.custom-form .lead { font-size: 13px; color: #888; margin: 0 0 26px; }
.custom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.custom-grid .full { grid-column: span 2; }
.custom-grid label, .quote-form label { display: flex; flex-direction: column; gap: 6px; margin: 0; font-weight: 400; }
.custom-grid label > span, .quote-form label > span { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
.custom-grid input, .custom-grid select, .custom-grid textarea, .quote-form input { width: 100%; height: 46px; border: 1px solid #ddd; padding: 0 14px; font-size: 14px; color: #303030; font-family: inherit; background: #fff; }
.custom-grid textarea { height: auto; padding: 12px 14px; resize: vertical; min-height: 130px; line-height: 1.55; }
.custom-grid input[type=file] { height: auto; padding: 10px 12px; font-size: 13px; }
.custom-grid small, .quote-form small { font-size: 12px; color: #9c918b; }
.custom-grid em.text-danger, .quote-form small.text-danger { font-size: 12px; font-style: normal; color: #d9534f; }
.custom-about { display: flex; gap: 14px; align-items: center; padding: 14px; background: var(--paper-warm); border: 1px solid var(--line); margin-bottom: 22px; }
.custom-about img { width: 64px; height: 64px; object-fit: cover; display: block; }
.custom-about strong { display: block; font-size: 15px; color: var(--ink); font-weight: 500; }
.custom-about span { font-size: 13px; color: var(--ink-soft); }
.custom-about a.change { margin-left: auto; font-size: 12px; color: #9c918b; text-decoration: underline; white-space: nowrap; }
.custom-aside { border: 1px solid var(--line); padding: 26px 28px; margin-bottom: 20px; }
.custom-aside h3 { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); margin: 0 0 14px; font-weight: 500; }
.custom-aside ul { list-style: none; margin: 0; padding: 0; }
.custom-aside li { font-size: 14px; line-height: 23px; color: var(--ink-soft); padding: 8px 0; border-top: 1px solid var(--line); }
.custom-aside li:first-child { border-top: 0; padding-top: 0; }
.custom-aside li strong { color: var(--ink); font-weight: 500; }

/* the product page's way in */
.custom-link { display: flex; align-items: center; gap: 14px; padding: 14px 16px; margin: 0 0 22px; border: 1px dashed #d9cfc9; background: var(--paper-warm); color: var(--ink-soft); font-size: 13px; line-height: 20px; text-decoration: none; max-width: 520px; transition: border-color .2s ease, background .2s ease; }
.custom-link:hover { border-color: var(--accent-deep); background: #fff; color: var(--ink-soft); }
.custom-link strong { color: var(--ink); font-weight: 500; }
.custom-link > i:first-child { font-size: 18px; color: var(--accent-deep); flex: 0 0 auto; }
.custom-link > i:last-child { font-size: 12px; color: var(--ink); margin-left: auto; flex: 0 0 auto; }

/* the private quote page */
.quote-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; }
.quote-head h1 { font-family: "Playfair Display", serif; font-size: 38px; line-height: 46px; color: var(--ink); font-weight: 400; margin: 0; }
.quote-pill { display: inline-block; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; padding: 5px 10px; background: #eef1f5; color: #4a5568; white-space: nowrap; }
.quote-pill.quoted { background: #fdf3e0; color: #8a5a1c; }
.quote-pill.paid { background: #e7f6ec; color: #2e6b45; }
.quote-pill.done { background: #e9e9fb; color: #3f3f9b; }
.quote-pill.declined { background: #fdeaea; color: #9b2c2c; }
.quote-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin: 0 0 44px; }
.quote-steps > div { padding-top: 16px; position: relative; }
.quote-steps > div::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: #e5e5e5; }
.quote-steps > div.done::before { background: var(--accent); }
.quote-steps b { display: block; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #aaa; font-weight: 400; }
.quote-steps > div.done b { color: var(--ink); }
.quote-steps span { font-size: 12px; color: #999; margin-top: 4px; display: block; }
.quote-box { border: 1px solid var(--line); padding: 26px; margin-bottom: 20px; }
.quote-box h2 { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); margin: 0 0 16px; padding-bottom: 10px; border-bottom: 1px solid var(--line); font-weight: 500; }
.quote-detail { display: grid; grid-template-columns: 96px 1fr; gap: 8px 16px; font-size: 14px; line-height: 23px; color: var(--ink-soft); margin: 0; }
.quote-detail dt { color: #999; font-weight: 400; margin: 0; }
.quote-detail dd { margin: 0; color: var(--ink); }
.quote-detail dd.pre { white-space: pre-line; }
.quote-photos { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.quote-photos a { display: block; width: 84px; height: 84px; background: var(--paper-warm); }
.quote-photos img { width: 100%; height: 100%; object-fit: cover; display: block; }
.quote-price { background: var(--paper-warm); padding: 22px 24px; margin-bottom: 18px; }
.quote-price .big { font-family: "Playfair Display", serif; font-size: 34px; color: var(--ink); line-height: 1.1; }
.quote-price .days { font-size: 13px; color: var(--ink-soft); margin-top: 6px; }
.quote-price .note { font-size: 14px; line-height: 23px; color: var(--ink-soft); margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #ebe5e1; white-space: pre-line; }
.quote-split { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--ink-soft); padding: 8px 0; }
.quote-split + .quote-split { border-top: 1px solid var(--line); }
.quote-split strong { color: var(--ink); font-weight: 500; }
.quote-split.now strong { color: var(--accent-deep); font-size: 16px; }
.quote-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; margin-top: 12px; }
.quote-form .full { grid-column: span 2; }
.quote-btn { display: block; width: 100%; border: 0; padding: 18px 20px; font-size: 14px; text-align: center; }
.quote-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.quote-decline { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; color: #9c918b; text-decoration: underline; cursor: pointer; }
.quote-decline:hover { color: var(--ink); }
.quote-note { padding: 12px 16px; font-size: 14px; line-height: 22px; margin-bottom: 22px; }
.quote-note.good { background: #eef7f0; color: #2e6b45; }
.quote-note.warn { background: #fdf3e0; color: #8a5a1c; }
.quote-note.bad { background: #fbeeec; color: #8a3d33; }
.proof-img { display: block; margin-bottom: 14px; background: var(--paper-warm); }
.proof-img img { width: 100%; height: auto; display: block; }
.proof-actions { display: grid; gap: 12px; margin-top: 16px; }
.proof-actions textarea { width: 100%; border: 1px solid #ddd; padding: 12px 14px; font-size: 14px; font-family: inherit; min-height: 90px; resize: vertical; line-height: 1.5; }
@media (max-width: 991px) {
    .custom-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .custom-steps { grid-template-columns: 1fr; gap: 10px; }
    .custom-grid, .quote-form { grid-template-columns: 1fr; }
    .custom-grid .full, .quote-form .full { grid-column: span 1; }
    .custom-form { padding: 24px 20px; }
    .quote-head h1 { font-size: 30px; line-height: 38px; }
    .quote-detail { grid-template-columns: 1fr; gap: 2px 0; }
    .quote-detail dt { margin-top: 8px; }
    .quote-steps { grid-template-columns: repeat(3, 1fr); gap: 14px 6px; }
    .quote-box { padding: 20px 18px; }
}

/* size guide and care notes, folded under the piece's details */
.pd-fold { border-bottom: 1px solid #ebebeb; }
.pd-fold summary { list-style: none; cursor: pointer; padding: 18px 0; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: #303030; display: flex; align-items: center; justify-content: space-between; }
.pd-fold summary::-webkit-details-marker { display: none; }
.pd-fold summary::after { content: "+"; font-size: 18px; line-height: 1; color: #9c918b; font-weight: 300; }
.pd-fold[open] summary::after { content: "\2013"; }
.pd-fold-body { padding: 0 0 18px; font-size: 14px; line-height: 24px; color: #666; }
.pd-fold-body h2, .pd-fold-body h3 { font-family: "Playfair Display", serif; font-weight: 400; font-size: 18px; color: var(--ink); margin: 6px 0 8px; }
.pd-fold-body p { margin: 0 0 10px; }
.pd-fold-body ul { margin: 0 0 10px 18px; padding: 0; }
.pd-fold-body li { margin: 0 0 4px; }
.pd-fold-body strong { color: var(--ink); font-weight: 500; }

/* ---- sale mode: the banner and the line under a price ---- */
.notice-bar.sale-bar {
    background: linear-gradient(90deg, #1c1917 0%, #2b2320 50%, #1c1917 100%);
    color: #e9ddd5; padding: 11px 16px; letter-spacing: .02em;
    border-bottom: 1px solid rgba(243, 163, 149, .28);
}
.sale-bar .notice-track { gap: 28px; align-items: center; }
.sale-bar .sale-title { font-family: "Playfair Display", serif; font-style: italic; font-size: 15px; letter-spacing: .02em; color: #f6d8cf; display: inline-flex; align-items: center; gap: 10px; }
.sale-bar .sale-title::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px rgba(243, 163, 149, .18); }
.sale-bar .sale-text { color: #cfc1b8; }
.sale-bar .sale-offer { display: inline-flex; align-items: center; gap: 8px; color: #e9ddd5; }
.sale-bar .sale-code { font-weight: 500; letter-spacing: .14em; color: #fff; border: 1px solid rgba(246, 216, 207, .5); border-radius: 999px; padding: 2px 10px; background: rgba(255, 255, 255, .04); }
.sale-bar .sale-offer em { font-style: normal; color: #9c8f87; font-size: 11px; }
.sale-bar .sale-clock { color: #cfc1b8; }
.sale-bar .sale-clock b { color: #fff; font-weight: 500; font-variant-numeric: tabular-nums; }
.sale-line { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 10px 14px; background: #faf6f4; border: 1px solid var(--line); color: #6a625c; font-size: 13px; line-height: 20px; max-width: 520px; }
.sale-line svg { color: var(--accent-deep); flex: 0 0 auto; }
.sale-line strong { color: var(--ink); font-weight: 500; }
.sale-line b { font-weight: 600; letter-spacing: .08em; color: var(--ink); }
@media (max-width: 767px) { .sale-bar .sale-offer em { display: none; } .sale-bar .notice-track { gap: 12px 18px; } }

/* ---- gift cards ---- */
.gift-label { display: block; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); margin-bottom: 8px; }
.gift-amounts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.gift-amount { position: relative; margin: 0; font-weight: 400; }
.gift-amount input { position: absolute; opacity: 0; width: 0; height: 0; }
.gift-amount span { display: inline-block; padding: 11px 16px; border: 1px solid #ddd; font-size: 14px; color: var(--ink); cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.gift-amount input:checked + span { border-color: var(--ink); background: var(--ink); color: #fff; }
.gift-amount input:focus-visible + span { box-shadow: 0 0 0 3px rgba(243, 163, 149, .35); }
.gift-other { width: 150px !important; height: 44px !important; }
.gift-preview { position: relative; overflow: hidden; padding: 28px 28px 24px; margin-bottom: 20px; color: #fff; background: linear-gradient(135deg, #2a2523 0%, #4a3b35 60%, #8a5f52 100%); }
.gift-preview::after { content: ""; position: absolute; right: -40px; top: -40px; width: 160px; height: 160px; border-radius: 50%; background: rgba(243, 163, 149, .25); }
.gift-preview-top { display: flex; justify-content: space-between; align-items: baseline; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; opacity: .85; }
.gift-preview-top span { font-family: "Playfair Display", serif; font-size: 16px; letter-spacing: .04em; text-transform: none; }
.gift-preview-amount { font-family: "Playfair Display", serif; font-size: 46px; line-height: 1.1; margin: 26px 0 8px; }
.gift-preview-to { font-size: 14px; opacity: .9; }
.gift-preview-to b { font-weight: 500; color: #f8d3ca; }
.gift-preview-code { margin-top: 26px; font-size: 11px; letter-spacing: .2em; opacity: .6; }

/* ---- the Instagram band ---- */
.insta-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.insta-tile { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--paper-warm); }
.insta-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.insta-tile:hover img { transform: scale(1.05); }
.insta-tile .reel-play, .insta-more { position: absolute; top: 8px; right: 8px; }
.insta-more { width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, .9); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
@media (max-width: 991px) { .insta-grid { grid-template-columns: repeat(3, 1fr); } }

/* ---- the language switch, in the notice bar and the phone menu ---- */
.notice-bar { position: relative; }
.lang-switch { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); display: flex; gap: 2px; }
.lang-switch a { color: inherit; opacity: .65; text-decoration: none; padding: 2px 6px; border-radius: 4px; font-size: 12px; letter-spacing: 0; }
.lang-switch a:hover { opacity: 1; }
.lang-switch a.on { opacity: 1; background: rgba(255, 255, 255, .14); }
.lang-row { display: flex !important; gap: 8px; padding: 12px 0 0 !important; }
.lang-row a { display: inline-block !important; padding: 4px 10px !important; border: 1px solid #ddd; font-size: 12px !important; }
.lang-row a.on { background: var(--ink); color: #fff !important; border-color: var(--ink); }
@media (max-width: 767px) { .lang-switch { display: none; } }

/* ---- design pass: cards, the shop toolbar ----
   A card shows its second photo on hover, says nothing when a piece is
   simply in stock, and keeps the same height whether or not it has a note. */
.product-wrapper .product-img > a { position: relative; }
.product-wrapper .product-img > a > img.alt { position: absolute; inset: 0; opacity: 0; transition: opacity .5s ease; }
.product-wrapper:hover .product-img > a.has-alt > img.alt { opacity: 1; }
.product-wrapper:hover .product-img > a.has-alt > img:not(.alt) { transform: none; }
.card-note { font-size: 12px; margin-top: 6px; min-height: 16px; color: #b5493f; letter-spacing: .02em; }
.shop-count { font-size: 13px; color: #9c918b; }
.shop-sub { font-size: 14px; color: #8a807a; margin: 0; }
.shop-sort { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #9c918b; margin: 0; font-weight: 400; }
.shop-sort select { border: 1px solid var(--line); padding: 8px 34px 8px 12px; font-size: 13px; color: var(--ink); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23221f1d' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 12px center; font-family: inherit; appearance: none; -webkit-appearance: none; cursor: pointer; }
.shop-sort select:hover { border-color: var(--ink-soft); }

/* ---- design pass: the product page ---- */
.price-note { font-size: 12px; letter-spacing: .04em; color: #9c918b; margin: -2px 0 22px; }
.pd-folds { border-top: 1px solid #ebebeb; margin-top: 4px; }
.pd-fold summary { padding: 16px 0; }
.pd-fold-body { padding: 0 0 18px; }
dl.spec-list.pd-fold-body { margin: 0; }
.pd-cat { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #a9a29d; margin: 16px 0 0; }
.pd-cat a { color: var(--ink-soft); text-decoration: none; }
.pd-cat a:hover { color: var(--accent-deep); }

/* ---- design pass: cards on a phone, two to a row ----
   Half-width cards need a smaller voice: tighter type, a button that fills
   its card, the rating pill and the tag scaled down. */
@media (max-width: 767px) {
    .product-wrapper.mb-45 { margin-bottom: 26px; }
    .product-content { padding-top: 12px; }
    .product-content > div:first-child { font-size: 10px !important; letter-spacing: 1px !important; }
    .product-content > h4 { font-size: 13px; line-height: 1.3; margin-bottom: 4px; }
    .product-price > span { font-size: 14px; }
    .product-price > span.old { font-size: 11px; }
    .card-note { font-size: 11px; margin-top: 4px; min-height: 14px; }
    .card-buy { margin-top: 10px; }
    .product-wrapper .card-btn { min-width: 0; width: 100%; padding: 10px 8px; font-size: 10px; letter-spacing: .1em; }
    .card-btn-muted { margin-top: 10px; }
    .product-wrapper .product-img > span { font-size: 9px; padding: 4px 7px; }
    .product-wrapper .product-img .card-rating { left: 6px; bottom: 6px; padding: 4px 7px 4px 6px; font-size: 11px; }
    .product-wrapper .wish-btn { width: 30px; height: 30px; }
    .row > .col-6 { padding-left: 6px; padding-right: 6px; }
    .row:has(> .col-6) { margin-left: -6px; margin-right: -6px; }
}

/* the sale bar has four lines to take turns on a phone, not three */
@media (max-width: 767px) {
    .sale-bar .notice-track span { animation: noticeFour 16s infinite; }
    .sale-bar .notice-track span:nth-child(2) { animation-delay: 4s; }
    .sale-bar .notice-track span:nth-child(3) { animation-delay: 8s; }
    .sale-bar .notice-track span:nth-child(4) { animation-delay: 12s; }
    .sale-bar .sale-offer em { display: none; }
    @keyframes noticeFour {
        0% { opacity: 0; transform: translateY(6px); }
        4%, 21% { opacity: 1; transform: none; }
        25%, 100% { opacity: 0; transform: translateY(-6px); }
    }
}

/* ---- design pass: page furniture shared by cart, checkout and the like ---- */
.page-pad { padding: 50px 0 100px; }
.page-title-row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px 24px; flex-wrap: wrap; margin-bottom: 30px; }
.page-title { font-family: "Playfair Display", serif; font-size: 36px; color: var(--ink); font-weight: 400; margin: 0; }
.page-title-sub { font-size: 14px; color: #9c918b; margin-left: auto; }
.form-problem { margin: 0 0 20px; padding: 12px 16px; background: #fbeeec; color: #8a3d33; font-size: 14px; }

/* the summary card, on the cart and at checkout */
.summary { background: var(--paper-warm); border: 1px solid var(--line); padding: 26px 26px 24px; position: sticky; top: 24px; }
.summary h2 { font-family: "Playfair Display", serif; font-size: 22px; color: var(--ink); font-weight: 400; margin: 0 0 16px; }
.summary-row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--ink-soft); padding: 8px 0; }
.summary-row b { color: var(--ink); font-weight: 500; }
.summary-row.good, .summary-row.good b { color: #2e6b45; }
.summary-row .free { color: #2e8b57; }
.summary-row.line { border-bottom: 1px solid #e6dcd6; }
.summary-total { display: flex; justify-content: space-between; align-items: baseline; padding: 16px 0 20px; margin-top: 6px; border-top: 1px solid #e6dcd6; }
.summary-total span { font-size: 15px; color: var(--ink); font-weight: 500; }
.summary-total b { font-size: 26px; color: var(--ink); font-weight: 500; font-family: "Playfair Display", serif; }
.summary-btn { display: block; width: 100%; border: 0; text-align: center; padding: 17px 20px; font-size: 13px; }
.summary-note { font-size: 12px; line-height: 19px; color: #9c918b; margin: 12px 0 0; text-align: center; }
.summary-note .checkout-total { color: var(--ink); }
.summary-trust { list-style: none; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid #e6dcd6; display: flex; flex-direction: column; gap: 9px; font-size: 13px; color: var(--ink-soft); }
.summary-trust li { display: flex; align-items: center; gap: 10px; }
.summary-trust i { color: var(--ink); font-size: 15px; }
.summary-items { margin-bottom: 8px; }
.summary-item { display: grid; grid-template-columns: 52px 1fr auto; gap: 14px; align-items: center; padding: 8px 0; }
.summary-item-photo { position: relative; width: 52px; height: 52px; background: #fff; }
.summary-item-photo img, .summary-item-photo > span { width: 52px; height: 52px; object-fit: cover; display: block; background: #fff; }
.summary-item-photo b { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 11px; font-weight: 500; display: flex; align-items: center; justify-content: center; }
.summary-item-name { font-size: 14px; color: var(--ink); line-height: 1.35; }
.summary-item-price { font-size: 14px; color: var(--ink); white-space: nowrap; }

/* the cart */
.cart-empty { padding: 50px 0 70px; text-align: center; }
.cart-empty p { font-size: 15px; color: #8a807a; margin: 0 0 22px; }
.ship-progress { margin: 0 0 30px; padding: 14px 18px; border: 1px solid var(--line); background: var(--paper-warm); }
.ship-progress.done { background: #eef7f0; border-color: #cfe8d6; }
.ship-progress-text { display: flex; align-items: center; gap: 12px; font-size: 14px; color: #6a625c; }
.ship-progress.done .ship-progress-text { color: #2e6b45; }
.ship-progress-text i { font-size: 18px; color: var(--ink); }
.ship-progress.done .ship-progress-text i { color: #2e8b57; }
.ship-progress-text strong { color: var(--ink); font-weight: 500; }
.ship-progress-bar { height: 3px; background: #e6dcd6; margin-top: 12px; overflow: hidden; }
.ship-progress-bar span { display: block; height: 100%; background: var(--accent-deep); transition: width .5s ease; }
.ship-progress.done .ship-progress-bar span { background: #2e8b57; }
.cart-lines { border-top: 1px solid var(--line); }
.cart-line { display: grid; grid-template-columns: 104px 1fr auto; gap: 22px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); }
.cart-line-photo { display: block; width: 104px; height: 104px; background: var(--paper-warm); overflow: hidden; }
.cart-line-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cart-line-cat { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: #a9a29d; margin-bottom: 4px; }
.cart-line-name { font-size: 16px; color: var(--ink); font-weight: 500; text-decoration: none; }
.cart-line-name:hover { color: var(--accent-deep); }
.cart-line-unit { font-size: 13px; color: #9c918b; margin-top: 4px; }
.cart-line-tools { display: flex; align-items: center; gap: 18px; margin-top: 14px; flex-wrap: wrap; }
.qty { display: inline-flex; align-items: center; border: 1px solid var(--line); background: #fff; }
.qty button { width: 34px; height: 36px; border: 0; background: none; color: var(--ink); font-size: 16px; cursor: pointer; transition: background .2s ease; }
.qty button:hover { background: var(--paper-warm); }
.qty input { width: 48px; height: 36px; border: 0 !important; border-left: 1px solid var(--line) !important; border-right: 1px solid var(--line) !important; text-align: center; font-size: 14px; color: var(--ink); background: #fff; -moz-appearance: textfield; }
.qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cart-remove { border: 0; background: none; padding: 0; font-size: 13px; color: #9c918b; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.cart-remove:hover { color: #b5493f; }
.cart-line-total { font-size: 18px; color: var(--ink); font-weight: 500; text-align: right; }
.cart-foot { display: flex; justify-content: space-between; align-items: center; margin: 22px 0 26px; flex-wrap: wrap; gap: 14px; }

/* checkout */
.co-head-row { align-items: center; }
.steps { list-style: none; display: flex; align-items: center; gap: 14px; margin: 0; padding: 0; font-size: 13px; color: #a9a29d; }
.steps li { display: inline-flex; align-items: center; gap: 8px; }
.steps li + li::before { content: ""; width: 22px; height: 1px; background: #d9cfc9; margin-right: 6px; }
.steps a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.steps b { width: 22px; height: 22px; border-radius: 50%; border: 1px solid #d9cfc9; font-size: 11px; font-weight: 500; display: inline-flex; align-items: center; justify-content: center; }
.steps .done, .steps .done a { color: var(--ink); }
.steps .done b { background: var(--ink); border-color: var(--ink); color: #fff; }
.steps .now { color: var(--ink); }
.steps .now b { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
.co-head { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); font-weight: 500; margin: 0 0 18px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.co-head + .co-head, .co-grid + .co-head, .ship-options + .co-head, .ship-eta + .co-head { margin-top: 40px; }
.co-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.co-grid .full { grid-column: span 2; }
.field { display: flex; flex-direction: column; gap: 6px; margin: 0; font-weight: 400; }
.field > span { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.field > span small { text-transform: none; letter-spacing: 0; color: #a9a29d; }
.field input, .field textarea { width: 100%; height: 46px; border: 1px solid #ddd; padding: 0 14px; font-size: 14px; color: var(--ink); font-family: inherit; background: #fff; }
.field textarea { height: auto; padding: 12px 14px; resize: vertical; line-height: 1.5; }
.field em { font-style: normal; font-size: 12px; color: #b5493f; }
.pay-box { display: flex; gap: 14px; align-items: flex-start; border: 1px solid var(--ink); padding: 18px 20px; background: #fff; }
.pay-box i { font-size: 18px; color: var(--ink); margin-top: 3px; }
.pay-box strong { display: block; font-size: 15px; color: var(--ink); font-weight: 500; }
.pay-box p { font-size: 13px; line-height: 21px; color: #7a716b; margin: 4px 0 0; }
.col-lg-5 .summary, .col-lg-4 .summary { margin-top: 0; }
@media (max-width: 991px) {
    .summary { position: static; margin-top: 30px; }
}
@media (max-width: 767px) {
    .page-pad { padding: 30px 0 70px; }
    .page-title { font-size: 30px; }
    .cart-line { grid-template-columns: 80px 1fr; gap: 14px; }
    .cart-line-photo { width: 80px; height: 80px; }
    .cart-line-total { grid-column: 2; text-align: left; font-size: 16px; }
    .co-grid { grid-template-columns: 1fr; }
    .co-grid .full { grid-column: span 1; }
    .steps { gap: 8px; font-size: 12px; }
    .steps li + li::before { width: 12px; }
}

/* ---- design pass: the footer ---- */
.site-footer { background: var(--paper-warm); border-top: 1px solid var(--line); padding: 70px 0 0; margin-top: 40px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px 48px; padding-bottom: 56px; }
.footer-logo img { height: 40px; width: auto; }
.footer-brand p { font-size: 14px; line-height: 24px; color: var(--ink-soft); max-width: 340px; margin: 18px 0 20px; }
.footer-cta { display: flex; gap: 10px; flex-wrap: wrap; }
.footer-btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; background: var(--ink); color: #fff; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: background .25s ease, color .25s ease, border-color .25s ease; border: 1px solid var(--ink); }
.footer-btn:hover { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
.footer-btn.ghost { background: transparent; color: var(--ink); border-color: #d9cfc9; }
.footer-btn.ghost:hover { border-color: var(--ink); background: transparent; color: var(--ink); }
.footer-btn i { font-size: 14px; }
.footer-col h3 { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); font-weight: 500; margin: 6px 0 18px; }
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col li { margin: 0 0 9px; font-size: 14px; }
.footer-col li a { color: var(--ink-soft); text-decoration: none; transition: color .2s ease, padding-left .2s ease; }
.footer-col li a:hover { color: var(--accent-deep); padding-left: 3px; }
.footer-contact li { display: flex; gap: 12px; align-items: flex-start; line-height: 22px; margin-bottom: 12px; color: var(--ink-soft); }
.footer-contact i { color: var(--ink); font-size: 16px; margin-top: 3px; flex: 0 0 auto; }
.footer-contact a { color: var(--ink-soft); }
.footer-note { font-size: 12px; line-height: 19px; color: #a9a29d; margin: 16px 0 0; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 14px 24px; flex-wrap: wrap; padding: 18px 0 22px; border-top: 1px solid var(--line); font-size: 12px; color: #9c918b; }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: var(--ink-soft); text-decoration: none; }
.footer-bottom a:hover { color: var(--accent-deep); }
.footer-pay { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.footer-pay span { margin-right: 6px; }
.footer-pay b { font-weight: 500; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); border: 1px solid #d9cfc9; padding: 3px 7px; background: #fff; }
@media (max-width: 991px) {
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 32px; }
    .footer-brand { grid-column: span 2; }
}
@media (max-width: 767px) {
    .site-footer { padding-top: 50px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; padding-bottom: 40px; }
    .footer-col:last-child { grid-column: span 2; }
    .footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* ---- design pass: the remaining pages, in the same voice ----
   Panels, narrow forms, the two-column account, the order confirmation,
   the contact cards, the policy pages, the 404. All share the field,
   summary and link styles the cart and checkout already use. */
.narrow { max-width: 520px; margin: 0 auto; }
.lead { font-size: 15px; line-height: 26px; color: var(--ink-soft); margin: 0 0 26px; text-wrap: pretty; }
.lead a { color: var(--ink); text-decoration: underline; }
.lead strong { color: var(--ink); font-weight: 500; }
.page-title + .lead { margin-top: 10px; }
.stack-form { display: grid; gap: 16px; }
.small-links { font-size: 13px; line-height: 21px; color: #8a807a; margin: 16px 0 0; }
.small-links a { color: var(--ink); text-decoration: underline; }
.small-links.center { text-align: center; margin-top: 40px; }
.form-ok { margin: 0 0 18px; padding: 12px 16px; background: #eef7f0; color: #2e6b45; font-size: 14px; line-height: 22px; }
.btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 15px 28px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; cursor: pointer; font-family: inherit; text-decoration: none; transition: background .25s ease, color .25s ease; }
.btn-ghost:hover { background: var(--ink); color: #fff; }
.btn-ghost.light { border-color: rgba(255, 255, 255, .45); color: #fff; }
.btn-ghost.light:hover { background: #fff; color: var(--ink); border-color: #fff; }
.link-underline.as-button { background: none; cursor: pointer; font-family: inherit; }

.panel { border: 1px solid var(--line); background: #fff; padding: 28px 30px; margin-bottom: 20px; }
.panel.warm { background: var(--paper-warm); }
.panel h2 { font-family: "Playfair Display", serif; font-size: 24px; color: var(--ink); font-weight: 400; margin: 0 0 18px; }
.panel h2.panel-cap { font-family: inherit; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 500; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.panel h2.panel-sm { font-family: inherit; font-size: 15px; font-weight: 500; margin: 0 0 6px; }
.panel-sub { font-size: 13px; line-height: 21px; color: #8a807a; margin: 0 0 14px; }
.panel-foot { font-size: 12px; line-height: 19px; color: #9c918b; margin: 14px 0 0; padding-top: 14px; border-top: 1px solid #e6dcd6; }
.panel .link-underline { margin-top: 2px; }
.muted-count { color: #9c918b; font-weight: 400; }
.field-select { width: 100%; height: 46px; border: 1px solid #ddd; padding: 0 12px; font-size: 14px; color: var(--ink); background: #fff; font-family: inherit; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
.form-actions .small-links { margin: 0; }

/* login and register */
.auth-intro { text-align: center; max-width: 540px; margin: 0 auto 40px; }
.auth-intro .lead { margin-bottom: 0; }
.auth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 460px)); justify-content: center; gap: 24px; }
.auth-grid .panel { margin: 0; height: 100%; }
.google-btn { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 13px 16px; border: 1px solid #dadce0; background: #fff; color: #3c4043; font-size: 14px; font-weight: 500; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease; }
.google-btn:hover { border-color: #b9b5b1; color: #3c4043; box-shadow: 0 8px 20px -16px rgba(34, 31, 29, .5); }
.or-line { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: #b0a49d; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.or-line::before, .or-line::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.tick-list { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--ink-soft); }
.tick-list li { display: flex; align-items: center; gap: 10px; }
.tick-list li::before { content: "\2713"; color: var(--accent-deep); font-size: 12px; }

/* the order confirmation */
.order-hero { text-align: center; max-width: 640px; margin: 0 auto 44px; }
.order-hero .eyebrow { justify-content: center; }
.order-hero .page-title { font-size: 38px; line-height: 1.2; text-wrap: pretty; margin: 6px 0 14px; }
.order-hero .lead { margin: 0 0 12px; }
.order-hero .form-problem { text-align: left; }
.order-tick { display: inline-flex; width: 60px; height: 60px; border-radius: 50%; background: #eef7f0; color: #2e8b57; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 20px; }
.order-steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; max-width: 900px; margin: 0 auto 50px; padding: 0; }
.order-steps li { padding-top: 16px; position: relative; }
.order-steps li::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: #e5e5e5; }
.order-steps li.done::before { background: var(--accent); }
.order-steps b { display: block; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #aaa; font-weight: 400; }
.order-steps li.done b { color: var(--ink); }
.order-steps span { display: block; font-size: 12px; color: #999; margin-top: 4px; }
.order-cancelled { text-align: center; margin: 0 auto 40px; display: flex; gap: 16px; align-items: center; justify-content: center; flex-wrap: wrap; }
.order-lines { display: flex; flex-direction: column; }
.order-line { display: grid; grid-template-columns: 64px 1fr auto; gap: 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.order-line img, .order-line-blank { width: 64px; height: 64px; object-fit: cover; display: block; background: var(--paper-warm); }
.order-line-name { font-size: 15px; color: var(--ink); }
.order-line-meta { font-size: 13px; color: #9c918b; margin-top: 2px; }
.order-line-total { font-size: 15px; color: var(--ink); white-space: nowrap; }
.order-totals { padding-top: 6px; }
.order-totals .summary-total { padding-bottom: 0; }
.order-address { font-size: 14px; line-height: 24px; color: var(--ink-soft); margin: 0; }
.order-address strong { color: var(--ink); font-weight: 500; }
.order-fact { font-size: 13px; line-height: 21px; color: var(--ink-soft); margin: 14px 0 0; padding-top: 14px; border-top: 1px solid #e6dcd6; }
.order-fact strong { color: var(--ink); font-weight: 500; }
.order-actions { display: flex; justify-content: center; gap: 14px; margin-top: 30px; flex-wrap: wrap; }
.order-actions .btn-ghost { width: auto; }

/* the account */
.account-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 34px; flex-wrap: wrap; }
.account-head form { margin: 0; }
.list-head { display: flex; align-items: baseline; gap: 12px; margin: 0 0 18px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.list-head + .list-head, .order-row + .list-head, .lead + .list-head { margin-top: 36px; }
.list-head h2 { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); font-weight: 500; margin: 0; }
.list-head span { font-size: 13px; color: #9c918b; }
.order-row { border: 1px solid var(--line); padding: 22px 24px; margin-bottom: 14px; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: start; }
.order-row-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.order-row-number { font-size: 16px; color: var(--ink); font-weight: 500; text-decoration: none; }
.order-row-number:hover { color: var(--accent-deep); }
.order-row-meta { font-size: 13px; color: #8a807a; margin-top: 6px; }
.order-row-meta strong { color: #8a5a1c; font-weight: 500; }
.order-row-thumbs { display: flex; gap: 8px; margin-top: 16px; }
.order-row-thumbs img { width: 56px; height: 56px; object-fit: cover; display: block; background: var(--paper-warm); }
.order-row-side { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.order-row-total { font-size: 18px; color: var(--ink); font-weight: 500; }

/* contact */
.contact-cards { display: flex; flex-direction: column; gap: 12px; }
.contact-card { display: flex; align-items: center; gap: 16px; padding: 18px 22px; border: 1px solid var(--line); color: var(--ink); text-decoration: none; background: #fff; transition: border-color .2s ease; }
a.contact-card:hover { border-color: var(--ink); color: var(--ink); }
.contact-card > i { font-size: 22px; flex: 0 0 auto; }
.contact-card > i.go { margin-left: auto; font-size: 14px; }
.contact-card strong { display: block; font-size: 15px; font-weight: 500; }
.contact-card em { display: block; font-style: normal; font-size: 13px; color: #8a807a; margin-top: 2px; }
.contact-card.dark { background: var(--ink); border-color: var(--ink); color: #fff; }
.contact-card.dark em { color: rgba(255, 255, 255, .7); }
.contact-card.dark:hover { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
.contact-card.warm { background: var(--paper-warm); border-color: transparent; }

/* about */
.about-hero { padding: 70px 0 30px; }
.about-photo { position: relative; height: 520px; }
.about-photo-tint { position: absolute; left: -20px; top: 30px; right: 60px; bottom: -20px; background: #f7ece8; }
@media (max-width: 767px) { .about-photo-tint { left: -8px; right: 30px; bottom: -12px; } }
.about-photo-frame { position: absolute; inset: 0; overflow: hidden; background: var(--paper-warm); }
.about-photo-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-copy { padding: 40px 0 0 40px; max-width: 520px; }
.about-copy h1 { font-family: "Playfair Display", serif; font-size: 44px; line-height: 1.18; color: var(--ink); font-weight: 400; margin: 12px 0 22px; text-wrap: pretty; }
.about-copy p { font-size: 16px; line-height: 28px; color: var(--ink-soft); margin: 0 0 16px; }
.about-copy .btn-style { margin-top: 14px; }
.about-collections { background: var(--paper-warm); }
.section-head.center { justify-content: center; text-align: center; }
.section-head.center .eyebrow { justify-content: center; }
.collections-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.collection-card { display: block; background: #fff; text-decoration: none; transition: transform .3s ease, box-shadow .3s ease; }
.collection-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(34, 31, 29, .35); }
.collection-photo { display: block; height: 200px; overflow: hidden; background: var(--paper-warm); }
.collection-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.collection-body { display: block; padding: 20px 22px 24px; }
.collection-body strong { display: block; font-family: "Playfair Display", serif; font-size: 20px; color: var(--ink); font-weight: 400; margin-bottom: 6px; }
.collection-body span { display: block; font-size: 13px; line-height: 21px; color: #8a807a; }
.about-h2 { font-family: "Playfair Display", serif; font-size: 34px; line-height: 1.2; color: var(--ink); font-weight: 400; margin: 12px 0 18px; text-wrap: pretty; }
.how-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 34px 40px; padding-left: 20px; }
.how-item { display: flex; gap: 16px; }
.how-item i { font-size: 26px; color: var(--accent-deep); flex-shrink: 0; }
.how-item strong { display: block; font-size: 15px; color: var(--ink); font-weight: 500; margin-bottom: 6px; }
.how-item span { font-size: 14px; line-height: 23px; color: #8a807a; }
.cta-band { background: var(--ink); padding: 70px 0; }
.cta-band-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.cta-band h2 { font-family: "Playfair Display", serif; font-size: 30px; color: #fff; font-weight: 400; margin: 0 0 8px; }
.cta-band p { font-size: 14px; color: #bfb4ad; margin: 0; }
.cta-band-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.cta-band-actions .btn-ghost { width: auto; }

/* policy pages */
.prose-page { max-width: 760px; }
.prose-lead { font-size: 13px; color: #9c918b; margin: 0; }
.prose-lead a { color: var(--ink); }
.prose-page h2 { font-family: "Playfair Display", serif; font-size: 24px; color: var(--ink); font-weight: 400; margin: 34px 0 12px; }
.prose-page p { font-size: 15px; line-height: 26px; color: var(--ink-soft); margin: 0 0 14px; }

/* 404 */
.notfound { text-align: center; max-width: 560px; margin: 20px auto 54px; }
.notfound-code { font-family: "Playfair Display", serif; font-size: 96px; line-height: 1; color: var(--accent); margin-bottom: 16px; }
.notfound .lead { margin: 12px 0 26px; }
.mini-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; max-width: 900px; margin: 0 auto; }
.mini-cat { display: block; text-decoration: none; background: #fff; border: 1px solid var(--line); transition: border-color .3s ease; }
.mini-cat:hover { border-color: var(--ink); }
.mini-cat-photo { display: block; height: 130px; overflow: hidden; background: var(--paper-warm); }
.mini-cat-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mini-cat-name { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; }
.mini-cat-name strong { font-size: 14px; color: var(--ink); font-weight: 500; }
.mini-cat-name em { font-style: normal; font-size: 12px; color: #9c918b; }

/* the pay page */
.pay-steps { margin-bottom: 22px; }
.pay-summary { position: static; margin: 26px 0 0; }
.pay-summary .summary-note { text-align: left; }

@media (max-width: 991px) {
    .auth-grid { grid-template-columns: 1fr; }
    .about-copy { padding: 30px 0 0; }
    .about-photo { height: 380px; margin-bottom: 10px; }
    .how-grid { padding-left: 0; margin-top: 24px; }
}
@media (max-width: 767px) {
    .panel { padding: 22px 20px; }
    .order-steps { grid-template-columns: repeat(2, 1fr); gap: 14px 10px; }
    .order-hero .page-title { font-size: 30px; }
    .order-row { grid-template-columns: 1fr; }
    .order-row-side { align-items: flex-start; text-align: left; }
    .about-photo { height: 300px; }
    .about-copy h1 { font-size: 34px; }
}

/* ---- after the sale: cancel, returns, saved addresses ---- */
.form-problem.good { background: #e7f6ec; color: #2e6b45; }
.cancel-form { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); display: grid; gap: 12px; }
.cancel-form .field input { height: 42px; }
.return-form { display: grid; gap: 14px; margin-top: 6px; }
.return-form .btn-ghost { width: auto; justify-self: start; }
.quote-pill.requested { background: #e7effc; color: #2b4f8f; }
.quote-pill.approved { background: #fdf3e0; color: #8a5a1c; }
.quote-pill.received { background: #e9e9fb; color: #3f3f9b; }
.quote-pill.refunded { background: #e7f6ec; color: #2e6b45; }
.panel-sm .quote-pill { margin-left: 8px; vertical-align: middle; }
.addr-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.addr-row:last-of-type { border-bottom: 0; }
.addr-row .order-address { margin: 0; font-size: 13px; line-height: 21px; }
.addr-options { margin-bottom: 18px; }
.addr-field.is-off { display: none; }
.addr-options .ship-option em { margin-left: 8px; color: var(--ink-soft); }

/* ---- the list, and the sharing link ---- */
.footer-news { margin-top: 22px; max-width: 360px; }
.footer-news label { display: block; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; opacity: .85; }
.footer-news-row { display: flex; }
.footer-news-row input { flex: 1; min-width: 0; height: 44px; padding: 0 14px; font-size: 14px; font-family: inherit; color: inherit; background: transparent; border: 1px solid rgba(128, 128, 128, .5); }
.footer-news-row input::placeholder { color: inherit; opacity: .5; }
.footer-news-row button { height: 44px; padding: 0 18px; border: 1px solid var(--accent); background: var(--accent); color: #fff; font-family: inherit; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.footer-news-row button:hover { background: var(--accent-deep); border-color: var(--accent-deep); }
.footer-news-done { margin: 10px 0 0; font-size: 13px; line-height: 20px; }
.friend-note { margin: 0 0 14px; padding: 12px 16px; background: #e7f6ec; color: #2e6b45; font-size: 13px; line-height: 20px; }
.check-line { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--ink); cursor: pointer; }
.check-line input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--ink); flex: 0 0 18px; }
.check-line small { display: block; font-size: 12px; color: #a9a29d; }
.share-link { display: flex; gap: 8px; margin: 6px 0 14px; }
.share-link input { flex: 1; min-width: 0; height: 42px; padding: 0 12px; border: 1px solid var(--line); background: #fff; font-size: 13px; color: var(--ink); font-family: inherit; }
.share-link .card-btn { height: 42px; padding: 0 16px; min-width: 0; }

/* ---- questions on a piece ---- */
.qa-block { padding: 60px 0 70px; border-top: 1px solid var(--line); }
.qa-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: start; }
.qa-grid.single { grid-template-columns: minmax(0, 560px); }
.qa-item { padding: 18px 0; border-bottom: 1px solid var(--line); }
.qa-item:first-child { padding-top: 0; }
.qa-item h3, .qa-item p { display: flex; gap: 12px; margin: 0; font-size: 15px; line-height: 25px; }
.qa-item h3 { font-weight: 500; color: var(--ink); }
.qa-item p { color: var(--ink-soft); margin-top: 8px; }
.qa-item h3 span, .qa-item p span { flex: 0 0 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; letter-spacing: .08em; background: var(--ink); color: #fff; margin-top: 2px; }
.qa-item p span { background: var(--accent); }
.qa-item time { display: block; margin-top: 8px; padding-left: 34px; font-size: 12px; color: #a9a29d; }
.qa-form { border: 1px solid var(--line); background: var(--paper-warm); padding: 26px 28px; display: grid; gap: 14px; }
.qa-form h3 { margin: 0; font-size: 18px; font-family: "Playfair Display", serif; font-weight: 400; }
.qa-form .card-btn { justify-self: start; min-width: 140px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
@media (max-width: 991px) { .qa-grid { grid-template-columns: 1fr; gap: 28px; } }

/* ---- the product photo: zoom and lightbox ---- */
.pd-photo { position: relative; overflow: hidden; background: #fff; }
.pd-photo a { display: block; }
.pd-photo img { display: block; width: 100%; height: auto; }
@media (hover: hover) {
    .pd-zoom { cursor: zoom-in; }
    .pd-zoom img { transition: transform .3s ease; will-change: transform; }
    .pd-zoom.is-zoomed img { transform: scale(1.9); }
}
.lightbox { position: fixed; inset: 0; z-index: 10050; background: rgba(20, 17, 16, .94); display: none; align-items: center; justify-content: center; padding: 56px 16px 24px; }
.lightbox.is-open { display: flex; }
.lightbox figure { margin: 0; max-width: min(1100px, 100%); max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.lightbox img { max-width: 100%; max-height: calc(100vh - 120px); object-fit: contain; background: #fff; }
.lightbox figcaption { color: rgba(255, 255, 255, .75); font-size: 13px; letter-spacing: .04em; text-align: center; }
.lightbox button { position: absolute; background: none; border: 0; color: #fff; cursor: pointer; font-family: inherit; line-height: 1; opacity: .8; transition: opacity .2s ease; }
.lightbox button:hover, .lightbox button:focus-visible { opacity: 1; outline: none; }
.lightbox-close { top: 14px; right: 18px; font-size: 40px; }
.lightbox-prev, .lightbox-next { top: 50%; transform: translateY(-50%); font-size: 56px; padding: 20px 14px; }
.lightbox-prev { left: 6px; }
.lightbox-next { right: 6px; }
body.lightbox-open { overflow: hidden; }
@media (max-width: 767px) { .lightbox-prev, .lightbox-next { font-size: 44px; padding: 14px 6px; } }

/* ---- gift pages, and what others did with a piece ---- */
.gift-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin-bottom: 40px; }
.gift-card { display: flex; flex-direction: column; gap: 8px; padding: 24px 24px 20px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-decoration: none; transition: border-color .25s ease, transform .25s ease; }
.gift-card:hover { border-color: var(--ink); transform: translateY(-2px); color: var(--ink); }
.gift-card strong { font-family: "Playfair Display", serif; font-weight: 400; font-size: 21px; }
.gift-card span { font-size: 13px; line-height: 21px; color: var(--ink-soft); }
.gift-card em { font-style: normal; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-deep); margin-top: auto; padding-top: 10px; }
.proof-line { display: flex; gap: 18px; flex-wrap: wrap; margin: -10px 0 24px; font-size: 13px; color: var(--ink-soft); }
.proof-line span { display: inline-flex; align-items: center; gap: 6px; }
.proof-line b { font-weight: 500; color: var(--ink); }
.proof-line i { color: var(--accent); font-size: 12px; }

/* ---- the unpaid order, and claiming an offer ---- */
.pending-bar { background: #fdf3e0; color: #5b3d10; border-bottom: 1px solid #f1dfb8; font-size: 13px; }
.pending-inner { max-width: 1170px; margin: 0 auto; padding: 9px 15px; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.pending-bar b { font-weight: 500; }
.pending-actions { display: inline-flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.pending-actions form { margin: 0; }
.pending-actions button, .pending-pay { background: none; border: 0; padding: 0; font: inherit; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #5b3d10; cursor: pointer; border-bottom: 1px solid currentColor; text-decoration: none; }
.pending-pay { background: #221f1d; color: #fff; padding: 7px 14px; border: 0; }
.pending-pay:hover { background: var(--accent-deep); color: #fff; }
.pending-actions .pending-cancel { opacity: .7; }
.pending-note { border: 1px solid #f1dfb8; background: #fdf3e0; padding: 20px 22px; margin: 0 0 24px; }
.pending-note p { margin: 0 0 14px; font-size: 14px; line-height: 23px; color: #5b3d10; }
.pending-note-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.pending-note-actions form { margin: 0; }
.pending-note-actions .btn-ghost { width: auto; padding: 11px 20px; }
.sale-claim { margin-left: 10px; padding: 3px 10px; border: 1px solid rgba(255, 255, 255, .5); color: #fff; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.sale-claim:hover { background: #fff; color: #221f1d; }
.sale-claim-line { display: inline-flex; align-items: center; gap: 8px; margin: -12px 0 22px; font-size: 13px; color: var(--accent-deep); text-decoration: none; border-bottom: 1px solid currentColor; }
.sale-claim-line i { font-size: 11px; }
.pay-change { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 18px; flex-wrap: wrap; font-size: 13px; color: var(--ink-soft); }
.pay-change form { margin: 0; }

/* ---- the owner's reply under a review ---- */
.review-reply { margin-top: 12px; padding: 12px 14px; background: var(--paper-warm); border-left: 2px solid var(--accent); font-size: 14px; line-height: 23px; color: var(--ink-soft); }
.review-reply b { display: block; font-weight: 500; color: var(--ink); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 4px; }

/* ---- a shared list, the way out, did you mean ---- */
.share-box { display: grid; grid-template-columns: 1.2fr 1fr auto; gap: 18px; align-items: center; padding: 18px 22px; border: 1px solid var(--line); background: var(--paper-warm); margin-bottom: 28px; }
.share-box strong { display: block; font-size: 14px; font-weight: 500; color: var(--ink); }
.share-box span { font-size: 13px; line-height: 20px; color: var(--ink-soft); }
.share-box .share-link { margin: 0; }
@media (max-width: 767px) { .share-box { grid-template-columns: 1fr; } }
.danger-zone { margin-top: 12px; }
.danger-zone summary { cursor: pointer; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #8a3d33; }
.danger-zone form { display: grid; gap: 12px; margin-top: 12px; }
.danger-zone .field input { height: 42px; }
.link-underline.danger { color: #8a3d33; border-color: #8a3d33; justify-self: start; }
.did-you-mean { margin-top: -6px; font-size: 15px; }
.did-you-mean a { color: var(--accent-deep); }

/* ---- where the parcel is ---- */
.track-words { display: inline-block; margin-top: 4px; color: var(--ink); }
.track-words small { color: #a9a29d; }

/* ---- points, and the gift box ---- */
.points-form { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; padding: 12px 14px; background: var(--paper-warm); font-size: 13px; }
.points-form .card-btn { min-width: 0; padding: 0 14px; height: 38px; }
.points-list { list-style: none; margin: 12px 0 0; padding: 0; font-size: 13px; }
.points-list li { display: flex; gap: 10px; align-items: baseline; padding: 6px 0; border-top: 1px solid var(--line); }
.points-list li span { font-weight: 500; min-width: 36px; color: var(--ink); }
.points-list small { margin-left: auto; color: #a9a29d; }
.summary-row.box-line form { display: inline; margin-left: 10px; }
.summary-row.box-line small { color: #a9a29d; }
.box-pick { position: relative; display: block; margin-bottom: 26px; cursor: pointer; }
.box-pick input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.box-pick-photo { display: block; aspect-ratio: 1; overflow: hidden; background: var(--paper-warm); border: 2px solid transparent; transition: border-color .2s ease; }
.box-pick-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.box-pick.is-on .box-pick-photo, .box-pick:has(input:focus-visible) .box-pick-photo { border-color: var(--ink); }
.box-pick-name { display: block; margin-top: 10px; font-size: 14px; color: var(--ink); }
.box-pick-price { display: block; font-size: 13px; color: var(--ink-soft); }
.box-pick-tick { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; border-radius: 50%; background: var(--ink); color: #fff; display: none; align-items: center; justify-content: center; font-size: 13px; }
.box-pick.is-on .box-pick-tick { display: inline-flex; }
.box-bar { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; background: #fff; border: 1px solid var(--line); box-shadow: 0 -10px 30px -24px rgba(34, 31, 29, .5); }
.box-count { font-size: 14px; color: var(--ink-soft); }
.box-count b { color: var(--ink); font-weight: 500; }
.box-bar button[disabled] { opacity: .45; cursor: not-allowed; }

/* ---- sizes and colours on a piece ---- */
.variants { flex-basis: 100%; margin-bottom: 4px; }
.variants-label { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); margin-bottom: 8px; }
.variant-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.variant { position: relative; cursor: pointer; }
.variant input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.variant span { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 1px solid #ddd; background: #fff; font-size: 13px; color: var(--ink); transition: border-color .2s ease, background .2s ease; }
.variant em { font-style: normal; color: var(--accent-deep); font-size: 12px; }
.variant small { font-size: 11px; color: #a9a29d; }
.variant input:checked + span { border-color: var(--ink); background: var(--ink); color: #fff; }
.variant input:checked + span em { color: #f6d3cc; }
.variant input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.variant.off span { text-decoration: line-through; color: #a9a29d; cursor: not-allowed; }

/* the courier's word on the checkout page */
.ship-eta { margin: 8px 0 0; font-size: 13px; }
.ship-eta.bad { color: #b3261e; }

/* between tablet and wide desktop the six menu words do not fit one line; the person icon beside them already opens the account */
@media (min-width: 768px) and (max-width: 1199px) {
    .main-menu nav > ul { white-space: nowrap; }
    .main-menu nav > ul > li.menu-account { display: none; }
    .main-menu nav > ul > li > a { letter-spacing: .1em; }
}

/* checkout: the address checks itself as it is typed */
.field-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.field-head label { margin: 0; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); font-weight: 400; }
.locate-btn { border: 0; background: none; padding: 0; font-size: 12px; color: var(--accent-deep); cursor: pointer; letter-spacing: .02em; }
.locate-btn:hover { text-decoration: underline; }
.locate-btn[disabled] { opacity: .55; cursor: wait; }
.pin-hint, .addr-hint, .locate-note { font-size: 12px; line-height: 1.45; color: #6f8f6a; }
.pin-hint.bad, .addr-hint, .locate-note.bad { color: #b5493f; }

/* a line's collections, above its pieces */
.subcat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; margin: 0 0 40px; }
.subcat-tile { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: #303030; }
.subcat-tile img, .subcat-blank { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; background: #f1ece6; transition: transform .3s; }
.subcat-tile:hover img { transform: translateY(-3px); }
.subcat-tile strong { display: block; font-weight: 500; font-size: 15px; }
.subcat-tile em { font-style: normal; font-size: 13px; color: #888; }
/* a collection's longer story and its questions, below its pieces */
.cat-story { max-width: 760px; margin: 60px auto 0; font-size: 15px; line-height: 27px; color: #444; }
.cat-story h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 26px; margin: 30px 0 10px; color: #303030; }
.cat-faq { max-width: 760px; margin: 40px auto 0; }
.cat-faq h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 26px; margin: 0 0 14px; color: #303030; }
.cat-faq details { border-bottom: 1px solid #ebe5e1; padding: 14px 0; }
.cat-faq summary { cursor: pointer; font-weight: 500; color: #303030; list-style: none; position: relative; padding-right: 28px; }
.cat-faq summary::-webkit-details-marker { display: none; }
.cat-faq summary::after { content: "+"; position: absolute; right: 4px; top: -2px; font-size: 20px; color: #999; }
.cat-faq details[open] summary::after { content: "–"; }
.cat-faq p { margin: 10px 0 0; color: #555; line-height: 25px; }
/* a piece's description keeps the owner's paragraphs and lists */
.pd-desc { font-size: 15px; line-height: 26px; color: #666; margin: 0 0 28px; }
.pd-desc p { margin: 0 0 12px; }
.pd-desc ul { margin: 0 0 12px; padding-left: 18px; list-style: disc; }
.pd-desc li { margin: 0 0 4px; }
.pd-desc h2, .pd-desc h3 { font-size: 16px; font-weight: 600; color: #303030; margin: 18px 0 6px; font-family: inherit; }
.verify-note { margin: 0 0 24px; }
.verify-note p { margin: 0 0 8px; }

/* ---- signing in: Google first, with the reasons to trust it beside the button ---- */
.signin-wrap { display: grid; grid-template-columns: minmax(0, 480px) minmax(0, 340px); gap: 56px; justify-content: center; align-items: center; }
.signin-card { background: #fff; border: 1px solid var(--line); padding: 40px 40px 30px; box-shadow: 0 30px 60px -45px rgba(34, 31, 29, .35); }
.signin-card .eyebrow { margin-bottom: 14px; }
.signin-title { font-family: "Playfair Display", serif; font-weight: 400; font-size: 32px; line-height: 1.2; color: var(--ink); margin: 0 0 10px; }
.signin-lead { font-size: 15px; line-height: 24px; color: var(--ink-soft); margin: 0 0 26px; }
.google-btn-lg { padding: 15px 18px; font-size: 15px; border-radius: 999px; border-color: #d6d1cc; box-shadow: 0 10px 24px -18px rgba(34, 31, 29, .45); }
.google-btn-lg:hover { border-color: var(--ink); }
.signin-new { margin: 12px 0 0; text-align: center; font-size: 13px; line-height: 20px; color: var(--ink-soft); }
.signin-trust { list-style: none; margin: 28px 0 0; padding: 24px 0 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 16px; }
.signin-trust li { display: flex; gap: 14px; align-items: flex-start; font-size: 13.5px; line-height: 21px; color: var(--ink-soft); }
.signin-trust b { color: var(--ink); font-weight: 600; }
.signin-ico { flex: 0 0 34px; height: 34px; border-radius: 50%; background: var(--paper-warm); display: flex; align-items: center; justify-content: center; }
.signin-ico svg { width: 16px; height: 16px; fill: var(--accent-deep); }
.signin-email { margin: 24px 0 0; border-top: 1px solid var(--line); padding-top: 16px; }
.signin-email summary { cursor: pointer; font-size: 13px; color: var(--ink-soft); list-style: none; text-align: center; }
.signin-email summary::-webkit-details-marker { display: none; }
.signin-forms { display: grid; gap: 30px; margin-top: 18px; }
.signin-fine { margin: 26px 0 0; font-size: 12px; line-height: 19px; color: #9c918b; }
.signin-fine a, .signin-help a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.signin-help { margin: 8px 0 0; font-size: 13px; color: var(--ink-soft); }
.signin-side { text-align: center; }
.signin-pieces { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.signin-piece { display: block; overflow: hidden; background: var(--paper-warm); }
.signin-piece img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; transition: transform .6s ease; }
.signin-piece:first-child { grid-column: span 2; }
.signin-piece:first-child img { aspect-ratio: 4 / 3; }
.signin-piece:hover img { transform: scale(1.04); }
.signin-side-line { margin: 18px 0 0; font-family: "Playfair Display", serif; font-style: italic; font-size: 16px; line-height: 24px; color: var(--ink-soft); }
.inapp-box { background: var(--paper-warm); border: 1px solid var(--line); padding: 20px 20px 18px; }
.inapp-head { font-weight: 600; color: var(--ink); margin: 0 0 6px !important; }
.inapp-box p { font-size: 14px; line-height: 22px; margin: 0 0 14px; }
.inapp-steps { margin: 16px 0 16px 18px; padding: 0; font-size: 13.5px; line-height: 23px; color: var(--ink-soft); }
.signin-wrap.solo { grid-template-columns: minmax(0, 480px); }
.signin-pieces.n1 { grid-template-columns: 1fr; }
.signin-pieces.n1 .signin-piece:first-child, .signin-pieces.n2 .signin-piece:first-child { grid-column: auto; }
.signin-pieces.n2 .signin-piece:first-child img { aspect-ratio: 1 / 1; }
@media (max-width: 991px) {
    .signin-wrap, .signin-wrap.solo { grid-template-columns: minmax(0, 520px); gap: 32px; }
    .signin-pieces.n2 { grid-template-columns: repeat(2, 1fr); }
    .signin-pieces.n1 { grid-template-columns: minmax(0, 220px); justify-content: center; }
    .signin-pieces { grid-template-columns: repeat(3, 1fr); }
    .signin-piece:first-child { grid-column: auto; }
    .signin-piece:first-child img { aspect-ratio: 1 / 1; }
}
@media (max-width: 575px) {
    .signin-card { padding: 28px 20px 24px; }
    .signin-title { font-size: 26px; }
}

/* ---- a row of cards lines up ----
   A name on two lines, or an "Only 2 left" note, never pushes one card's
   price or button below its neighbours': names keep room for two lines,
   the note keeps a line of its own, and the button sits at the card's foot. */
[class*="col-"]:has(> .product-wrapper) { display: flex; flex-direction: column; }
.product-wrapper { flex: 1 0 auto; display: flex; flex-direction: column; }
.product-wrapper > .product-content { flex: 1 0 auto; display: flex; flex-direction: column; align-items: center; }
.product-content > h4 { line-height: 1.35; min-height: 2.7em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.product-content > .card-note { height: 18px; min-height: 0; line-height: 18px; margin-bottom: 12px; }
.product-content > .card-btn, .product-content > .card-buy { margin-top: auto; }
@media (max-width: 767px) {
    .product-content > h4 { line-height: 1.3; min-height: 2.6em; }
    .product-content > .card-note { height: 16px; line-height: 16px; margin-bottom: 8px; }
}

/* ---- the phone menu: the shop's own type and colours, the whole list in
   view, a thumb-sized toggle for each collection, a drawn cross to close ---- */
@media (max-width: 767px) {
    .mobile-menu .mean-nav ul.menu-overflow {
        height: auto;
        max-height: calc(100vh - 150px);
        max-height: calc(100dvh - 150px);
        margin-top: 10px;
        padding: 4px 0 12px;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #fff;
        border-top: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
    }
    .mean-container .mean-nav ul li { background: none; border: 0; }
    .mean-container .mean-nav ul li a {
        box-sizing: border-box;
        width: 100%;
        padding: 14px 52px 14px 2px;
        background: none;
        border-top: 1px solid var(--line);
        font-family: "Playfair Display", serif;
        font-size: 20px;
        font-weight: 400;
        line-height: 1.25;
        letter-spacing: 0;
        text-transform: capitalize;
        color: var(--ink);
    }
    .mean-container .mean-nav ul.menu-overflow > li:first-child > a { border-top: 0; }
    .mean-container .mean-nav ul li a:hover { background: none; color: var(--accent-deep); }
    .mean-container .mean-nav ul li li a {
        width: 100%;
        padding: 11px 52px 11px 18px;
        opacity: 1;
        border-top: 1px solid #f3eeeb;
        font-family: inherit;
        font-size: 15px;
        text-transform: none;
        color: var(--ink-soft);
    }
    .mean-container .mean-nav ul li li li a { width: 100%; padding: 9px 20px 9px 34px; font-size: 14px; color: #8a7f79; }
    .mean-container .mean-nav ul li a.mean-expand {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 52px;
        margin: 0;
        padding: 0 !important;
        background: none;
        font-family: inherit;
        font-size: 22px;
        font-weight: 300;
        color: var(--accent-deep);
    }
    .mean-container .mean-nav ul li li a.mean-expand { height: 44px; font-size: 18px; }
    .mean-container .mean-nav ul li a.mean-expand:hover { background: none; }
    .mean-container .mean-nav .lang-row { display: flex; gap: 8px; padding: 14px 2px 4px; border-top: 1px solid var(--line); }
    .mean-container .mean-nav .lang-row a {
        width: auto; padding: 6px 14px; border: 1px solid var(--line); border-radius: 999px;
        font-family: inherit; font-size: 13px; color: var(--ink-soft);
    }
    .mean-container .mean-nav .lang-row a.on { border-color: var(--ink); color: var(--ink); }
    /* the button: three thin lines; open, a drawn cross instead of a letter X */
    .mean-container a.meanmenu-reveal { border-color: var(--ink); }
    .mean-container a.meanmenu-reveal span { background: var(--ink); height: 1.5px; }
    .mean-container a.meanmenu-reveal.meanclose { font-size: 0 !important; color: transparent; }
    .mean-container a.meanmenu-reveal.meanclose::before,
    .mean-container a.meanmenu-reveal.meanclose::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 18px;
        height: 1.5px;
        margin: -1px 0 0 -9px;
        background: var(--ink);
        transform: rotate(45deg);
    }
    .mean-container a.meanmenu-reveal.meanclose::after { transform: rotate(-45deg); }
}

/* ============================================================
   The product page, dressed: a quiet hierarchy (where it is from,
   its name, its price, what it promises), colours chosen by their
   own photos, one clear thing to do, and the reassurances together.
   ============================================================ */
.pd-info { max-width: 540px; }
.pd-eyebrow {
    display: flex; align-items: center; gap: 10px;
    font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent-deep);
    margin: 4px 0 14px;
}
.pd-eyebrow .rule { width: 26px; height: 1px; background: currentColor; flex: 0 0 auto; }
.pd-title {
    font-family: "Playfair Display", serif; font-weight: 400;
    font-size: 40px; line-height: 1.12; letter-spacing: -.005em;
    color: var(--ink); margin: 0 0 12px;
}
.pd-rating { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 13px; color: var(--ink-soft); text-decoration: none; }
.pd-rating:hover span:last-child { text-decoration: underline; text-underline-offset: 3px; }
.pd-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin: 6px 0 4px; }
.pd-now { font-family: "Playfair Display", serif; font-size: 32px; line-height: 1; color: var(--ink); font-weight: 400; letter-spacing: .01em; }
.pd-was { font-size: 16px; color: #a99d97; }
.pd-save { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-deep); border: 1px solid currentColor; padding: 4px 9px; }
.pd-info .price-note { margin: 6px 0 18px; }

.pd-promises { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 0; }
.pd-promises li {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 12px; border: 1px solid var(--line); background: #fff;
    font-size: 12px; letter-spacing: .02em; color: var(--ink-soft);
}
.pd-promises li i { font-size: 13px; color: var(--accent-deep); }
.pd-promises .dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.pd-promises .ok { color: #2e7d55; border-color: #d7eadf; background: #f4faf6; }
.pd-promises .few { color: #a3432f; border-color: #f0d6cf; background: #fdf5f3; }

/* the story: the first lines read like a note beside the name; the points,
   after the button, like a list someone took care over */
.pd-info .pd-desc { margin: 0 0 26px; font-size: 15px; line-height: 1.75; color: #5d5550; }
.pd-info .pd-lede { margin: 0 0 22px; }
.pd-info .pd-lede p {
    font-family: "Playfair Display", serif; font-size: 18px; line-height: 1.6; color: var(--ink);
    margin: 0;
}
.pd-info .pd-more { margin: 0 0 24px; }
.pd-info .pd-desc ul { list-style: none; margin: 0 0 16px; padding: 18px 0 2px; border-top: 1px solid var(--line); }
.pd-info .pd-desc ul li { position: relative; padding-left: 24px; margin: 0 0 10px; }
.pd-info .pd-desc ul li::before {
    content: ""; position: absolute; left: 3px; top: .62em;
    width: 7px; height: 7px; background: var(--accent); transform: rotate(45deg);
}
.pd-info .pd-more p:last-child:not(:first-child) { font-size: 14px; color: #7a716b; }

/* choosing: right under the price, no box, colours by their own photos */
.pd-info .customise { max-width: none; padding: 18px 0 0; margin: 0 0 4px; background: none; border: 0; border-top: 1px solid var(--line); }
.pd-info .customise-head strong { font-size: 19px; }
.pd-info .customise .opt-field { margin-bottom: 16px; }
.opt-field > span .chosen { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--ink); margin-left: 6px; }
.opt-field select.has-swatches { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.opt-field { position: relative; }
.swatches { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 4px; }
.swatch {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 14px; border: 1px solid #ddd3cd; background: #fff;
    font: inherit; font-size: 13px; color: var(--ink); cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.swatch:hover { border-color: var(--ink-soft); }
.swatch.on { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.swatch[disabled] { opacity: .45; cursor: not-allowed; text-decoration: line-through; }
.swatches.with-photos { display: grid; grid-template-columns: repeat(auto-fill, 80px); gap: 10px; }
.swatches.with-photos .swatch { flex-direction: column; align-items: stretch; gap: 6px; padding: 5px 5px 8px; text-align: center; font-size: 12px; line-height: 1.3; }
.swatches.with-photos .swatch img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; background: var(--paper-warm); }
.swatches.with-photos .swatch.on { transform: translateY(-2px); }
.swatches.want { animation: swatchWant .45s ease; }
.swatches.want .swatch { border-color: #c9675a; }
.swatch-need { display: block; margin-top: 6px; font-size: 12px; color: #a3432f; }
@keyframes swatchWant { 0%, 100% { transform: none; } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.pd-info .variant-pills .variant span { padding: 10px 16px; }

/* one clear thing to do: how many, the button, Save as a quiet heart, all one height */
.pd-info #buy-form { gap: 10px !important; margin-bottom: 24px !important; }
.pd-info .cart-plus-minus {
    display: inline-flex; align-items: stretch; flex: 0 0 auto;
    width: auto; height: 56px; padding: 0; overflow: hidden;
    border: 1px solid #ddd3cd; background: #fff;
}
.pd-info .cart-plus-minus .qtybutton {
    float: none; position: relative; width: 40px; height: auto; margin: 0; padding: 0;
    border: 0; background: none; font-size: 0; line-height: 0; color: var(--ink); cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}
.pd-info .cart-plus-minus .qtybutton::before,
.pd-info .cart-plus-minus .qtybutton.inc::after {
    content: ""; position: absolute; left: 50%; top: 50%;
    width: 12px; height: 1.5px; margin: -1px 0 0 -6px; background: currentColor;
}
.pd-info .cart-plus-minus .qtybutton.inc::after { transform: rotate(90deg); }
.pd-info .cart-plus-minus .qtybutton:hover { background: #f8f3f0; }
.pd-info .cart-plus-minus .qtybutton:focus-visible { outline: 2px solid var(--ink); outline-offset: -3px; }
.pd-info .cart-plus-minus .qtybutton.at-edge { color: #d3cac4; cursor: default; background: none; }
.pd-info .cart-plus-minus input.cart-plus-minus-box {
    float: none; width: 30px; height: auto; margin: 0; padding: 0; border: 0; background: none;
    font-size: 15px; font-weight: 500; color: var(--ink); text-align: center;
}
.pd-info .pd-buy {
    flex: 1 1 auto; height: 56px; padding: 0 24px !important;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 13px !important; letter-spacing: .16em;
}
.pd-info .pd-buy > span { display: inline-flex; align-items: center; gap: 16px; white-space: nowrap; }
.pd-buy-sep { width: 1px; height: 16px; background: rgba(255, 255, 255, .38); }
.pd-info .pd-save-btn { width: 56px; height: 56px; padding: 0; justify-content: center; flex: 0 0 auto; border-color: #ddd3cd; }
.pd-info .pd-save-btn:hover { border-color: var(--ink); }
.pd-info .pd-save-btn span { display: none; }
.pd-info .pd-save-btn i { font-size: 18px; }
.pd-info .pd-save-btn.is-on { background: var(--accent-wash, #faf1ee); border-color: var(--accent-deep); }

.pd-info .custom-link { max-width: none; }
.pd-info .pincode-box { max-width: none; }
.pd-ask { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 22px; font-size: 13px; color: var(--ink); text-decoration: none; border-bottom: 1px solid #d9cfc9; padding-bottom: 2px; }
.pd-ask:hover { color: var(--accent-deep); border-color: currentColor; }
.pd-ask i { font-size: 15px; color: #25a35a; }

/* the reassurances, together and calm */
.pd-assure { list-style: none; display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 30px; padding: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.pd-assure li { display: flex; gap: 12px; align-items: flex-start; padding: 16px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pd-assure i { font-size: 20px; color: var(--accent-deep); margin-top: 2px; flex: 0 0 auto; }
.pd-assure span { font-size: 12px; line-height: 1.5; color: #8a807a; }
.pd-assure b { display: block; font-size: 13px; font-weight: 500; color: var(--ink); margin-bottom: 1px; }

/* the studio's word */
.pd-maker { margin: 30px 0 18px; padding: 22px 24px; background: #fbf8f6; border-left: 2px solid var(--accent); }
.pd-maker blockquote { margin: 0 0 10px; font-family: "Playfair Display", serif; font-style: italic; font-size: 17px; line-height: 1.6; color: var(--ink); }
.pd-maker figcaption { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--accent-deep); }
.pd-maker figcaption::before { content: "— "; }

/* the folds, in the page's own type */
.pd-info .pd-fold summary { font-size: 12px; letter-spacing: .18em; }
.pd-info .pd-folds { border-top: 1px solid var(--line); }

/* a laptop screen is short: the same page, tighter, so the button still
   shows without scrolling; the photo says the colour, its name shows once chosen */
@media (min-width: 992px) and (max-height: 820px) {
    .product-details-area { padding-top: 22px !important; }
    .pd-eyebrow { margin-bottom: 10px; }
    .pd-title { font-size: 34px; margin-bottom: 8px; }
    .pd-now { font-size: 28px; }
    .pd-info .price-note { margin-bottom: 14px; }
    .pd-promises { margin-bottom: 16px; }
    .pd-info .pd-lede { margin-bottom: 16px; }
    .pd-info .pd-lede p { font-size: 17px; line-height: 1.55; }
    .pd-info .customise { padding-top: 14px; }
    .pd-info .customise .opt-field { margin-bottom: 12px; }
    .swatches.with-photos { grid-template-columns: repeat(auto-fill, 62px); gap: 8px; }
    .swatches.with-photos .swatch { padding: 4px; }
    .swatches.with-photos .swatch span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (max-width: 767px) {
    .pd-title { font-size: 31px; }
    .pd-now { font-size: 28px; }
    .pd-info .pd-lede p { font-size: 17px; }
    .swatches.with-photos { grid-template-columns: repeat(4, 1fr); gap: 8px; }
    .pd-assure li { padding: 14px 12px; gap: 10px; }
    #buy-form .pd-save-btn { flex: 0 0 56px; }
}
@media (max-width: 575px) {
    /* the phone buy row: how many, the button, and Save as a heart, on one line */
    #buy-form { gap: 8px !important; }
    #buy-form > .btn-style.pd-buy { order: 0; flex: 1 1 0; min-width: 0; height: 52px; padding: 0 8px !important; font-size: 12px !important; letter-spacing: .08em; }
    .pd-info .pd-buy > span { gap: 10px; }
    .pd-info .cart-plus-minus { height: 52px; }
    .pd-info .cart-plus-minus .qtybutton { width: 32px; }
    .pd-info .cart-plus-minus input.cart-plus-minus-box { width: 24px; }
    #buy-form .wish-text.pd-save-btn { flex: 0 0 52px; width: 52px; height: 52px; align-self: stretch; }
}

/* ============================================================
   Stores: makers' shops inside this one. A quiet grid of stores, each
   store's own page with its banner and its pieces, and the store's name
   on its pieces wherever they show.
   ============================================================ */
.stores-hero { padding: 54px 0 34px; text-align: center; }
.stores-hero .eyebrow { justify-content: center; }
.stores-hero h1 { font-family: "Playfair Display", serif; font-weight: 400; font-size: 42px; color: var(--ink); margin: 10px 0 12px; }
.stores-hero p { max-width: 620px; margin: 0 auto; font-size: 15px; line-height: 1.75; color: var(--ink-soft); }
.store-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px; }
.store-tile { display: block; border: 1px solid var(--line); background: #fff; text-decoration: none; color: inherit; transition: box-shadow .3s ease, transform .3s ease; }
.store-tile:hover { box-shadow: 0 22px 44px -28px rgba(34, 31, 29, .35); transform: translateY(-3px); }
.store-tile-banner { display: block; aspect-ratio: 16 / 7; background: linear-gradient(135deg, #f4ecea, #faf6f4); overflow: hidden; }
.store-tile-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.store-tile-body { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0 18px 22px; text-align: center; }
.store-tile-body .store-logo { margin-top: -30px; }
.store-tile-body strong { font-family: "Playfair Display", serif; font-weight: 400; font-size: 21px; color: var(--ink); margin-top: 8px; }
.store-tile-body em { font-style: normal; font-size: 13px; line-height: 1.5; color: var(--ink-soft); }
.store-tile-body small { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-deep); margin-top: 4px; }
.store-logo { width: 60px; height: 60px; flex: 0 0 60px; border-radius: 50%; overflow: hidden; background: #fff; border: 3px solid #fff; box-shadow: 0 6px 18px -8px rgba(34, 31, 29, .35); display: inline-flex; align-items: center; justify-content: center; }
.store-logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.store-logo b { font-family: "Playfair Display", serif; font-weight: 400; font-size: 24px; color: var(--accent-deep); }
.store-logo.big { width: 92px; height: 92px; flex-basis: 92px; }
.store-logo.big b { font-size: 36px; }

.store-head { padding: 26px 0 30px; }
.store-head .crumbs { margin-bottom: 22px; }
.store-banner { height: clamp(160px, 26vw, 340px); overflow: hidden; background: var(--paper-warm); }
.store-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.store-head.has-banner { padding-top: 0; }
.store-head.has-banner .crumbs { margin-top: 18px; }
.store-card { display: flex; align-items: center; gap: 22px; }
.store-head.has-banner .store-card { margin-top: -10px; }
.store-card h1 { font-family: "Playfair Display", serif; font-weight: 400; font-size: 40px; line-height: 1.1; color: var(--ink); margin: 6px 0 4px; }
.store-tagline { font-size: 16px; color: var(--ink-soft); margin: 0; }
.store-about { max-width: 720px; margin: 20px 0 0; font-size: 15px; line-height: 1.75; color: #5d5550; }
.store-promises { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 22px 0 0; }
.store-promises li { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid var(--line); background: #fff; font-size: 12px; color: var(--ink-soft); }
.store-promises i { color: var(--accent-deep); font-size: 13px; }
.store-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px 0; margin-bottom: 22px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

.card-store { display: inline-block; margin: -10px 0 8px; font-size: 12px; color: var(--accent-deep); text-decoration: none; }
.card-store:hover { text-decoration: underline; text-underline-offset: 3px; }
.pd-store { display: inline-flex; align-items: center; gap: 8px; margin: -4px 0 14px; font-size: 13px; color: var(--ink-soft); text-decoration: none; }
.pd-store img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }
.pd-store b { color: var(--ink); font-weight: 500; border-bottom: 1px solid #d9cfc9; }
.pd-store:hover b { border-color: var(--ink); }
.pd-store-card { display: flex; align-items: center; gap: 16px; margin: 30px 0 18px; padding: 18px 20px; background: #fbf8f6; border-left: 2px solid var(--accent); text-decoration: none; color: inherit; }
.pd-store-card > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.pd-store-card small { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--accent-deep); }
.pd-store-card strong { font-family: "Playfair Display", serif; font-weight: 400; font-size: 20px; color: var(--ink); }
.pd-store-card em { font-style: normal; font-size: 13px; color: var(--ink-soft); }
.pd-store-card i { font-style: normal; font-size: 12px; color: var(--ink); margin-top: 4px; }
@media (max-width: 767px) {
    .stores-hero h1 { font-size: 32px; }
    .store-card { gap: 14px; }
    .store-card h1 { font-size: 30px; }
    .store-logo.big { width: 70px; height: 70px; flex-basis: 70px; }
}

/* ---- the store panel (/seller): calm, roomy, readable on a phone ---- */
.seller-wrap { padding-top: 30px; padding-bottom: 70px; }
.seller-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.seller-id { display: flex; align-items: center; gap: 16px; }
.seller-id h1 { font-family: "Playfair Display", serif; font-weight: 400; font-size: 32px; color: var(--ink); margin: 4px 0 0; }
.seller-paused { font-family: inherit; font-size: 12px; letter-spacing: .08em; color: #a3432f; border: 1px solid #f0d6cf; background: #fdf5f3; padding: 3px 8px; vertical-align: middle; }
.seller-head-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.seller-switch select { min-width: 180px; }
.seller-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin-bottom: 24px; overflow-x: auto; scrollbar-width: none; }
.seller-tabs::-webkit-scrollbar { display: none; }
.seller-tabs a { padding: 12px 16px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); text-decoration: none; border-bottom: 2px solid transparent; white-space: nowrap; }
.seller-tabs a:hover { color: var(--ink); }
.seller-tabs a.on { color: var(--ink); border-color: var(--ink); }
.seller-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-bottom: 20px; }
.seller-kpi { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border: 1px solid var(--line); background: #fff; text-decoration: none; color: inherit; }
a.seller-kpi:hover { border-color: var(--ink-soft); }
.seller-kpi.hot { border-color: var(--accent); background: #fdf6f4; }
.seller-kpi span { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-soft); }
.seller-kpi strong { font-family: "Playfair Display", serif; font-weight: 400; font-size: 30px; color: var(--ink); line-height: 1.2; }
.seller-kpi em { font-style: normal; font-size: 12px; color: #8a807a; }
.seller-list { display: flex; flex-direction: column; }
.seller-row { display: grid; grid-template-columns: 170px 1fr auto; gap: 14px; align-items: center; padding: 14px 4px; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.seller-row:last-child { border-bottom: 0; }
.seller-row:hover { background: #fbf8f6; }
.seller-row span small { display: block; font-size: 12px; color: #8a807a; }
.panel.flush { padding: 0; }
.panel.flush .seller-list { padding: 6px 22px; }
.panel-pad { padding: 22px 26px 0; }
p.panel-pad { padding-bottom: 22px; }
.seller-state { display: inline-block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: 4px 9px; border: 1px solid var(--line); color: var(--ink-soft); background: #fff; white-space: nowrap; }
.seller-state.new, .seller-state.packed { color: #9a6a12; border-color: #f1e2c3; background: #fdf8ec; }
.seller-state.shipped { color: #2f5f8a; border-color: #d3e2ef; background: #f3f8fc; }
.seller-state.delivered, .seller-state.done { color: #2e7d55; border-color: #d7eadf; background: #f4faf6; }
.seller-state.cancelled { color: #a3432f; border-color: #f0d6cf; background: #fdf5f3; }
.seller-how { margin: 0; padding-left: 20px; line-height: 1.8; color: var(--ink-soft); font-size: 14px; }
.seller-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.seller-bar p { margin: 0; }
.seller-pieces { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.seller-piece { display: flex; flex-direction: column; border: 1px solid var(--line); background: #fff; text-decoration: none; color: inherit; }
.seller-piece:hover { border-color: var(--ink-soft); }
.seller-piece-img { aspect-ratio: 1 / 1; background: var(--paper-warm); overflow: hidden; }
.seller-piece-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.seller-piece-body { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px 14px 16px; }
.seller-piece-body b { font-weight: 500; color: var(--ink); }
.seller-piece-body small { font-size: 12px; color: #8a807a; }
.seller-piece-body em { font-style: normal; font-size: 12px; color: #a3432f; }
.seller-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.seller-fields .full { grid-column: 1 / -1; }
.seller-fields select { width: 100%; height: 46px; border: 1px solid #ddd; padding: 0 14px; background: #fff; font-size: 14px; color: var(--ink); }
.seller-commission { margin: 18px 0 0; padding: 12px 14px; background: #fbf8f6; font-size: 13px; color: var(--ink-soft); }
.seller-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; margin-bottom: 18px; }
.seller-photo { display: flex; flex-direction: column; gap: 8px; }
.seller-photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--paper-warm); }
.seller-remove { font-size: 12px; color: #a3432f; display: inline-flex; align-items: center; gap: 6px; }
.seller-save { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; position: sticky; bottom: 0; background: rgba(255, 255, 255, .96); padding: 14px 0; border-top: 1px solid var(--line); z-index: 5; }
.seller-show { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink); }
.seller-order { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; align-items: start; }
.seller-items { display: flex; flex-direction: column; gap: 14px; }
.seller-item { display: flex; gap: 14px; align-items: flex-start; }
.seller-item img { width: 64px; height: 64px; object-fit: cover; flex: 0 0 64px; }
.seller-table-wrap { overflow-x: auto; }
.seller-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.seller-table th { text-align: left; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); font-weight: 500; padding: 12px 14px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.seller-table td { padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.seller-logo-now { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; margin: 4px 0; }
.seller-banner-now { width: 100%; max-height: 120px; object-fit: cover; margin: 4px 0; }
@media (max-width: 767px) {
    .seller-id h1 { font-size: 26px; }
    .seller-fields { grid-template-columns: 1fr; }
    .seller-order { grid-template-columns: 1fr; }
    .seller-row { grid-template-columns: 1fr auto; }
    .seller-row span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
    .panel { padding: 22px 18px; }
}
/* the store panel's ticks are ticks, not full-width inputs */
.seller-show input[type=checkbox], .seller-remove input[type=checkbox] { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--ink); }
.seller-show { white-space: nowrap; }
.seller-save { background: #fff; box-shadow: 0 -10px 24px -18px rgba(34, 31, 29, .3); }
.store-bar .shop-sort { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; margin: 0; }
.store-about ul { list-style: none; margin: 12px 0 0; padding: 0; }
.store-about ul li { position: relative; padding-left: 22px; margin: 0 0 6px; }
.store-about ul li::before { content: ""; position: absolute; left: 3px; top: .62em; width: 7px; height: 7px; background: var(--accent); transform: rotate(45deg); }
@media (max-width: 767px) {
    .seller-kpis { grid-template-columns: 1fr 1fr; gap: 10px; }
    .seller-kpi { padding: 14px; }
    .seller-kpi strong { font-size: 24px; }
    .seller-kpi span { font-size: 10px; letter-spacing: .12em; }
}

/* /static/css/select.css */
/* ============================================================
   Dropdowns: the shop's own list in place of the browser's.
   Used by the shop and the admin alike (actions.js opens it), so it
   reads the colours each side already has, with plain fallbacks.
   ============================================================ */

select.cs-open { border-color: var(--ink, #221f1d); }

.cs-pop {
    position: fixed;
    z-index: 10050;
    display: flex;
    flex-direction: column;
    min-width: 180px;
    max-height: 320px;
    background: var(--card, #fff);
    color: var(--ink, #221f1d);
    border: 1px solid var(--line, #ebe5e1);
    border-radius: var(--radius-sm, 3px);
    box-shadow: 0 22px 48px -22px rgba(34, 31, 29, .45), 0 2px 6px rgba(34, 31, 29, .06);
    font-size: 14px;
    overflow: hidden;
    animation: csIn .16s ease-out;
}
.cs-pop[hidden], .cs-shade[hidden] { display: none; }
@keyframes csIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

.cs-head { display: none; }
.cs-list {
    position: relative;
    flex: 1 1 auto;
    margin: 0;
    padding: 6px;
    list-style: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    outline: none;
}
.cs-opt {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 34px 8px 12px;
    border-radius: var(--radius-sm, 2px);
    line-height: 1.35;
    cursor: pointer;
    user-select: none;
}
.cs-opt.is-active { background: var(--accent-wash, #faf1ee); }
.cs-opt[aria-selected="true"] { font-weight: 600; }
.cs-opt[aria-selected="true"]::after {
    content: "";
    position: absolute;
    right: 13px;
    top: 50%;
    width: 6px;
    height: 11px;
    margin-top: -7px;
    border: solid var(--accent-deep, #d98878);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.cs-opt[aria-disabled="true"] { color: var(--faint, #b5aca6); cursor: default; }
.cs-opt[aria-disabled="true"].is-active { background: none; }
.cs-group {
    padding: 10px 12px 4px;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted, #998e88);
}

/* on a phone: a sheet from the bottom, with room for a thumb */
.cs-shade {
    position: fixed;
    inset: 0;
    z-index: 10049;
    background: rgba(28, 23, 21, .45);
    animation: csFade .2s ease;
}
@keyframes csFade { from { opacity: 0; } to { opacity: 1; } }
.cs-pop.is-sheet {
    left: 0 !important;
    right: 0;
    bottom: 0 !important;
    top: auto !important;
    width: auto !important;
    max-height: 72vh !important;
    border: 0;
    border-radius: 16px 16px 0 0;
    padding-bottom: env(safe-area-inset-bottom);
    box-shadow: 0 -18px 40px -18px rgba(0, 0, 0, .35);
    font-size: 15px;
    animation: csUp .24s cubic-bezier(.22, .7, .2, 1);
}
@keyframes csUp { from { transform: translateY(100%); } to { transform: none; } }
.cs-pop.is-sheet .cs-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 12px 10px 20px;
    border-bottom: 1px solid var(--line, #ebe5e1);
}
.cs-pop.is-sheet .cs-head::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 6px;
    width: 38px;
    height: 4px;
    margin-left: -19px;
    border-radius: 2px;
    background: var(--line, #ebe5e1);
}
.cs-title { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted, #8a7f79); }
.cs-x {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: var(--accent-wash, #faf1ee);
    color: var(--ink, #221f1d);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}
.cs-pop.is-sheet .cs-list { padding: 8px 10px 14px; }
.cs-pop.is-sheet .cs-opt { min-height: 50px; padding: 12px 40px 12px 14px; }
.cs-pop.is-sheet .cs-opt + .cs-opt { border-top: 1px solid var(--line-soft, #f4efec); }
.cs-pop.is-sheet .cs-opt.is-active { background: none; }
.cs-pop.is-sheet .cs-opt[aria-selected="true"] { background: var(--accent-wash, #faf1ee); }
html.cs-locked, html.cs-locked body { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
    .cs-pop, .cs-pop.is-sheet, .cs-shade { animation: none; }
}

/* while the sheet is up, the page's own floating bits stay under it */
html.cs-locked #scrollUp, html.cs-locked .buy-bar { visibility: hidden; }
