/* Shrine templates: page, policy, collection, cart, search, 404, contact form — rebuilt from measured styles. */
.pg__main{padding:27px 15px}
@media screen and (min-width:750px){.pg__main{padding:36px 50px}}
.pg__inner{max-width:726px;margin:0 auto}
.pg__title{text-align:center;font-size:4.225rem;line-height:1.23;margin:0 0 3rem}
@media screen and (min-width:750px){.pg__title{font-size:5.525rem;line-height:1.23;margin:0 0 4rem}}
/* policy (Shopify policy template: container 603.2 max, pad 0 20 30, h1 39/48 center margin 26.13 0) */
.policy{max-width:603.2px;margin:0 auto;padding:0 20px 30px}
@media screen and (max-width:749px){.policy__title h1{font-size:2.925rem}.policy .rte h2{font-size:2.6rem}}
.policy__title{text-align:center}
.policy__title h1{font-size:3.9rem;line-height:1.23;margin:26.13px 0}
.policy .rte h2{margin:25.9px 0}
.policy .rte p{margin:16px 0}
.policy .rte ul,.policy .rte ol{margin:16px 0;padding-left:20px}
/* contact form (measured: h2 39/48, fields 45 tall gap 22, 2-col row, textarea 100, button full 49) */
.contact{padding:32px 15px 27px}
@media screen and (min-width:750px){.contact{padding:86px 50px 36px}}
.contact__inner{max-width:726px;margin:0 auto}
.contact__title{font-size:2.925rem;line-height:1.23;margin:0 0 2.1rem}
@media screen and (min-width:750px){.contact__title{font-size:3.9rem;margin:0 0 3.1rem}}
.contact__fields{display:grid;grid-template-columns:1fr;gap:17px;margin-bottom:17px}
@media screen and (min-width:750px){.contact__fields{grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}}
.contact__row{margin-bottom:17px}
@media screen and (min-width:750px){.contact__row{margin-bottom:22px}}
.contact__button{margin-top:16px}
@media screen and (min-width:750px){.contact__button{margin-top:21px}}
.contact .text-area{height:10rem;min-height:10rem;padding:1.5rem}
.contact .field__input:focus,.contact .field__input:not(:placeholder-shown){padding:2.2rem 1.5rem .8rem}
.contact .text-area~.field__label{top:2.2rem}
.contact .text-area:focus~.field__label,.contact .text-area:not(:placeholder-shown)~.field__label{top:1.1rem}
.contact__row:last-of-type{margin-bottom:0}
.contact__msg{margin:0 0 2rem}
/* collection */
.coll-hero{padding:25px 0 25px}
.coll-hero h1{text-align:center;font-size:2.925rem;line-height:1.23;margin:0}
@media screen and (min-width:750px){.coll-hero h1{font-size:3.9rem}}
.coll__facets{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:10px 0 37px;font-size:1.4rem;line-height:1.5;letter-spacing:.1rem}
.coll__facets-label{font-size:1.4rem;line-height:1.5;font-weight:400;color:rgba(18,18,18,.85);margin:0}
.coll__facets-label--m{display:none}
@media screen and (max-width:749px){.coll__facets-label{display:none}.coll__facets-label--m{display:block;font-size:1.6rem;line-height:1.2}}
.coll__facet{position:relative}
.coll__facet summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;padding:0 20px 0 0;line-height:1.5;color:rgba(18,18,18,.9)}
.coll__facet summary::-webkit-details-marker{display:none}
.coll__facet summary::after{content:"";width:7px;height:7px;border-right:1px solid rgba(18,18,18,.75);border-bottom:1px solid rgba(18,18,18,.75);transform:rotate(45deg);margin-left:4px;position:relative;top:-2px}
.coll__facet-panel{position:absolute;top:36px;left:0;z-index:5;width:350px;max-width:calc(100vw - 30px);background:#fff;border:1px solid rgba(18,18,18,.1);border-radius:14px;padding:15px 20px}
.coll__facet-panel ul{list-style:none;margin:0;padding:0}
.coll__facet-panel li{display:flex;align-items:center;gap:10px;line-height:1.8;padding:4px 0}
.coll__facet-panel input[type=checkbox]{width:16px;height:16px;margin:0}
.coll__muted{color:rgba(18,18,18,.4)}
.coll__sort{margin-left:auto;display:flex;align-items:center;gap:10px}
.coll__sort select{font:inherit;font-size:1.4rem;letter-spacing:.1rem;color:rgb(18,18,18);border:0;background:transparent;padding:0 20px 0 0;appearance:none;-webkit-appearance:none;cursor:pointer}
.coll__count{color:rgb(18,18,18)}
.coll__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:21px 20px;padding:0 0 30px}
@media screen and (min-width:750px){.coll__grid{grid-template-columns:repeat(4,1fr);gap:40px 40px}}
.card{display:flex;flex-direction:column;background:#fff;border-radius:6px;overflow:hidden}
.card__media{aspect-ratio:1/1;overflow:hidden;border-radius:6px}
@media screen and (min-width:750px){.card,.card__media{border-radius:12px}}
.card__media img{width:100%;height:100%;object-fit:cover}
.card__content{padding:20px 20px 23px;text-align:center}
.card__heading{margin:0;font-size:1.69rem;line-height:1.23;font-weight:700;letter-spacing:.06rem;color:rgb(18,18,18)}
.card__heading a{text-decoration:none}
.card__heading a:hover{text-decoration:underline;text-underline-offset:.3rem}
.card__price{margin:7px 0 0;font-size:1.6rem;line-height:1.4;font-weight:700;letter-spacing:.1rem;color:rgb(21,128,61)}
.card__price .visually-hidden{position:absolute}
.card__atc{margin:12px auto 0;min-height:4.4rem;min-width:0;padding:0 2rem;font-size:1.6rem}
@media screen and (max-width:749px){.card__content{padding:15px 10px 9px}.card__heading{font-size:1.3rem}.card__atc{width:100%;min-height:3.8rem;font-size:1.3rem;margin-top:11px;padding:0 1rem}.coll__facets{padding:9px 0 21px}.coll__facet{display:none}.coll__sort label,.coll__sort select{display:none}.coll__sort{margin-left:auto}.coll__facets-label{font-size:1.6rem;line-height:1.2;color:rgba(18,18,18,.9)}}
/* cart */
.cart{padding:80px 15px 20px;text-align:center}
@media screen and (min-width:750px){.cart{padding:70px 50px 26px}}
.cart h1{font-size:2.925rem;line-height:1.23;margin:0 0 2rem}
@media screen and (min-width:750px){.cart h1{font-size:3.9rem;margin:0 0 3rem}}
.cart__login{margin-top:5.5rem}
.cart__login h2{font-size:2.6rem;line-height:1.23;margin:0 0 .8rem}
@media screen and (min-width:750px){.cart__login h2{font-size:3.12rem}}
.cart__login p{margin:0;line-height:1.8}
.cart__login a{color:rgba(85,85,85,.85);text-decoration:underline;text-underline-offset:.3rem}
/* search */
.search{padding:50px 15px 53px}
@media screen and (min-width:750px){.search{padding:57px 50px 87px}}
.search h1{text-align:center;font-size:2.6rem;line-height:1.23;margin:0 0 3.1rem}
@media screen and (min-width:750px){.search h1{font-size:3.12rem}}
.search__form{max-width:741px;margin:0 auto}
.search__field{position:relative}
.search__field .field__input{padding-right:9.8rem}
.search__btn{position:absolute;right:1px;top:1px;height:calc(100% - 2px);width:4.4rem;display:flex;align-items:center;justify-content:center;color:rgba(18,18,18,.75)}
.search__results{margin:3rem 0 0}
.search__status{text-align:center;margin:0 0 3rem}
/* 404 */
.p404{max-width:1100px;margin:70px auto;padding:0 50px;text-align:center}
.p404 p{margin:16px 0}
.p404 h1{font-size:3.9rem;line-height:1.23;margin:50px 0 30px}
.p404 .button{margin-top:20px}
