/* Shared identity and controls for the whole storefront. */
:root {
  --cream: #f4eee2;
  --paper: #fbf8f1;
  --olive: #626747;
  --olive-dark: #494e33;
  --brown: #512b20;
  --clay: #8c5037;
  --line: #ded5c3;
  --muted: #71634f;
  --danger: #913c2d;
  --serif: 'Ogosta Cormorant', Georgia, serif;
  --reading: 'Ogosta Lora', Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
body.ogosta-page { display: flex; flex-direction: column; min-height: 100vh; margin: 0; font: 400 15px/1.75 var(--reading); color: var(--brown); background: var(--cream); }
.ogosta-page > main, .ogosta-page > .container, .ogosta-page > .ogosta-catalog { flex: 1 0 auto; }
.ogosta-page > .container { width: min(1320px, calc(100% - 88px)); padding-inline: 0; }
.ogosta-page .site-header, .ogosta-page .site-footer { flex-shrink: 0; }
.ogosta-page .site-footer { margin-top: auto; }
.ogosta-page h1, .ogosta-page h2, .ogosta-page h3, .ogosta-page h4, .ogosta-page legend { font-family: var(--serif); font-weight: 600; color: var(--brown); }
.ogosta-page h1 { font-size: 46px; line-height: 1.1; letter-spacing: -.02em; margin: 29px 0 22px; overflow-wrap: anywhere; }
.ogosta-page h2 { font-size: 34px; line-height: 1.2; margin: 23px 0 17px; }
.ogosta-page h3 { font-size: 28px; line-height: 1.25; margin: 22px 0 16px; }
.ogosta-page h4 { font-size: 23px; line-height: 1.3; }
.ogosta-page a { color: var(--brown); }
.ogosta-page a:hover { color: var(--olive-dark); }
.ogosta-page :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--olive); outline-offset: 3px; }
.ogosta-page #content { padding-bottom: 55px; }
.ogosta-page.common-home #content { padding-bottom: 0; }
.ogosta-page > .alert { width: min(1320px, calc(100% - 32px)); margin: 18px auto 0; }
.ogosta-page #content > :is(h1, h2):first-of-type { margin-top: 25px; }
.ogosta-page .brand-type { font-family: Georgia, 'Times New Roman', serif; }
.ogosta-page .brand-tagline { font-family: Georgia, 'Times New Roman', serif; }
.ogosta-page .navigation-inner { gap: 38px; }
.ogosta-page .navigation-inner > a { font: 400 15px/1.5 var(--reading); }
.ogosta-page .navigation-inner > a[aria-current] { color: var(--olive-dark); }
.ogosta-page .navigation-inner > a[aria-current]::after { width: 100%; }
.ogosta-page .language-select { min-width: 44px; min-height: 44px; font: 12px/1.5 var(--sans); }
.ogosta-page .search-form { min-height: 46px; }
.ogosta-page .menu-toggle { min-width: 44px; min-height: 44px; }
.ogosta-page .hero h1 { font-family: var(--serif); font-weight: 600; font-size: clamp(43px, 4.3vw, 64px); letter-spacing: -.025em; }
.ogosta-page .hero-description { font: 400 17px/1.7 var(--reading); }
.ogosta-page .hero .button { font-size: 15px; }
.ogosta-page .story-copy p { font-family: var(--reading); font-size: 16px; line-height: 1.8; }
.ogosta-page .category-copy > span { font: 600 30px/1.1 var(--serif); }
.ogosta-page .category:hover { color: var(--paper); }
.ogosta-page .eyebrow { color: var(--olive-dark); }
.ogosta-page .breadcrumb { display: flex; flex-wrap: wrap; gap: 8px 0; align-items: center; padding: 20px 0; margin: 0 0 7px; border-bottom: 1px solid var(--line); font: 12px/1.7 var(--sans); }
.ogosta-page .breadcrumb > li { padding: 0; margin: 0; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.ogosta-page .breadcrumb > li a { font: inherit; color: var(--muted); }
.ogosta-page .breadcrumb > li:last-child a { color: var(--brown); }
.ogosta-page .breadcrumb > li::after { display: none; }
.ogosta-page .breadcrumb > li + li::before { content: '/'; display: inline-block; padding: 0 12px; color: #ac9c83; }
.ogosta-page .breadcrumb .fa { font-family: var(--sans); }
.ogosta-page .breadcrumb .fa::before { content: none; }
.ogosta-page .ogosta-page-intro { color: var(--muted); max-width: 760px; margin: -7px 0 27px; }

/* One control size and colour vocabulary, including native OpenCart fragments. */
.ogosta-page :is(.btn, .button) { display: inline-flex; gap: 9px; align-items: center; justify-content: center; min-height: 46px; padding: 11px 20px; border: 1px solid transparent; border-radius: 3px; font: 500 14px/1.55 var(--reading); text-shadow: none; box-shadow: none; white-space: normal; transition: background .15s, border-color .15s; }
.ogosta-page :is(.btn-primary, .btn-inverse, .btn-success, .btn-info, .button) { background: var(--olive); border-color: var(--olive); color: var(--paper); }
.ogosta-page :is(.btn-primary, .btn-inverse, .btn-success, .btn-info, .button):is(:hover, :focus) { background: var(--olive-dark); border-color: var(--olive-dark); color: white; transform: none; }
.ogosta-page :is(.btn-default, .btn-link) { background: var(--paper); border-color: #c8bea9; color: var(--brown); }
.ogosta-page :is(.btn-default, .btn-link):hover { background: #eee7d9; color: var(--olive-dark); }
.ogosta-page .btn-danger { color: var(--danger); border-color: #d9beb0; background: #f6ece4; }
.ogosta-page .btn-danger:hover { background: #efdfd3; border-color: var(--danger); }
.ogosta-page .btn-block { display: flex; width: 100%; }
.ogosta-page :is(.btn-xs, .btn-sm) { min-height: 40px; min-width: 40px; padding: 8px 11px; font-size: 12px; }
.ogosta-page .btn[disabled] { opacity: .55; cursor: not-allowed; }
.ogosta-page .form-control { min-height: 46px; height: 46px; border: 1px solid #c8bea9; border-radius: 3px; background: #fffdf8; color: var(--brown); font: 400 14px/1.5 var(--reading); padding: 10px 12px; box-shadow: none; max-width: 100%; }
.ogosta-page .form-control:focus { border-color: var(--olive); box-shadow: 0 0 0 2px #62674720; }
.ogosta-page .form-control::placeholder { color: #82745f; opacity: 1; }
.ogosta-page textarea.form-control { height: auto; min-height: 140px; resize: vertical; }
.ogosta-page select.form-control { padding-right: 25px; text-overflow: ellipsis; }
.ogosta-page label { font: 500 13px/1.6 var(--sans); color: var(--brown); }
.ogosta-page :is(input[type=checkbox], input[type=radio]) { accent-color: var(--olive); width: 16px; height: 16px; }
.ogosta-page :is(.radio, .checkbox) label { padding-left: 25px; }
.ogosta-page :is(.radio, .checkbox, .radio-inline, .checkbox-inline) input { margin-top: 3px; }
.ogosta-page .checkbox-inline { padding-left: 25px; }
.ogosta-page .form-group { margin-bottom: 20px; }
.ogosta-page .form-horizontal .form-group { margin-inline: 0; }
.ogosta-page .form-horizontal .form-group > :is(.col-sm-2, .col-sm-10) { width: 100%; float: none; padding-inline: 0; }
.ogosta-page .form-horizontal .control-label { text-align: left; margin: 0 0 7px; padding: 0; }
.ogosta-page fieldset { margin: 0 0 25px; }
.ogosta-page legend { display: block; font-size: 30px; line-height: 1.3; padding: 0 0 13px; margin-bottom: 23px; border-color: var(--line); }
.ogosta-page .form-horizontal > fieldset { padding: 27px; background: var(--paper); border: 1px solid var(--line); border-radius: 3px; }
.ogosta-page .form-horizontal > fieldset > legend { float: left; }
.ogosta-page .form-horizontal > fieldset > legend + * { clear: both; }
.ogosta-page .input-group-addon { font: 12px/1.5 var(--sans); border-color: #c8bea9; background: #eee7d9; color: var(--muted); }
.ogosta-page .input-group-sm > :is(.form-control, .input-group-addon, .input-group-btn > .btn) { height: 46px; }
.ogosta-page .input-group .btn { min-height: 46px; }
.ogosta-page .input-group .form-control { border-radius: 3px 0 0 3px; }
.ogosta-page :is(.text-danger, .has-error .control-label) { color: var(--danger); }
.ogosta-page .text-danger { font: 12px/1.7 var(--sans); margin-top: 6px; }
.ogosta-page div.required .control-label::before { color: var(--danger); }
.ogosta-page .text-success { color: var(--olive-dark); }
.ogosta-page .text-warning { color: var(--clay); }
.ogosta-page :is(.label-primary, .label-info, .label-success, .badge, .progress-bar) { background-color: var(--olive); color: var(--paper); }
.ogosta-page .label-warning { background-color: var(--clay); color: white; }
.ogosta-page .label-danger { background-color: var(--danger); color: white; }
.ogosta-page .bootstrap-datetimepicker-widget table :is(td.active, td.active:hover, td span.active) { background-color: var(--olive); color: white; text-shadow: none; }
.ogosta-page .has-error .form-control { border-color: var(--danger); }
.ogosta-page .alert { position: relative; border-radius: 3px; padding: 16px 42px 16px 18px; font: 13px/1.8 var(--reading); box-shadow: none; }
.ogosta-page :is(.alert-success, .alert-info) { background: #e9ecdf; color: #40482e; border: 1px solid #c3c9ac; }
.ogosta-page :is(.alert-danger, .alert-warning) { background: #f3e6da; color: #7e3425; border: 1px solid #d9b7a1; }
.ogosta-page .alert a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ogosta-page .alert .close { position: absolute; right: 9px; top: 8px; min-width: 28px; min-height: 28px; color: inherit; opacity: .8; text-shadow: none; }
.ogosta-page .buttons { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 15px; margin-block: 23px; }
.ogosta-page .buttons::before, .ogosta-page .buttons::after { display: none; }
.ogosta-page .buttons > :is(.pull-left, .pull-right) { float: none !important; }
.ogosta-page .buttons > .pull-right:only-child { margin-left: auto; }
.ogosta-page .well, .ogosta-surface { background: var(--paper); border: 1px solid var(--line); border-radius: 3px; padding: 30px; box-shadow: none; }
.ogosta-page .list-group-item { padding: 13px 17px; font: 13px/1.7 var(--reading); border-color: var(--line); }
.ogosta-page .list-group-item.active { background: var(--olive); border-color: var(--olive); color: var(--paper); }
.ogosta-page :is(.table, .table-bordered) { border-color: var(--line); font: 13px/1.65 var(--reading); }
.ogosta-page .table > :is(thead, tbody, tfoot) > tr > :is(td, th) { border-color: var(--line); padding: 13px; vertical-align: middle; }
.ogosta-page .table > thead > tr > :is(td, th) { color: var(--brown); background: #eee7d9; font-weight: 500; }
.ogosta-page .table-responsive { border-color: var(--line); }
.ogosta-page .img-thumbnail { background: white; border-color: var(--line); border-radius: 2px; }
.ogosta-page .modal-content { background: var(--paper); color: var(--brown); border: 1px solid var(--line); border-radius: 4px; }
.ogosta-page :is(.modal-header, .modal-footer) { border-color: var(--line); }
.ogosta-page .tooltip-inner { background: var(--brown); color: var(--paper); font: 12px/1.5 var(--sans); }
.ogosta-page .pagination { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; }
.ogosta-page .pagination > li > :is(a, span) { display: grid; place-items: center; min-width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 3px; margin: 0; background: var(--paper); color: var(--brown); font: 13px var(--reading); }
.ogosta-page .pagination > .active > span { background: var(--olive); border-color: var(--olive); color: white; }

/* Header basket survives native Ajax button replacement. */
.ogosta-page #cart > button { position: relative; display: flex; justify-content: center; align-items: center; width: 44px; height: 46px; min-height: 46px; padding: 8px; background: none; border: 0; color: var(--brown); }
.ogosta-page #cart-total { font-size: 0; }
.ogosta-page #cart-total .fa, .ogosta-page #cart > button > .fa { font-size: 26px; }
.ogosta-page .ogosta-cart-count { position: absolute; top: 0; right: -3px; min-width: 19px; height: 19px; display: grid; place-items: center; padding: 0 4px; border-radius: 12px; background: var(--olive); color: white; font: 10px/1 var(--sans); }
.ogosta-page .ogosta-cart-count[hidden] { display: none; }
.ogosta-page #cart .dropdown-menu { border-radius: 3px; background: var(--paper); width: 410px; padding: 10px; }
.ogosta-page #cart .dropdown-menu .table { font-size: 11px; }
.ogosta-page #cart .dropdown-menu .table td { padding: 6px; }
.ogosta-page #cart .dropdown-menu p { display: flex; gap: 12px; justify-content: space-between; align-items: center; font-size: 12px; }
.ogosta-page #cart .dropdown-menu p a { display: inline-block; padding: 7px 0; color: var(--olive-dark); }
.ogosta-page #cart .dropdown-menu .btn-danger { min-width: 32px; min-height: 32px; padding: 6px; }

/* The same aligned product card on home, collection, search and related lists. */
.ogosta-page .oc-catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin-bottom: 27px; }
.ogosta-page .oc-product-card { display: flex; flex-direction: column; height: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 3px; background: var(--paper); overflow: hidden; }
.ogosta-page .oc-product-visual { flex-shrink: 0; }
.ogosta-page .oc-product-photo { display: block; aspect-ratio: 1; background: white; }
.ogosta-page .oc-product-photo:focus-visible { outline-offset: -5px; }
.ogosta-page .oc-product-photo img { width: 100%; height: 100%; padding: 12px; object-fit: contain; }
.ogosta-page .oc-product-copy { display: flex; flex: 1; flex-direction: column; padding: 18px; }
.ogosta-page .oc-product-kind { overflow: hidden; height: 1.5em; white-space: nowrap; text-overflow: ellipsis; font: 11px/1.5 var(--sans); color: var(--muted); margin-bottom: 8px; }
.ogosta-page .oc-product-copy h2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; height: 2.4em; min-height: 2.4em; overflow: hidden; font: 600 27px/1.2 var(--serif); margin: 0 0 12px; }
.ogosta-page .oc-product-description { font: 400 12px/1.7 var(--reading); height: 3.4em; min-height: 3.4em; margin: 0 0 18px; color: var(--muted); }
.ogosta-page .oc-product-bottom { display: flex; margin-top: auto; gap: 9px; padding-top: 14px; border-top: 1px solid var(--line); align-items: center; }
.ogosta-page .oc-product-price { display: grid; grid-template-rows: 12px 1.4em; flex: 1; min-width: 0; font-size: 19px; }
.ogosta-page .oc-product-price strong { grid-row: 2; color: var(--brown); font: 500 19px/1.4 var(--reading); white-space: nowrap; }
.ogosta-page .oc-product-price del { grid-row: 1; color: var(--muted); font: 10px/1.2 var(--sans); }
.ogosta-page .oc-add-to-cart { display: inline-flex; justify-content: center; align-items: center; gap: 7px; min-width: 44px; min-height: 44px; padding: 10px 12px; background: var(--olive); border: 1px solid var(--olive); border-radius: 3px; color: white; font: 500 11px/1.5 var(--reading); }
.ogosta-page .oc-add-to-cart:hover { background: var(--olive-dark); border-color: var(--olive-dark); }
.ogosta-page .oc-add-to-cart .icon { width: 18px; height: 18px; }
.ogosta-page .oc-category-copy h1 { font-weight: 600; }
.ogosta-page .oc-category-description { font-family: var(--reading); font-size: 15px; line-height: 1.8; }
.ogosta-page .oc-subcollection-name { font-weight: 600; font-size: 21px; }
.ogosta-page .oc-breadcrumbs, .ogosta-page .oc-select-field label { font-size: 12px; }
.ogosta-page .oc-select-field select { height: 46px; font: 13px var(--reading); }
.ogosta-page .oc-catalog-pagination p { font-size: 12px; }
.ogosta-page .ogosta-search-box { padding: 25px; background: var(--paper); border: 1px solid var(--line); border-radius: 3px; margin: 25px 0 32px; }
.ogosta-page .ogosta-search-box > .row { margin-top: 8px; }
.ogosta-page .ogosta-search-box .checkbox-inline { margin-top: 13px; margin-bottom: 10px; }
.ogosta-page .ogosta-search-box p { margin-top: 12px; }
.ogosta-empty-search { padding: 28px; background: var(--paper); border: 1px solid var(--line); border-radius: 3px; margin: 22px 0; }
.ogosta-empty-search p { margin-bottom: 15px; }

/* Account, information and feedback states. */
.ogosta-auth-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 25px; align-items: stretch; margin: 28px 0 15px; }
.ogosta-auth-grid .ogosta-surface { padding: 33px; }
.ogosta-auth-grid .ogosta-surface h2 { margin-top: 0; }
.ogosta-auth-grid .ogosta-register-invite { background: #ece5d6; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.ogosta-auth-grid .ogosta-register-invite .btn { margin-top: 15px; }
.ogosta-auth-grid .ogosta-forgotten { display: inline-block; margin: 0 0 18px; font-size: 12px; color: var(--olive-dark); text-decoration: underline; text-underline-offset: 3px; }
.ogosta-account-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.ogosta-account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 25px; }
.ogosta-page .ogosta-account-grid h2 { margin-top: 0; font-size: 32px; }
.ogosta-account-links { list-style: none; margin: 0; padding: 0; }
.ogosta-account-links a { display: block; padding: 11px 0; border-bottom: 1px solid var(--line); font: 13px/1.8 var(--reading); color: var(--olive-dark); }
.ogosta-account-links li:last-child a { border-bottom: 0; }
.ogosta-page :is(#account-order, #account-download, #account-return, #account-reward, #account-transaction, #account-recurring) #content > p { padding: 25px; background: var(--paper); border: 1px solid var(--line); border-radius: 3px; }
.ogosta-page #account-register form, .ogosta-page #account-return form, .ogosta-page #account-forgotten form { max-width: 900px; }
.ogosta-page #account-account #content > .list-unstyled { padding: 20px 25px; background: var(--paper); border: 1px solid var(--line); border-radius: 3px; }
.ogosta-page #account-account #content > .list-unstyled a { display: inline-block; padding: 7px 0; color: var(--olive-dark); }
.ogosta-message-panel { max-width: 780px; margin: 40px auto 10px; padding: 45px; border: 1px solid var(--line); border-radius: 3px; background: var(--paper); text-align: center; }
.ogosta-message-panel .buttons { justify-content: center; margin-bottom: 0; }
.ogosta-message-icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #e8e8d8; color: var(--olive); font-size: 23px; }
.ogosta-page .ogosta-message-panel h1 { font-size: 43px; margin-top: 21px; }
.ogosta-page .ogosta-reading { padding: 30px; border: 1px solid var(--line); background: var(--paper); max-width: 950px; font: 16px/1.9 var(--reading); overflow-wrap: anywhere; }
.ogosta-reading :is(p, span, div, font, li) { font-family: inherit !important; font-size: inherit !important; color: inherit !important; line-height: inherit !important; }
.ogosta-reading :is(p, ul, ol) { margin-bottom: 1.2em; }
.ogosta-reading img { display: block; width: auto !important; max-width: 100% !important; height: auto !important; max-height: 550px; object-fit: contain; float: none !important; margin: 24px auto !important; }
.ogosta-reading a { text-decoration: underline; text-underline-offset: 3px; }
.ogosta-page .ogosta-contact-details { border-color: var(--line); background: var(--paper); }
.ogosta-contact-details .panel-body { padding: 30px; }
.ogosta-contact-details .panel-body > .row { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 30px; margin: 0; }
.ogosta-contact-details .panel-body > .row::before, .ogosta-contact-details .panel-body > .row::after { display: none; }
.ogosta-contact-details .panel-body > .row > div { width: auto; padding: 0; float: none; font-size: 13px; }
.ogosta-contact-emblem { width: 65px; height: 65px; margin-bottom: 15px; }
.ogosta-page #information-contact .form-horizontal { max-width: 900px; margin-top: 30px; }
.ogosta-page #information-contact address { margin-top: 10px; line-height: 1.9; }

/* Basket and checkout: shared surfaces, clear quantities and total. */
.ogosta-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 28px; align-items: start; margin-top: 28px; }
.ogosta-cart-item { display: grid; grid-template-columns: 105px minmax(0, 1fr) 95px; grid-template-areas: 'photo copy total' 'photo controls total'; gap: 10px 20px; padding: 24px; background: var(--paper); border: 1px solid var(--line); border-radius: 3px; margin-bottom: 16px; }
.ogosta-cart-photo { grid-area: photo; align-self: start; background: white; border: 1px solid var(--line); }
.ogosta-cart-photo img { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 5px; }
.ogosta-cart-copy { grid-area: copy; min-width: 0; overflow-wrap: anywhere; }
.ogosta-page .ogosta-cart-copy h2 { font-size: 28px; margin: 0 0 7px; }
.ogosta-cart-copy small { display: block; color: var(--muted); font: 11px/1.7 var(--sans); }
.ogosta-cart-copy p { margin: 0; color: var(--muted); font-size: 11px; }
.ogosta-cart-total { grid-area: total; align-self: center; justify-self: end; font: 500 19px/1.5 var(--reading); white-space: nowrap; }
.ogosta-cart-controls { grid-area: controls; display: flex; align-items: center; gap: 8px; }
.ogosta-cart-controls .form-control { width: 65px; }
.ogosta-cart-controls .btn { min-width: 44px; padding: 10px; }
.ogosta-cart-summary { position: sticky; top: 25px; padding: 27px; background: var(--paper); border: 1px solid var(--line); border-radius: 3px; }
.ogosta-page .ogosta-cart-summary h2 { margin: 0 0 22px; font-size: 32px; }
.ogosta-cart-summary dl { margin-bottom: 24px; }
.ogosta-cart-summary dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; font-size: 13px; border-bottom: 1px solid var(--line); }
.ogosta-cart-summary dt { font-weight: 400; }
.ogosta-cart-summary dd { white-space: nowrap; }
.ogosta-cart-summary dl > div:last-child { font-size: 18px; color: var(--brown); padding-block: 17px; }
.ogosta-cart-summary .btn + .btn { margin-top: 10px; }
.ogosta-cart-note { color: var(--muted); font: 12px/1.75 var(--reading); margin: -5px 0 20px; }
.ogosta-cart-extras { padding: 17px 20px; background: var(--paper); border: 1px solid var(--line); border-radius: 3px; margin: 23px 0; }
.ogosta-cart-extras summary { cursor: pointer; font: 500 13px/1.8 var(--reading); color: var(--olive-dark); }
.ogosta-cart-extras .panel-group { margin: 20px 0 0; }
.ogosta-page #checkout-checkout #accordion { counter-reset: checkout-step; }
.ogosta-page #checkout-checkout #accordion > .panel { counter-increment: checkout-step; border: 1px solid var(--line); border-radius: 3px; background: var(--paper); box-shadow: none; overflow: hidden; margin-top: 12px; }
.ogosta-page #checkout-checkout .panel-heading { position: relative; background: var(--paper); border: 0; padding: 0; }
.ogosta-page #checkout-checkout .panel-heading::before { content: counter(checkout-step); position: absolute; left: 21px; top: 15px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #e8e2d4; color: var(--olive-dark); font: 500 13px/1 var(--reading); }
.ogosta-page #checkout-checkout .panel-title { margin: 0; padding: 20px 22px 20px 72px; font: 500 16px/1.5 var(--reading); }
.ogosta-page #checkout-checkout .panel-title a { display: block; color: var(--brown); }
.ogosta-page #checkout-checkout .panel-title .fa { float: right; padding-top: 4px; color: var(--olive); }
.ogosta-page #checkout-checkout .panel:has(.panel-collapse.in) { border-color: #a3a780; }
.ogosta-page #checkout-checkout .panel:has(.panel-collapse.in) .panel-heading { background: #eeeddf; }
.ogosta-page #checkout-checkout .panel:has(.panel-collapse.in) .panel-heading::before { background: var(--olive); color: white; }
.ogosta-page #checkout-checkout .panel-body { padding: 27px; border-top: 1px solid var(--line); }
.ogosta-page #checkout-checkout .panel-body > .row > div { padding-inline: 20px; }
.ogosta-page #checkout-checkout .panel-body h2 { margin-top: 0; }
.ogosta-page #checkout-checkout .panel-body .buttons { margin-bottom: 0; }
.ogosta-page #checkout-checkout .ogosta-choice label { display: block; position: relative; padding: 16px 18px 16px 43px; border: 1px solid var(--line); border-radius: 3px; background: #fffdf8; cursor: pointer; font-family: var(--reading); }
.ogosta-page #checkout-checkout .ogosta-choice label:has(input:checked) { border-color: var(--olive); background: #eeeddf; }
.ogosta-page #checkout-checkout .ogosta-choice input { position: absolute; left: 17px; top: 17px; margin: 0; }
.ogosta-agreement { display: flex; align-items: flex-start; gap: 12px; margin: 18px 0; }
.ogosta-agreement input { flex-shrink: 0; margin-top: 3px; }
.ogosta-agreement a { color: var(--olive-dark); text-decoration: underline; text-underline-offset: 3px; }
.ogosta-order-review { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.ogosta-order-review > :is(.ogosta-review-items, .ogosta-review-totals, .buttons) { grid-column: 1/-1; }
.ogosta-page .ogosta-order-review h3 { font-size: 28px; margin: 0 0 13px; }
.ogosta-order-review address, .ogosta-order-review p { color: var(--muted); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.ogosta-review-items article { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid var(--line); }
.ogosta-review-items p { margin: 0; }
.ogosta-review-items small { display: block; color: var(--muted); }
.ogosta-review-items strong { white-space: nowrap; font: 500 17px/1.8 var(--reading); }
.ogosta-review-totals { width: min(450px, 100%); margin: 0 0 0 auto; }
.ogosta-review-totals > div { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 14px; }
.ogosta-review-totals dt { font-weight: 400; }
.ogosta-review-totals dd { white-space: nowrap; }
.ogosta-review-totals > div:last-child { font-weight: 600; font-size: 21px; }
.ogosta-page .panel-default { border-color: var(--line); border-radius: 3px; box-shadow: none; }
.ogosta-page .panel-default > .panel-heading { background: #eee7d9; color: var(--brown); border-color: var(--line); }
.ogosta-page .ogosta-product-summary #button-cart { display: flex; align-items: center; justify-content: center; gap: 11px; font-family: var(--reading); }
.ogosta-page .ogosta-product-summary #button-cart .icon { width: 21px; height: 21px; }
.ogosta-page .footer-column h2 { font: 600 23px/1.25 var(--serif); color: var(--paper); }
.ogosta-page .footer-column > :is(a, span) { font-size: 13px; line-height: 1.7; }
.ogosta-page .site-footer a { color: #f6f0e4; }
.ogosta-page .site-footer :is(a, button):focus-visible { outline-color: var(--paper); }
.ogosta-page .footer-brand .brand-name { font-family: Georgia, serif; }

@media (max-width: 1100px) {
  .ogosta-page .oc-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
  .ogosta-page .navigation-inner { gap: 25px; }
  .ogosta-cart-layout { grid-template-columns: minmax(0, 1fr) 310px; gap: 19px; }
  .ogosta-cart-item { grid-template-columns: 78px minmax(0, 1fr); grid-template-areas: 'photo copy' 'photo total' 'controls controls'; padding: 19px; gap: 12px; }
  .ogosta-cart-total { justify-self: start; }
}
@media (max-width: 900px) {
  .ogosta-page > .container { width: calc(100% - 40px); }
  .ogosta-page .navigation-inner { gap: 20px; }
  .ogosta-page .navigation-inner > a { font-size: 13px; }
  .ogosta-page .hero h1 { font-size: 43px; }
  .ogosta-page .oc-product-copy h2 { font-size: 25px; }
  .ogosta-cart-layout { grid-template-columns: 1fr; }
  .ogosta-cart-summary { position: static; }
  .ogosta-contact-details .panel-body > .row { grid-template-columns: 1fr 1fr; }
  .ogosta-contact-details .panel-body > .row > div:first-child { grid-column: 1/-1; }
}
@media (max-width: 740px) {
  .ogosta-page .oc-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .ogosta-auth-grid { grid-template-columns: 1fr; }
  .ogosta-account-grid { grid-template-columns: 1fr; }
  .ogosta-page .oc-category-description { font-size: 14px; }
  .ogosta-page .oc-subcollection-name { font-size: 19px; }
  .ogosta-page #checkout-checkout .panel-body > .row > div + div { padding-top: 27px; margin-top: 25px; border-top: 1px solid var(--line); }
}
@media (max-width: 640px) {
  body.ogosta-page { font-size: 14px; }
  .ogosta-page > .container { width: calc(100% - 32px); }
  .ogosta-page #content { padding-bottom: 35px; }
  .ogosta-page h1 { font-size: 37px; }
  .ogosta-page h2 { font-size: 30px; }
  .ogosta-page h3 { font-size: 25px; }
  .ogosta-page .hero h1 { font-size: 42px; }
  .ogosta-page .hero-description { font-size: 15px; }
  .ogosta-page .brand-name { font-size: 22px; }
  .ogosta-page .header-actions { gap: 1px; }
  .ogosta-page #cart > button { width: 40px; padding-inline: 5px; }
  .ogosta-page #cart .dropdown-menu { position: fixed; left: 12px; right: 12px; top: 86px; width: auto; max-width: none; }
  .ogosta-page .navigation-inner { gap: 0 20px; }
  .ogosta-page .navigation-inner > a { font-size: 15px; }
  .ogosta-page .breadcrumb { font-size: 11px; padding-block: 17px; }
  .ogosta-page .breadcrumb > li + li::before { padding: 0 9px; }
  .ogosta-page .oc-product-copy { padding: 13px; }
  .ogosta-page .oc-product-copy h2 { font-size: 24px; }
  .ogosta-page .oc-product-description { font-size: 11px; }
  .ogosta-page .oc-product-kind { font-size: 10px; }
  .ogosta-page .oc-product-price, .ogosta-page .oc-product-price strong { font-size: 17px; }
  .ogosta-page .oc-add-to-cart { padding: 9px; }
  .ogosta-page .oc-add-to-cart span { display: none; }
  .ogosta-page .oc-product-photo img { padding: 7px; }
  .ogosta-page .oc-subcollection-name { font-size: 18px; }
  .ogosta-page .oc-catalog-controls { flex-wrap: nowrap; }
  .ogosta-page .oc-select-field select { font-size: 12px; }
  .ogosta-page .category-copy > span { font-size: 29px; }
  .ogosta-page .ogosta-search-box, .ogosta-page .form-horizontal > fieldset, .ogosta-auth-grid .ogosta-surface { padding: 21px; }
  .ogosta-page .ogosta-search-box .row > div { margin-bottom: 10px; }
  .ogosta-page .buttons > div { max-width: 100%; }
  .ogosta-message-panel { margin-top: 25px; padding: 30px 22px; }
  .ogosta-page .ogosta-message-panel h1 { font-size: 36px; }
  .ogosta-page .ogosta-reading { padding: 23px; font-size: 15px; }
  .ogosta-contact-details .panel-body { padding: 23px; }
  .ogosta-contact-details .panel-body > .row { display: block; }
  .ogosta-contact-details .panel-body > .row > div + div { margin-top: 25px; padding-top: 23px; border-top: 1px solid var(--line); }
  .ogosta-page .input-group-addon { font-size: 10px; padding: 8px; }
  .ogosta-page .input-group-sm > .form-control { font-size: 12px; }
  .ogosta-page #checkout-checkout .panel-body { padding: 21px; }
  .ogosta-page #checkout-checkout .panel-title { font-size: 14px; padding: 20px 15px 20px 61px; }
  .ogosta-page #checkout-checkout .panel-heading::before { left: 16px; top: 16px; width: 29px; height: 29px; }
  .ogosta-page #checkout-checkout .panel-body > .row > div { padding-inline: 15px; }
  .ogosta-cart-summary { padding: 23px; }
  .ogosta-order-review { grid-template-columns: 1fr; gap: 20px; }
  .ogosta-page .table > :is(thead, tbody, tfoot) > tr > :is(td, th) { padding: 10px; }
}
@media (max-width: 359px) {
  .ogosta-page .brand-name { font-size: 19px; }
  .ogosta-page .hero h1 { font-size: 37px; }
  .ogosta-page .oc-product-copy { padding: 10px; }
  .ogosta-page .oc-product-copy h2 { font-size: 21px; }
  .ogosta-page .oc-product-price, .ogosta-page .oc-product-price strong { font-size: 15px; }
  .ogosta-page .oc-catalog-grid { gap: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ogosta-page *, .ogosta-page *::before, .ogosta-page *::after { transition: none !important; animation: none !important; }
}
