img {
width: 100%;
height: auto;
}
.tooltip {
position: relative;
display: inline-block;
cursor: pointer;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 220px;
background-color: #212529;
/* Dark Background */
color: #fff;
/* White Text */
text-align: center;
border-radius: 5px;
padding: 5px;
position: absolute;
z-index: 1000;
bottom: 125%;
/* Position above text */
left: 50%;
transform: translateX(-50%);
opacity: 0;
transition: opacity 0.3s;
font-size: 12px;
}
.tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
.container-product-detail {
width: 100%;
padding: 0px;
}
.main-row {
padding-left: 20px;
padding-right: 20px;
margin: 0px;
}
.sub-heading {
font-family: 'Noto Sans JP', 'Trebuchet MS', 'Helvetica Neue', Arial, Helvetica, Tahoma, sans-serif;
font-size: 16pt;
color: #EFEFEF;
border-radius: 5px 5px;
font-size: 30px;
}
.instant-download-heading {
font-family: 'Noto Sans JP', 'Trebuchet MS', 'Helvetica Neue', Arial, Helvetica, Tahoma, sans-serif;
border-radius: 5px 5px;
font-weight: 500;
margin-top: 15px;
padding-left: 10px;
padding-right: 10px;
}
.title-box {
padding: 0px 10px 10px 20px;
/* T R B L */
background-color: #334148;
border-radius: 0 0px 5px 5px;
box-shadow: 1px 1px 5px 1px #2a363a;
margin-bottom: 20px;
margin-top: -20px;
}
.title-box-title-detail {
font-family: 'Noto Sans JP', 'Trebuchet MS', 'Helvetica Neue', Arial, Helvetica, Tahoma, sans-serif;
font-size: 14px;
color: #3e505a;
padding-top: 10px;
}
.title-box-title-detail-shop {
font-family: 'Noto Sans JP', 'Trebuchet MS', 'Helvetica Neue', Arial, Helvetica, Tahoma, sans-serif;
font-size: 14px;
color: #3e505a;
padding-top: 10px;
}
.title-box-category {
font-weight: 500;
font-size: 27.01px;
line-height: 1.3;
letter-spacing: .13505px;
font-family: 'Noto Sans JP', 'Trebuchet MS', 'Helvetica Neue', Arial, Helvetica, Tahoma, sans-serif;
text-align: left;
padding-top: 12px;
}
.text-views {
font-family: 'Noto Sans JP', 'Trebuchet MS', 'Helvetica Neue', Arial, Helvetica, Tahoma, sans-serif;
font-size: 20px;
color: #3e505a;
letter-spacing: .11105px;
text-align: left;
padding-top: 1spx;
}
.dollar-value-discount-detail {
color: #3e505a;
text-decoration: line-through;
font-size: 12.99px;
font-weight: 400;
}
.product-detail {
/*margin-left: 10px;*/
}
/* ── Desktop: keep price/CTA column sticky while gallery scrolls ── */
@media (min-width: 768px) {
.main-row > .col-md-4 {
position: sticky;
top: 16px;
align-self: flex-start;
}
}
/* ── Mobile sticky CTA bar ── */
/* GH#908: start visible on mobile so it's always above the fold before JS fires */
#mob-sticky-cta {
display: block; /* JS hides when primary CTA is visible in viewport */
position: fixed;
bottom: 0; left: 0; right: 0;
z-index: 1040;
background: #fff;
border-top: 1px solid #e5e5e5;
box-shadow: 0 -2px 14px rgba(0,0,0,0.10);
padding: 10px 16px 12px;
}
#mob-sticky-cta .mob-cta-inner {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 4px;
max-width: 540px;
margin: 0 auto;
}
#mob-sticky-cta .mob-cta-sub {
font-size: 0.62rem;
color: #555;
text-align: center;
margin-top: 2px;
}
@media (min-width: 768px) {
#mob-sticky-cta { display: none !important; }
}
.dollar-symbol-sale {
color: #222 !important;
letter-spacing: .13505px;
font-size: 27.01px;
font-weight: 500;
line-height: 1.3;
}
.product-title-keywords {
overflow-wrap: anywhere;
line-break: anywhere;
font-family: 'Noto Sans JP', 'Trebuchet MS', 'Helvetica Neue', Arial, Helvetica, Tahoma, sans-serif;
font-size: 20px;
color: #3e505a;
letter-spacing: .11105px;
text-align: left;
padding-top: 12px;
}
.panel-body-detail {
height: auto;
}
body {
background-color: #fff !important;
}
.panel-title-text {
font-family: 'Noto Sans JP', 'Trebuchet MS', 'Helvetica Neue', Arial, Helvetica, Tahoma, sans-serif;
text-align: start;
}
.panel-heading[data-toggle].collapsed:after {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f078";
color: #444444;
position: relative;
right: 10px;
bottom: 10px;
text-align: end;
}
.panel-heading[data-toggle]:not(.collapsed):after {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f077";
color: #444444;
position: relative;
right: 10px;
bottom: 10px;
text-align: end;
}
.download-payment-confirm-text {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
padding-left: 10px;
padding-right: 10px;
line-height: 1.42857143;
color: #3e505a;
background-color: #fff;
padding-top: 20px;
}
.donwload-payment-refund-text {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 1.42857143;
padding-left: 10px;
padding-right: 10px;
background-color: #fff;
padding-top: 20px;
color: #3e505a;
/* Sets the email link color to grey */
text-decoration: none;
/* Removes underline for a cleaner look */
}
.donwload-payment-refund-text a {
color: #3e505a;
/* Optional: Slightly darker shade on hover */
text-decoration: underline;
/* Optional: Add underline on hover */
}
.btn-block {
background-color: #3e505a;
border-radius: 8px;
color: white;
margin-top: 20px;
margin-bottom: 20px;
padding-top: 12px;
padding-bottom: 12px;
font-size: 12pt;
}
.title-box-title {
font-family: 'open_sansregular';
font-size: 14px;
color: white;
padding-top: 10px;
}
.title-box-title-shop {
font-family: 'open_sansregular';
font-size: 14px;
color: white;
padding-top: 10px;
width: 100%;
}
.title-box-category {
font-family: 'open_sanslight';
font-weight: 500;
font-size: 16px;
color: #FFA500 !important;
}
.dollar-value-sale {
color: #222 !important;
letter-spacing: .13505px;
font-size: 27.01px;
font-weight: 500;
line-height: 1.3;
}
.dollar-value-discount {
color: white;
text-decoration: line-through;
}
#details {
white-space: normal;
}
.crop {
max-height: 5em;
overflow: hidden;
}
.modal-body {
background-color: white;
color: #3e505a;
}
.btn-primary {}
p {
word-break: break-all
}
.caret {
margin-left: auto;
}
/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
.reviews-div-show-hide-mobile {
display: none;
}
.reviews-div-show-hide-desktop {
display: block;
}
}
/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
.reviews-div-show-hide-mobile {
display: none;
}
.reviews-div-show-hide-desktop {
display: block;
}
}
/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
.reviews-div-show-hide-mobile {
display: none;
}
.reviews-div-show-hide-desktop {
display: block;
}
}
/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
.reviews-div-show-hide-mobile {
display: block;
}
.reviews-div-show-hide-desktop {
display: none;
}
}
/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 1040px) {
.reviews-div-show-hide-mobile {
display: block;
}
.reviews-div-show-hide-desktop {
display: none;
}
}
.padding-zero {
padding: 0px;
}
.row-padding-top {
padding-top: 15px;
padding-left: 0px;
padding-right: 0px;
cursor: pointer;
}
#learnmore,
#learnmore-2 {
color: #3e505a !important;
cursor: pointer;
background: none;
border: none;
padding: 0;
font-size: 0.85rem;
text-decoration: underline;
text-underline-offset: 2px;
}
.learnmore-spacing {
padding-top: 15px;
}
.drop-down-button {}
.drop-down-item {
color: #3e505a;
width: 100%;
cursor: pointer;
border: whitesmoke;
}
.dropdown-menu-report {
color: #3e505a;
border: whitesmoke;
background-color: whitesmoke;
}
.btn-light {
width: 100%;
padding: 15px;
font-size: 15pt;
}
.btn-info {
color: #3e505a;
}
.modal-header .close {
color: #3e505a;
}
.modal-dialog {
max-width: 75vw;
/* Limit the modal width */
max-height: 75vh;
/* Limit the modal height */
}
.modal-content {
background: rgba(255, 255, 255, 0.95);
/* Add slight transparency */
border-radius: 8px;
box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.2);
/* Subtle shadow */
}
@media (max-width: 768px) {
.modal-dialog {
max-width: 90vw;
/* Smaller width for mobile */
max-height: 90vh;
/* Smaller height for mobile */
}
.thumbnail-slider { display: none; }
}
/* ── Etsy-style lightbox — all viewports ────────────────────────────── */
#imageSliderModal { padding: 0 !important; }
#imageSliderModal .modal-dialog {
width: 100vw !important; max-width: 100vw !important;
height: 100vh !important; max-height: 100vh !important;
margin: 0 !important;
}
#imageSliderModal .modal-content {
width: 100vw !important; height: 100vh !important;
border: none !important; border-radius: 0 !important;
background: #1a1a1a !important;
display: flex !important; flex-direction: column !important;
overflow: hidden !important;
}
#imageSliderModal .modal-header {
position: absolute; top: 12px; right: 12px;
z-index: 50; border: none; padding: 0; background: transparent;
}
#imageSliderModal .btn-close {
width: 40px !important; height: 40px !important;
border-radius: 50% !important; border: none !important;
background: rgba(255,255,255,0.15) !important;
opacity: 1 !important; box-shadow: none;
filter: invert(1) grayscale(1) brightness(2);
}
#imageSliderModal .btn-close:hover { background: rgba(255,255,255,0.28) !important; }
/* modal-body: ROW layout — main image left, thumbs right */
#imageSliderModal .modal-body {
flex: 1 1 0 !important; padding: 0 !important;
overflow: hidden !important;
display: flex !important; flex-direction: row !important;
min-height: 0 !important;
}
/* Main image panel */
#etsy-lb-main {
flex: 1 1 0; min-width: 0;
position: relative;
display: flex; align-items: stretch;
background: #3d3d3d; overflow: hidden;
}
#etsy-lb-counter {
position: absolute; top: 12px; left: 50%;
transform: translateX(-50%);
font-size: 0.8rem; color: rgba(255,255,255,0.7);
z-index: 30; pointer-events: none; white-space: nowrap;
}
.etsy-lb-arrow {
position: absolute; top: 50%; transform: translateY(-50%);
z-index: 30; width: 44px; height: 44px;
border-radius: 50%; border: none;
background: rgba(255,255,255,0.18); backdrop-filter: blur(4px);
display: flex; align-items: center; justify-content: center;
cursor: pointer; color: #fff; font-size: 1.6rem; line-height: 1;
transition: background 0.15s;
}
.etsy-lb-arrow:hover { background: rgba(255,255,255,0.32); }
#etsy-lb-prev { left: 16px; }
#etsy-lb-next { right: 16px; }
#imageSliderModal .carousel { flex: 1 1 0; min-width: 0; width: 100%; height: 100%; position: relative; overflow: hidden; }
#imageSliderModal .carousel-inner { height: 100% !important; }
#imageSliderModal .carousel-item {
height: 100% !important; transition: none !important;
}
#imageSliderModal .carousel-item.active {
display: flex !important; align-items: stretch !important;
}
#imageSliderModal .zoom-container {
width: 100%; height: 100%;
display: flex; align-items: center; justify-content: center;
padding: 40px 56px 16px; box-sizing: border-box;
}
#imageSliderModal .carousel-item img {
max-width: 100% !important; max-height: 100% !important;
width: auto !important; height: auto !important;
object-fit: contain !important; display: block !important;
cursor: zoom-in;
}
#imageSliderModal .video-container {
height: 100% !important;
padding-bottom: 0 !important;
width: 100% !important;
flex: 1 1 auto;
}
#imageSliderModal .video-container iframe {
position: absolute !important;
top: 0 !important; left: 0 !important;
width: 100% !important; height: 100% !important;
}
/* Vertical thumbnail panel — right side, 2-col grid, desktop only */
#etsy-lb-thumbs {
width: 196px; min-width: 196px; flex-shrink: 0;
display: grid !important;
grid-template-columns: 1fr 1fr;
gap: 5px; padding: 12px 8px; align-content: start;
background: #111;
border-left: 1px solid rgba(255,255,255,0.1);
overflow-y: auto; overflow-x: hidden;
scrollbar-width: thin;
scrollbar-color: rgba(255,255,255,0.25) transparent;
}
#etsy-lb-thumbs img {
width: 100% !important; height: auto !important;
min-width: unset !important; max-width: 100% !important;
aspect-ratio: 4/3;
object-fit: contain !important; border-radius: 4px !important; background: #222;
cursor: pointer;
border: 2px solid transparent !important; opacity: 0.6;
transition: border-color 0.15s, opacity 0.15s;
display: block !important;
}
#etsy-lb-thumbs img.etsy-lb-thumb-active { border-color: #fff !important; opacity: 1; }
#etsy-lb-thumbs img:hover { opacity: 0.85; }
/* Mobile: hide thumb panel, full-width clean image */
@media (max-width: 768px) {
#etsy-lb-thumbs { display: none !important; }
.etsy-lb-arrow { width: 36px; height: 36px; font-size: 1.3rem; }
#etsy-lb-prev { left: 8px; }
#etsy-lb-next { right: 8px; }
#imageSliderModal .zoom-container { padding: 32px 10px 10px; }
}
.dropdown-css {
max-height: 100px;
}
.hide-display {
display: none;
}
.report-options {
color: #3e505a;
font-size: medium;
padding-top: 15px;
}
.report-dropdown-item {
outline: 1px solid #3e505a;
font-size: large;
width: 100%;
padding: 15px;
}
.pay-method-radio-button-row {
margin-left: 10px;
margin-top: 10px;
}
.pay-method-radio-input {
transform: scale(2.5);
}
.radio-padding {
padding-top: 10px;
padding-bottom: 10px;
}
.submit-report-button {
background-color: #3e505a;
border-radius: 8px;
color: white;
float: right;
}
.discount-percent {
background-color: #a0e193;
color: #222;
border-radius: 999999px;
min-width: 25px;
padding: 6px 8px;
font-size: 12.99px;
font-weight: 400;
line-height: 1;
display: inline-block;
}
.details-about {
letter-spacing: .08px;
font-size: 16px;
font-weight: 500;
line-height: 1.25;
}
.details-highlights {
letter-spacing: .08px;
font-size: 16px;
font-weight: 500;
line-height: 1.25;
}
/* ── Product highlights grid (Etsy-style) ── */
.cc-highlights{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px 16px;
border:1px solid #e5e7eb;
border-radius:10px;
padding:16px;
background:#fff;
}
.cc-hl-item{
display:flex;align-items:flex-start;gap:10px;
}
.cc-hl-icon{
font-size:1.1rem;flex-shrink:0;line-height:1;margin-top:2px;
width:26px;text-align:center;color:#1a1a1a;
}
.cc-hl-title{
font-size:.82rem;font-weight:700;color:#111;line-height:1.3;
}
.cc-hl-sub{
font-size:.72rem;color:#6b7280;line-height:1.35;margin-top:2px;
}
@media(max-width:575px){
.cc-highlights{grid-template-columns:1fr;}
}
.photo-frame {
width: 100%;
max-width: 700px;
/* Adjust as needed */
padding: 20px;
border: 10px solid #ccc;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
border-radius: 10px;
/* Round the corners of the frame */
background-color: #fff;
overflow: hidden;
margin: auto;
}
.photo-frame img {
width: 100%;
height: auto;
display: block;
border-radius: 5px;
/* Optional: round the image corners */
object-fit: cover;
}
/* Scene to center the table */
.scene {
display: flex;
justify-content: center;
align-items: flex-end;
height: 100vh;
background-color: #f0f0f0;
}
/* Table styles */
.table-frame {
width: 80%;
max-width: 600px;
height: 50px;
background-color: #8b4513;
/* Brown color for the table */
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
position: relative;
}
/* Photo frame styles */
.photo-frame {
width: 70%;
max-width: 700px;
padding: 20px;
border: 15px solid #8b5a2b;
/* Wooden frame color */
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
border-radius: 5px;
background-color: #fff;
position: absolute;
top: -100px;
/* Position the frame above the table */
left: 50%;
transform: translateX(-50%);
text-align: center;
}
/* Image styles */
.photo-frame img {
width: 100%;
height: auto;
display: block;
border-radius: 5px;
object-fit: cover;
}
.thumbnail {
margin-bottom: 0;
}
/* Desktop: thumb column matches carousel height exactly, scrolls with hidden scrollbar */
@media (min-width: 992px) {
.image-gallery-row {
align-items: flex-start;
}
.thumb-col {
overflow-y: auto;
overflow-x: hidden;
scrollbar-width: none;
-ms-overflow-style: none;
/* height set by JS to match carousel */
display: flex;
flex-direction: column;
}
.thumb-col::-webkit-scrollbar {
display: none;
}
.thumb-col .thumbnail {
flex: 1 1 0;
min-height: 38px;
border-bottom: 1px solid #eee;
padding: 3px;
position: relative;
overflow: hidden;
}
.thumb-col .thumbnail:last-child {
border-bottom: none;
}
.thumb-col .thumbnail img,
.thumb-col .video-thumbnail-container img {
position: absolute;
inset: 3px;
width: calc(100% - 6px);
height: calc(100% - 6px);
object-fit: contain;
background: #f7f7f7;
border-radius: 3px;
display: block;
}
.thumb-col .video-thumbnail-container {
position: absolute;
inset: 3px;
width: calc(100% - 6px);
height: calc(100% - 6px);
}
.thumb-col .video-thumbnail-container img {
position: static;
width: 100%;
height: 100%;
inset: auto;
}
}
.padding-left-right-5 {
padding-left: 5px;
padding-right: 5px;
}
.padding-left-right-10 {
padding-left: 5px;
padding-right: 5px;
}
/* Banner container */
.banner {
width: 100%;
}
/* Banner headline */
.banner h1 {
font-size: 3em;
font-weight: bold;
margin-bottom: 20px;
}
/* Banner description */
.banner p {
font-size: 1.2em;
margin-bottom: 30px;
max-width: 700px;
line-height: 1.5;
}
/* Call-to-action button */
.banner img {
height: 100%;
width: 100%;
}
/* Responsive design for smaller screens */
@media (max-width: 768px) {
.banner h1 {
font-size: 2em;
}
.banner p {
font-size: 1em;
}
.banner a {
font-size: 1em;
/*padding: 10px 20px;*/
}
}
.product-card {
width: 100%;
max-width: 300px;
border: 1px solid #ddd;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: box-shadow 0.3s ease;
background-color: #fff;
text-align: center;
margin: 20px auto;
}
.product-card:hover {
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}
.product-image {
width: 100%;
height: auto;
object-fit: cover;
}
.product-details {
padding: 15px;
}
.product-name {
font-size: 1.1rem;
font-weight: bold;
color: #333;
margin-bottom: 10px;
}
.product-pricing {
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
margin-bottom: 10px;
}
.original-price {
font-size: 16px;
color: #888;
text-decoration: line-through;
}
.discount-price {
font-size: 18px;
font-weight: bold;
color: #e74c3c;
}
.discount-tag {
background-color: var(--brand-color);
color: #fff;
padding: 5px 10px;
font-size: 12px;
font-weight: bold;
border-radius: 4px;
margin-top: 10px;
}
.buy-button {
display: inline-block;
margin-top: 15px;
padding: 10px 20px;
background-color: #3498db;
color: #fff;
text-decoration: none;
border-radius: 4px;
font-weight: bold;
transition: background-color 0.3s ease;
}
.buy-button:hover {
background-color: #2980b9;
}
/* Responsive Design */
@media (max-width: 768px) {
.product-card {
max-width: 100%;
margin: 10px;
}
.product-name {
font-size: 16px;
}
.original-price,
.discount-price {
font-size: 16px;
}
.discount-tag {
font-size: 10px;
}
.buy-button {
padding: 8px 16px;
font-size: 14px;
}
}
@media (max-width: 480px) {
.product-card {
padding: 10px;
margin: 10px auto;
}
.product-name {
font-size: 14px;
}
.product-pricing {
flex-direction: column;
gap: 5px;
}
.original-price,
.discount-price {
font-size: 14px;
}
.discount-tag {
font-size: 8px;
padding: 4px 8px;
}
.buy-button {
padding: 8px 12px;
font-size: 12px;
}
}
.accordion-button,
.accordion-button:not(.collapsed) {
background-color: transparent;
color: #000;
box-shadow: none;
}
.accordion-button:hover {
background-color: #e9ecef;
}
.icon-circle {
width: 60px;
height: 60px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
}
/* ── Product image carousel — works for landscape AND portrait templates ── */
/* Neutral bg shows behind contained portrait images */
#productCarousel .carousel-inner {
background: #f5f5f5;
text-align: center; /* centres auto-width images without touching display */
}
#productCarousel .carousel-item {
height: auto;
min-height: 220px;
/* DO NOT use display:flex here — Bootstrap uses display:none to hide
inactive slides; overriding it shows all slides simultaneously */
}
/* Beat Bootstrap's w-100 (!important) so portrait images don't get
stretched to full carousel width — use width:auto instead */
#productCarousel .carousel-item img.template-image {
width: auto !important;
max-width: 100%;
height: auto;
max-height: 55vw;       /* mobile: cap at viewport-relative height */
object-fit: contain;
display: inline-block;  /* inline-block so text-align:center centres it */
vertical-align: middle;
}
/* Desktop */
@media (min-width: 992px) {
#productCarousel .carousel-inner {
min-height: 300px;
}
#productCarousel .carousel-item {
min-height: 300px;
}
#productCarousel .carousel-item img.template-image {
max-height: 60vh;   /* landscape: fills most of this */
/* portrait: stays within 60vh, centred */
}
/* Video fills full carousel height on desktop */
#productCarousel .carousel-item .video-container {
position: relative;
padding-bottom: 56.25%;
height: 0;
width: 100%;
}
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
background-color: rgba(0, 0, 0, 0.5);
/* Add a semi-transparent black background */
border-radius: 50%;
/* Optional: Make the icons circular */
width: 50px;
height: 50px;
}
.carousel-control-prev,
.carousel-control-next {
color: #000;
/* Ensure the buttons are visible */
z-index: 1050;
/* Make sure they appear above the modal content */
}
.carousel-control-prev-icon::after,
.carousel-control-next-icon::after {
content: '';
/* Optional: Clear default styles */
}
/* Modal Content Centering */
.modal-dialog {
max-height: 75vh;
/* Set modal height to 75% of the viewport */
margin: auto;
/* Ensure the modal is horizontally centered */
width: 100%;
/* Allow the modal to take full width for mobile */
max-width: 500px;
/* Restrict maximum width for desktop and larger screens */
}
.modal-content {
border-radius: 8px;
/* Rounded corners for aesthetics */
box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.2);
/* Add subtle shadow */
background: rgba(255, 255, 255, 0.95);
/* Slightly transparent background */
}
/* Main image adjustments */
.template-image {
max-width: 100%;
max-height: 60vh;
/* Ensure the image fits within the modal */
margin: auto;
display: block;
object-fit: contain;
}
/* Adjust back/forward button placement */
.carousel-control-prev,
.carousel-control-next {
top: 50%;
transform: translateY(-50%);
z-index: 1;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
background-color: rgba(0, 0, 0, 0.6);
/* Ensure visibility on white background */
border-radius: 50%;
}
/* Thumbnail sidebar adjustments for desktop */
.thumbnail-slider img {
cursor: pointer;
border: 1px solid transparent;
transition: all 0.3s;
}
.thumbnail-slider img:hover {
border: 2px solid #007bff;
/* Highlight thumbnail on hover */
}
/* Center modal horizontally on small screens */
@media (max-width: 768px) {
.modal-dialog {
width: 95%;
/* Allow some margin on mobile */
margin: 20px auto;
/* Center the modal with margins */
}
.thumbnail-slider {
display: none;
/* Hide thumbnails for mobile view */
}
}
.table-responsive {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
/* Smooth scrolling on iOS */
}
.table-striped>tbody>tr:nth-of-type(odd) {
background-color: #f8f9fa;
/* Light gray for better readability */
}
.template-details-container {
padding: 20px;
background-color: #fff;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.trust-badges {
display: flex;
justify-content: center;
gap: 15px;
margin-top: 15px;
}
.trust-badge {
background-color: #f8f9fa;
padding: 8px 15px;
border-radius: 5px;
font-size: 14px;
font-weight: bold;
color: #333;
}
.limited-time-offer {
background-color: #ff4757;
color: white;
padding: 5px 10px;
font-size: 1rem;
font-weight: bold;
border-radius: 5px;
text-align: center;
margin-bottom: 10px;
}
.cta-button {
background-color: #000;
color: #fff;
font-size: 1.4rem;
font-weight: bold;
padding: 15px 20px;
border-radius: 25px;
text-align: center;
display: block;
width: 100%;
text-decoration: none !important;
transition: background-color 0.3s, transform 0.2s;
}
.cta-button:hover {
background-color: #333;
transform: scale(1.05);
color: #fff;
}
.etsy-button,
.gumroad-button,
.creativemarket-button {
display: block;
width: 100%;
padding: 15px;
font-size: 1.4rem;
font-weight: bold;
text-align: center;
border-radius: 25px;
transition: background-color 0.3s, transform 0.2s;
text-decoration: none !important;
}
/* Etsy Style (Blue) */
.etsy-button {
background-color: #1e6bd6;
color: #fff;
}
.etsy-button:hover {
background-color: #155bb5;
transform: scale(1.05);
color: #fff;
}
/* Gumroad Style (Green) */
.gumroad-button {
background-color: #dfffec;
color: #207a58;
border: 2px solid #207a58;
}
.gumroad-button:hover {
background-color: #bff7d9;
transform: scale(1.05);
}
/* Creative Market Style (Teal or Grayish) */
.creativemarket-button {
background-color: #e6f4f1;
color: #3b6b5c;
border: 2px solid #3b6b5c;
}
.creativemarket-button:hover {
background-color: #c9eae2;
transform: scale(1.05);
}
.related-templates {
margin-top: 30px;
padding: 20px;
background-color: #f8f9fa;
border-radius: 8px;
}
.recs-section {
content-visibility: auto;
contain-intrinsic-size: 0 400px;
}
.keywords-container {
margin-top: 15px;
background: #fdf2e9;
padding: 15px;
border-radius: 5px;
font-size: 14px;
line-height: 1.6;
}
.keywords-container strong {
color: #d35400;
}
.keywords-container span {
display: inline;
}
.keywords-container .show-more {
display: none;
}
.show-more-btn {
background: none;
border: none;
color: #d35400;
cursor: pointer;
font-size: 14px;
padding: 0;
}
.countdown {
color: var(--brand-color) !important;
font-size: 11px;
font-weight: 400;
margin-bottom: 6px;
}
h3 {
margin-bottom: -0.2rem;
/* Reduce space below the price */
}
.template-title {
letter-spacing: .16px;
font-family: Graphik Webfont, -apple-system, Helvetica Neue, Droid Sans, Arial, "sans-serif";
font-size: 16px;
font-weight: 400;
}
@media (max-width: 576px) {
.cta-button,
.etsy-button,
.gumroad-button,
.creativemarket-button {
padding: 10px 16px;
font-size: 1.1rem;
border-radius: 20px;
}
}
/*
@media (max-width: 768px) {
.cta-button {
position: fixed;
bottom: 15px;
left: 50%;
transform: translateX(-50%);
width: 90%;
z-index: 999;
}
}
*/
a.grey-link {
color: #6c757d;
/* Bootstrap grey */
text-decoration: none;
}
a.grey-link:hover {
color: #495057;
/* Darker grey on hover */
}
.views-count {
color: #d00739 !important;
}
.demo-button {
/* Dark grey border */
background-color: transparent;
/* Transparent background */
/* Dark grey text */
transition: all 0.3s ease-in-out;
}
.demo-button:hover {
background-color: rgba(62, 80, 90, 0.1);
/* Subtle dark grey hover effect */
color: #3e505a;
/* Maintain text color */
border-color: #3e505a;
/* Keep the same border color */
text-decoration: none;
}
.external-checkout-options {
margin-top: 10px;
}
.external-checkout-options a {
margin-bottom: 10px;
display: block;
}
.external-checkout-options details summary {
cursor: pointer;
font-size: 0.875rem;
font-weight: 500;
}
.external-checkout-options details ul {
margin-top: 5px;
}
hr.my-2 {
border-top: 1px dashed #ccc;
opacity: 0.5;
}
@media (max-width: 430px) and (max-height: 850px) {
.cta-button {
margin-bottom: 6rem;
/* Create space above chat icon */
}
}
@media (max-width: 430px) and (min-height: 851px) {}
@media (max-height: 600px) {
.cta-button {
margin-bottom: 3rem;
}
}
.tawk-mobile .tawk-button {
bottom: 80px !important;
/* Push it up to avoid overlapping Add to Basket */
left: 10px !important;
z-index: 1000 !important;
}
.custom-hr {
border-top: 1px solid #e0e0e0;
margin: 0.25rem 0;
/* very tight spacing */
}
@media (max-width: 576px) {
.custom-hr {
margin: 0.15rem 0;
/* even less space on phones */
}
}
.views-count-badge {
display: inline-flex;
align-items: center;
background-color: #f0f8ff;
/* A light, neutral background color */
border: 1px solid #cceeff;
/* A subtle border */
border-radius: 20px;
padding: 5px 12px;
font-size: 0.9rem;
color: #555;
font-weight: bold;
margin-bottom: 10px;
/* Add some space below it */
margin-top: 10px;
}
.views-count-badge i {
color: #007bff;
/* A nice blue color for the icon */
margin-right: 5px;
}
.btn-secondary-white {
background-color: #ffffff;
/* White background */
color: #212529;
/* Dark text color for readability */
border: 1px solid #ced4da;
/* Subtle border to define the shape */
transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
/* Smooth transition */
}
.btn-secondary-white:hover {
background-color: #f8f9fa;
/* Very light grey background on hover */
border-color: #adb5bd;
/* Slightly darker border on hover */
color: #212529;
/* Keep text color dark */
}
.btn-secondary-white:focus,
.btn-secondary-white:active {
background-color: #e9ecef;
/* A slightly darker shade for focus/active state */
border-color: #adb5bd;
}
/* Your main CSS file */
/* Style for the link wrapping the list item */
.list-unstyled a {
display: block;
/* Makes the entire block clickable */
text-decoration: none;
/* Removes the underline */
color: #212529;
/* Keeps text color consistent */
transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
/* Hover state for the link */
.list-unstyled a:hover {
transform: translateY(-5px);
/* Moves the item up slightly */
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
/* Adds a subtle shadow */
}
/* A slightly different hover effect for the list item itself */
.list-unstyled li:hover {
background-color: #f8f9fa;
/* A very subtle light grey background on hover */
border-radius: 8px;
/* Matches the image border */
}
/* Optional: to prevent the "This listing" from moving with the hover effect */
.list-unstyled li:has(.badge) a:hover {
transform: none;
box-shadow: none;
}
.video-thumbnail-container {
position: relative;
cursor: pointer;
display: inline-block;
}
.play-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 20px;
background-color: rgba(0, 0, 0, 0.6);
border-radius: 50%;
padding: 5px 8px;
transition: background-color 0.3s ease;
}
.video-thumbnail-container:hover .play-icon {
background-color: rgba(0, 0, 0, 0.8);
}
.try-demo-btn {
font-size: 14px;
font-weight: 500;
border: 1px solid #ccc;
background: #fff;
color: #555;
transition: all 0.2s ease-in-out;
}
.try-demo-btn:hover {
border-color: #999;
background: #f9f9f9;
color: #333;
}
.payment-icons {
display: flex;
align-items: center;
gap: 12px;
}
.payment-icon-svg {
display: flex;
justify-content: center;
align-items: center;
width: 44px;
height: 35px;
max-width: 50px;
background: #fff;
border-radius: 4px;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
padding: 2px;
}
.payment-icon-svg.discover img {
max-width: 36px;
/* tweak until visually consistent */
}
.payment-icon-svg img {
width: auto;
height: 35px;
max-width: 50px;
object-fit: contain;
}
.payment-icon-svg img {
width: auto;
height: 35px;
max-width: 50px;
object-fit: contain;
}
.keyword-tag {
background-color: #f8f9fa;
color: #495057;
padding: 4px 8px;
border-radius: 15px;
font-size: 13px;
transition: background 0.2s;
}
.keyword-tag:hover {
background-color: #ff7f50;
color: #fff;
}
.best-discount-notice {
background-color: #fff5f0;
/* light coral tint */
border: 1px solid #ffd6c2;
/* subtle border */
color: #d85a2b;
/* darker shade for text contrast */
font-weight: 600;
border-radius: 6px;
padding: 8px 12px;
margin-top: 8px;
display: inline-block;
}
.best-discount-notice::before {
content: "🎉 ";
}
@keyframes bounce {
0%,
100% {
transform: translateY(0);
}
50% {
transform: translateY(-5px);
}
}
/* Hidden tiers */
.tier-hidden {
display: none;
}
